faq of Ru.html.Chainik


правила · список вопросов · преамбула · обратная связь

1. Вопросы от общего незнания.

1.1. Что такое HTML?

Для установления соединения с удаленным сервером используется сетевой адрес документа. Этот адрес зовется универсальным указателем ресурса - URL (Uniform Resource Locator). В ответ сервер посылает документы, чаще всего в формате HTML.

Можно считать, что в нормальных условиях после запуска программы-браузера и ее подключения к серверу последовательно происходит шесть событий:

  1. На стороне пользователя браузер декодирует заданный URL и подключается к серверу.
  2. Браузер требует от сервера предоставить необходимый документ.
  3. Сервер преобразует переданную ему часть URL в имя файла и путь к нему или запускает на выполнение ту или иную программу для обработки запроса.
  4. Сервер отсылает найденный файл документа или оформленный в виде документа результат обработки запроса на компьютер пользователя.
  5. Сервер разрывает установленное соединение.
  6. Браузер на компьютере пользователя отражает полученный документ.

HTML - HyperText Markup Language - язык разметки гипертекста. Документы на языке HTML позволяют пользователю, указав на выделенное слово или фразу, получить доступ к файлу или перейти на другой HTML-документ, который связан с указанным участком текста гиперссылкой. Такие гипертекстовые связи между файлами и документами, расположенными на серверах по всему миру, позволяют системе работать так, как будто она представляет собой огромную паутину информации.

HTML - _не_язык_верстки_! Это средство логической разметки, и не пытайтесь располагать ваши элементы в определенных позициях и определенных местах. У вашего клиента нет размера экрана, нет размера браузера, нет цветов и нет звуковой карты.

1.2. Что такое XML?

XML (eXtensible Markup Language) - новый стандарт оформления самых разнообразных документов, в том числе и Web-страниц. Уникальность XML заключается в его неограниченной расширяемости в силу четкой структурированности данных, возможности определения своих тегов и т.д. Более подробное обсуждение XML ведется в конференции RU.XML.

1.3. Что такое XHTML?

XHTML - это основанный на XML язык разметки гипертекста, максимально приближенный к текущим стандартам HTML. Применяется, как язык разметки, переходный от HTML к XML.

1.4. Что такое WML?

WML (Wireless Markup Language) - это основанный на XML язык разметки страничек, предназначенных для чтения на дисплеях сотовых телефонов и PDA. Отличается компактностью конструкций. Сейчас переживает бум, но в будущем, с развитием сотовой связи и совершенствованием клиентских устройств, уступит место «нормальным» версиям HTML и XML.

1.5. Что такое CSS?

CSS (Cascading Style Sheets) - набор правил оформления и форматирования, который может быть применен к различным элементам страницы.

В HTML ранних версий для присвоения какому-либо элементу определенных свойств (таких, как цвет, размер, положение на странице и т. п.) приходилось каждый раз описывать эти свойства, даже если на одной страничке должны располагаться 10 или 110 таких элементов, ничуть не отличающихся один от другого. Вы должны были десять или сто десять раз вставить один и тот же кусок HTML-кода в страничку, увеличивая размер файла.

CSS действует другим, более удобным и экономичным способом. Для присвоения какому-либо элементу определенных характеристик вы должны один раз описать этот элемент и определить это описание как стиль, а в дальнейшем просто указывать, что элемент, который вы хотите оформить соответствующим образом, должен принять свойства описанного стиля.

CSS1 понимают все браузеры, начиная с четвертых версий, правда, NN4 имеет некоторые особенности в интерпретации стилей, которые нужно знать. Поддержка CSS2 на хорошем уровне реализована только в Mozilla/NN6 и Opera 6, IE, даже 6 версии, не понимает синтаксиса и многих свойств CSS2.

1.6. Что такое SSI?

SSI (Server Side Includes) - включения на стороне сервера. С помощью SSI можно не только в зависимости от некоторых условий выводить определенные части документа, не только формировать документ из заранее определенных кусочков, но и вставлять результат работы некоторого CGI сценария или программы прямо в документ.

Если у вас не работают конструкции SSI, то попробуйте сменить расширение файла, где они используются, на .shtml, или поройтесь в конфигурации сервера.

1.7. Что такое CGI?

Common Gateway Interface - стандартный шлюзовый интерфейс. Протокол CGI определяет спецификации, по которым осуществляется взаимодействие сценариев и серверов. Браузеры непосредственно не взаимодействуют с CGI.

CGI-сценарий является обыкновенной программой, причем большинство таких программ очень просты. Как и любой другой файл на сервере, CGI-сценарий должен где-то находиться. Некоторые типы серверов требуют размещения всех CGI-сценариев в одном специализированном каталоге. Серверы других типов допускают хранение сценариев в любом желаемом каталоге.

