| 
  В этом разделе мы начинаем спецификацию HTML 4.0, начиная с договора между авторами, документами, пользователями и агентами пользователей. 
 Ключевые слова "НУЖНО", "НЕ НУЖНО", "НЕОБХОДИМО", "СЛЕДУЕТ", "НЕ СЛЕДУЕТ", "РЕКОМЕНДУЕТСЯ", "ВОЗМОЖНО" и "НЕОБЯЗАТЕЛЬНО" в этом документе следует интерпретировать, как описано в [RFC2119].  Однако для простоты чтения эти слова в данной спецификации напечатаны не в верхнем регистре.
 Иногда авторы этой спецификации дают рекомендации для пользователей и их агентов.  Эти рекомендации не являются нормативными и соответствие этой спецификации не зависит от их реализации. Эти рекомендации содержатся в выражениях "Мы рекомендуем...", "Эта спецификация рекомендует..." и подобных им.
 4.1 Определения
- Документ HTML
 - Документ HTML - это документ SGML, отвечающий ограничениям, налагаемым данной спецификацией.
 - Автор 
 - Автор - это человек или программа, пишущая или генерирующая документы в формате 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]).
 Примеры в тексте соответствуют строгим определениям типа документа, если пример не относится к элементам или атрибутам, определенным переходным определением типа документа или определением типа документа с кадрами.  Для краткости большая часть примеров в данной спецификации не начинается с объявления типа документа, обязательного для начала любого документа в формате HTML. 
 Фрагменты DTD в определениях элементов приводятся из строгих определений типа документа, кроме элементов, относящихся к кадрам.
 Подробную информацию об использовании строгих, переходных DTD или DTD с кадрами см. в разделе информация о версии HTML.
 
Комментарии в HTML 4.0 DTD не имеют нормативного значения; они используются только для информации.
 Агенты пользователя не должны генерировать инструкции обработки SGML (например, <?full volume>) или комментарии. Подробнее об этой и других возможностях SGML, которые допустимы в HTML, но не поддерживаются широко агентами пользователя, обратитесь к разделу возможности SGML с ограниченной поддержкой.
 
Документы HTML отправляются через Интернет в виде последовательности байтов, сопровождаемой информацией о кодировке (описанной в разделе кодировки символов).  Структура передачи, называемая message entity, определяется [RFC2045]) и [RFC2068]. message entity с типом содержимого "1223-30.html" представляет документ в формате HTML.
 Тип содержимого для документов HTML определяется следующим образом:
 
- Имя типа содержимого:
 - text
 - Имя подтипа содержимого:
 - html
 - Обязательные параметры:
 - нет
 - Необязательные параметры:
 - charset
 - Кодировка:
 - разрешены все кодировки
 - Безопасность:
 - См. замечания о безопасности
 
 
Необязательный параметр "charset" обозначает кодировку символов, используемую для представления документа HTML в качестве последовательности байт. Допустимые значения этого параметра определены в разделе кодировки символов. Хотя этот параметр необязателен, рекомендуется всегда указывать его.
 
 
 |