В этом разделе мы начинаем спецификацию HTML 4.0, начиная с договора между авторами, документами, пользователями и агентами пользователей.
Ключевые слова "НУЖНО", "НЕ НУЖНО", "НЕОБХОДИМО", "СЛЕДУЕТ", "НЕ СЛЕДУЕТ", "РЕКОМЕНДУЕТСЯ", "ВОЗМОЖНО" и "НЕОБЯЗАТЕЛЬНО" в этом документе следует интерпретировать, как описано в [RFC2119]. Однако для простоты чтения эти слова в данной спецификации напечатаны не в верхнем регистре.
Иногда авторы этой спецификации дают рекомендации для пользователей и их агентов. Эти рекомендации не являются нормативными и соответствие этой спецификации не зависит от их реализации. Эти рекомендации содержатся в выражениях "Мы рекомендуем...", "Эта спецификация рекомендует..." и подобных им.
Автор - это человек или программа, пишущая или генерирующая документы в формате HTML. Средство разработки - это отдельный случай автора, а именно программа, генерирующая код HTML.
Мы рекомендуем авторам создавать документы, соответствующие строгому DTD, а не другим DTD, определяемым этой спецификацией. Подробнее о DTD, определенных в HTML 4.0, см. в разделе информация о версии.
Пользователь - это человек, взаимодействующий с агентом пользователя для просмотра, прослушивания или другого использования сгенерированного документа в формате HTML.
Агент пользователя - это любое устройство, интерпретирующее документы в формате HTML. Агенты пользователя включают визуальные браузеры (текстовые и графические), невизуальные браузеры (аудио, Бройля), поисковые машины, прокси и т.д.
Соответствующий агент пользователя для HTML 4.0 - это агент, отвечающий обязательным условиям ("должно") этой спецификации, включая следующие:
Агент пользователя должен избегать наложения произвольных ограничений длины на литералы значений атрибутов (см. подраздел о возможностях в разделе Объявление SGML). Вводную информацию по атрибутам SGML можно получить в разделе определения атрибутов.
Агент пользователя должен гарантировать, что генерация изображения не изменяется в связи с наличием или отсутствием начальных и конечных тэгов, если в HTML DTD указывается, что они не обязательны. Вводную информацию об элементах SGML см. в разделе определения элементов.
Для совместимости с предыдущими версиями мы рекомендуем, чтобы средства интерпретации HTML 4.0 поддерживали HTML 3.2 (см. [HTML32]) и HTML 2.0 (см. [RFC1866]).
Ошибочные состояния
В этой спецификации не определяется, как соответствующие ей агенты пользователя обрабатывают общие ошибочные состояния, включая действия в случае, если они встречают элементы, атрибуты, значения атрибутов или комбинаций, не указанные в этом документе.
Нежелательный элемент или атрибут - это элемент, устаревший вследствие применения новых конструкций. Нежелательные элементы определены справочного руководства и явно помечены как нежелательные. Нежелательные элементы могут устареть в будущих версиях HTML.
Агентам пользователя следует по-прежнему поддерживать нежелательные элементы для обеспечения совместимости с предыдущими версиями.
В определениях элементов и атрибутов явно указано, если они нежелательны.
В этой спецификации содержатся примеры, показывающие, как можно избежать использования нежелательных элементов. В большинстве случаев это зависит от поддержки агентом пользователя таблиц стилей. В общем случае, авторам следует использовать таблицы стилей для получения стилистических эффектов и эффектов форматирования вместо атрибутов представления HTML. Атрибуты представления HTML нежелательны, когда существует альтернатива таблиц стилей (см., например, [CSS1]).
Устаревший элемент или атрибут - это элемент или атрибут, поддержка которых агентами пользователя не гарантируется.
Устаревшие элементы не определяются в этой спецификации, но перечислены в разделе изменений справочного руководства.
HTML 4.0 - это применение SGML, соответствующее международному стандарту ISO 8879 -- Standard Generalized Markup Language SGML (определенному в [ISO8879]).
Подробную информацию об использовании строгих, переходных DTD или DTD с кадрами см. в разделе информация о версии HTML.
Комментарии в HTML 4.0 DTD не имеют нормативного значения; они используются только для информации.
Агенты пользователя не должны генерировать инструкции обработки SGML (например, <?full volume>) или комментарии. Подробнее об этой и других возможностях SGML, которые допустимы в HTML, но не поддерживаются широко агентами пользователя, обратитесь к разделу возможности SGML с ограниченной поддержкой.
Документы HTML отправляются через Интернет в виде последовательности байтов, сопровождаемой информацией о кодировке (описанной в разделе кодировки символов). Структура передачи, называемая message entity, определяется [RFC2045]) и [RFC2068]. message entity с типом содержимого "text/html" представляет документ в формате HTML.
Тип содержимого для документов HTML определяется следующим образом:
Необязательный параметр "charset" обозначает кодировку символов, используемую для представления документа HTML в качестве последовательности байт. Допустимые значения этого параметра определены в разделе кодировки символов. Хотя этот параметр необязателен, рекомендуется всегда указывать его.