CGI-сценарии могут быть как двоичным кодом, написанным на C, C++ или Fortran, так и интерпретируемыми скриптами (Perl, Python, Tcl). Двоичный код работает быстрее, но скрипты обладают большей гибкостью и переносимостью.

Более подробно обо всем этом можно узнать в конференциях ветки RU.CGI.*.

1.8. Что такое PHP?

PHP (Personal Home Pages) - свободно распространяемая разработка для обработки HTML запросов на сервере, т.е. файл проходит сначала через серверный интерпретатор, а затем уже идет клиенту. Синтаксис внутреннего языка похож на JavaScript и немного на Perl. Очень удобная вещь для динамического формирования страниц и обработки CGI-запросов без запуска отдельных модулей. Реализовано для Apache и MS IIS.

Чтобы узнать о PHP больше, подпишитесь на конференции RU.PHP.*.

1.9. Что такое ASP?

ASP (Active Server Pages) - разработка Microsoft, по механизму работы очень похожая на PHP. Основные языки - VBScript и JScript. Реализовано для MS IIS и Apache. Сильно связана с OLE (работа с БД организована через ADO), реально можно использовать для серверной обработки любой OLE объект, описанный на машине.

ASP обсуждаются в конференциях RU.VBSCRIPT, RU.WINDOWS.NT.BACKOFFICE.

1.10. Что такое Flash и SVG?

Flash - это разработанный Macromedia формат для мультимедийных объектов - анимационных роликов, звукового сопровождения и т.п. Распространяется, как подключаемый к браузеру модуль (plug-in). Получил широкое распространение в настоящее время, поскольку позволяет в компактном объеме данных описывать сложные анимации и оперировать векторными объектами. Однако будущее Flash сомнительно - он является закрытым стандартом, и, по-видимому, будет вытесняться открытым, более удобным и гибким форматом SVG.

Подробности о Flash можно узнать в конференциях RU.FLASH, RU.MACROMEDIA.

SVG (Scalable Vector Graphics) - основанный на XML язык описания векторных графических объектов с возможностью введения анимации и включения мультимедийных данных. В настоящее время существует как plug-in, но в обозримом будущем, вероятно, интерпретацию SVG смогут осуществлять сами браузеры, без загрузки дополнительных модулей.

Подробнее об этом формате можно узнать в RU.XML.

1.11. Что такое VRML?

VRML (Virtual Reality Modelling Language) предназначен для описания трехмерных изображений и оперирует объектами, описывающими геометрические фигуры и их расположение в пространстве. VRML-файл представляет собой обычный текстовый файл, интерпретируемый браузером. Поскольку большинство браузеров не имеет встроенных средств поддержки VRML, для просмотра VRML-документов необходимо подключить вспомогательную программу - VRML-браузер.

Один и тот же VRML-документ может выглядеть по-разному в разных браузерах. Многие разработчики браузеров добавляют нестандартные расширения VRML.

1.12. Что такое Java?

Java - объектно-ориентированный язык программирования, разработаннный Sun Microsystems. Ему нужны компиляторы и служебные файлы для функционирования. Программы, разработанные на JDK (Java Development Kit), могут работать


1.13. Что такое JavaScript, JScript и ECMAScript?

JavaScript был разработан Netscape. Он «родственник» Java, только содержит меньший и более простой, немного измененный, набор команд. Структура JavaScript и его синтаксис подобен Java, но JavaScript функционален только когда включен как часть HTML страницы (на это указывает и его название «ЯваСценарий»). Вы не можете разрабатывать автономные прикладные программы на JavaScript. Он может использоваться а) в виде сценария внутри HTML в браузере, совместимом с Netscape 2.0, и б) как сценарий, исполняемый поддерживающим такие сценарии сервером.

JScript был «разработан» Microsoft. Функционально это тоже самое, что и JavaScript. Названия разные из-за того, что JavaScript был уже запатентован Netscape к тому времени, как Microsoft решила встроить в свой броузер поддержку JavaScript. Вторая причина в том, что JScript не полностью следует спецификации Netscape, и эти отличия дают немало радостных минут тем, кто заботится о поддержке всех клиентских агентов.

Чтобы упорядочить языки клиентских скриптов, был разработан стандарт ECMAScript. В него вошли наиболее общие определения синтаксиса и встроенных объектов JavaScript и JScript.

Наиболее употребительная версия JavaScript на сегодняшний момент времени - 1.3, ее понимают NN4, Mozilla/NN6, IE4+ (с небольшими глюками) и Opera 5+ (с серьезными глюками)

Подробнее о JavaScript можно узнать в конференции RU.JAVASCRIPT.

1.15. Что такое VBScript?

Это язык клиентских и серверных скриптов, разработанный Microsoft на основе Visual Basic. Печально известен «благодаря» огромному количеству написанных на нем макровирусов и почтовых червей. Hеплох, как язык программирования ASP-страничек, но категорически не рекомендуется в качестве языка для клиентских скриптов, поскольку понимается только IE и содержит немало «дыр» в плане безопасности.

