зависящие от реализации команды, касающиеся
Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого
В теле сообщения содержится собственно передаваемая информация – полезная нагрузка сообщения. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.
Сообщение запроса от клиента к серверу состоит из строки запроса (request-line), заголовков (общих, запросов, объекта) и, возможно, тела сообщения. Строка запроса начинается с метода, затем следует идентификатор запрашиваемого ресурса, версия протокола и завершающие символы конца строки:
<Метод> <Идентификатор> <Версия HTTP>
Метод указывает команду протокола HTTP, которую нужно применить к запрашиваемому ресурсу. Например, метод GET говорит о том, что клиент хочет получить содержимое ресурса. Идентификатор определяет запрашиваемый ресурс. Версия HTTP обозначается строкой следующего вида:
HTTP/<версия>.<подверсия>
В RFC 2068 представлен протокол HTTP/1.1.
Рассмотрим основные методы протокола HTTP.
RFC 2068
За строкой состояния следуют заголовки (общие, ответа и объекта) и, возможно, тело сообщения.
Одной из важнейших функций сервера Web является предоставление доступа к части локальной файловой системы. Для этого в настройках сервера указывается некоторая директория, которая является корневой для данного сервера Web. Чтобы опубликовать документ, то есть сделать его доступным пользователям, "посещающим" данный сервер (осуществляющим с ним соединение по протоколу HTTP), нужно скопировать этот документ в корневую директорию Web-сервера или в одну из ее поддиректорий. При соединении по протоколу HTTP на сервере создается процесс с правами пользователя, как правило, не существующего реально, а специально созданного для просмотра ресурсов сервера. Настраивая права и разрешения данного пользователя, можно управлять доступом к ресурсам Web.
Средством разработки и описания языков разметки, подобных HTML, является язык SGML (Standard Generalized Markup Language – обобщенный язык разметки). Каждая конструкция данного языка заключается между специальными скобками: "<!" и ">". В языке HTML могут присутствовать конструкции языка SGML, которые браузер должен пропускать. Для указания версии языка HTML, на котором написан документ, следует поместить в первую строку этого документа конструкцию DOCTYPE языка SGML с указанием типа документа и URI реализации версии HTML. Для HTML версии 4.0 эта строка выглядит следующим образом:
<!DOCTYPE HTML PUBLIC "–//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
Внутри конструкций языка SGML можно помещать комментарии, заключенные между символами "--". Данные комментарии можно использовать и в языке HTML, поскольку последний пропускает конструкции SGML. Для HTML комментарии будут выглядеть следующим образом:
<!-- Текст комментария (возможно многострочный) -->
Подробную информацию о конструкциях языка SGML можно найти в ISO 8879.
Начиная с версии 4.0, в HTML поддерживаются фреймы. Фреймы позволяют отображать в одном окне навигатора несколько независимых документов. Будем считать фреймом рамку вокруг содержимого документа – окна. Окно может быть разбито на несколько частей. При этом каждая часть будет иметь свою собственную рамку – фрейм, имеющий собственное содержимое – окно. Таким образом, в любом фреймовом документе имеется иерархия фреймов и окон.