VBScript обсуждается в конференции RU.VBSCRIPT.

1.16. Что такое DOM и DHTML?

DHTML (Dynamic HTML)- это расширения, примененные Netscape и Microsoft в четвертых версиях соответствующих браузеров для того, чтобы можно было динамически, с помощью JavaScript, изменять вид странички - показывать или скрывать те или иные элементы, перемещать их, менять цвет фона и т.п. Однако объектные модели, используемые в IE4 и NN4 очень плохо совместимы друг с другом, и поэтому один и тот же скрипт приходилось писать дважды - отдельно под каждый браузер.

Чтобы преодолеть это ограничение, а также добавить более тесную интеграцию с XML и CSS, W3C был разработан стандарт DOM (Document Object Model), который должны понимать все новые браузеры. С помощью DOM можно свободно добавлять, изменять и удалять любые элементы на странице, как угодно манипулировать их стилями и т.д. DOM Level 1 превосходно понимает Mozilla/NN6 и неплохо понимает IE5+, Opera, к сожалению, поддерживает этот стандарт неудовлетворительно. Поддержка DOM Level 2 пока более или менее приемлемо реализована только в Mozilla и NN6.1+

1.17. Что такое по-настоящему крутая HTML-страничка?

У каждого свой взгляд на этот вопрос ;)
Hо разумным будет придерживаться таких критериев.

Страничка должна:

  1. Соблюдать стандарты HTML.
  2. Идеально, практически неотличимо выглядеть и функционировать в Mozilla/NN6 и IE5+ и, с очень небольшими огрехами, в NN4, IE4 и Opera 5+.
  3. Хорошо выглядеть и быть функциональной в NN3, IE3 и Opera 3-4.
  4. Хорошо читаться и сохранять функциональность в Lynx и Links.
  5. Хорошо смотреться и быть полностью функциональной при отключении картинок и стилей.
  6. Хорошо смотреться, удобно читаться и не вызывать появления горизонтального скроллинга в разрешениях от 640x480 до 1600x1200.
  7. Cохранять функциональность в полном объеме при отключении скриптов, Java-апплетов и Flash.
  8. Иметь компактный объем, учитывая графику.

1.18. Люди, протестируйте мою страничку на правильность!

Существуют типовые ошибки, которых легко избежать.

Сначала определите, для кого вы делаете вашу страничку. Если для тех посетителей, которые пользуются разными браузерами, то проверьте ее в разных браузерах. Если для тех, кто работает в разных разрешениях, то проверьте ее при разных разрешениях.

Никогда не пользуйтесь:

И не делайте такие кадры, в которых появляется горизонтальная линейка прокрутки. Это очень неудобно.

Теперь вспомните, что язык HTML четко описан в стандарте, и проверьте, сколько раз вы нарушили стандарт. Для этого существуют валидаторы, см. 1.19.

Наконец, если вы делаете страничку только для себя и не собираетесь ее никому показывать, можно ничего не проверять.

1.19. Что такое валидатор?

Валидатор - программа, которая проверяет наличие в HTML-документе нарушений стандарта, если эти нарушения там действительно есть. Поэтому валидатором НЕ может считаться программа, которая обращается не к стандарту, в котором написан HTML-документ, а к каким-то своим настройкам. Посмотрите здесь:

http://validator.w3.org
ftp://ftp.jclark.com

1.20. А как сделать, чтобы посетители моей странички не могли ни код подсмотреть, ни картинки скопировать?

Просто не допускайте к ней посетителей.

1.21. Каким уродам нужно что-то еще, кроме замечательного Микрософт Интернет Эксплорера? Да все ваши убогие браузеры не поддерживают даже ActiveX компонент!

Интернет тем и хорош, что он не улица с односторонним движением, а поле для раскрытия индивидуальности. Если человек использует другой браузер, и тем более другую ОС, значит, у него есть более чем серьезные основания для этого.

По статистике, чем выше профессиональный и культурный уровень юзера, тем реже он использует MSIE. И затачивая свои странички только под эту бродилку, вы теряете пусть не самую большую, но весьма влиятельную аудиторию.

1.22. Чтобы по ссылке исполняемый файл не скачивался на диск, а сразу запускался на компьютере пользователя?

Hикак. Hормальный человек не захочет без проверки запускать на своем компьютере неизвестно какой исполняемый файл, ведь исполняемый файл может совершить весьма неприятные операции или внести вирус или троян.

Если вас этот ответ не устраивает, напишите в RU.HACKER ;)


правила · список вопросов · преамбула · обратная связь · наверх


По материалам эхоконференции RU.HTML.CHAINIK (news://fido7.ru.html.chainik)