Малоиспользуемые методы

В первых версиях протокола было определено множество HTTP методов, которые не нашли должного применения. На практике оказалось, что многие функции, возлагавшиеся на эти методы, можно успешно выполнять с помощью POST.

Изменение числа методов доступа отражает практику использования HTTP. Однако, с исторической и методической точек зрения, первые версии протокола представляют несомненный интерес, особенно раздел, описывающий методы доступа. В версии 1993 года насчитывалось 13 различных методов доступа. Среди этих методов были такие, например, как:

  • CHECKOUT — защита от несанкционированного доступа.
  • PUT — замена содержания информационного ресурса.
  • DELETE — удаление ресурса.
  • LINK — создание гипертекстовой ссылки.
  • UNLINK — удаление гипертекстовой ссылки.
  • SPACEJUMP — переход по координатам.
  • SEARCH — поиск.

Из списка видно, что протокол был максимально ориентирован на работу с гипертекстовыми распределенными системами, причем не только с точки зрения потребителя, но и с точки зрения разработчика подобных систем. Однако, во-первых, как показывал опыт, практически не использовались методы доступа, связанные с изменением информации. Это объясняется прежде всего соображениями безопасности. Во-вторых, многие методы были с успехом заменены на функционально аналогичные CGI программы — программы, автоматически генерирующие ресурс, при обращении к определенному URI.

HTTP сообщения

Под сообщениями HTTP понимаются как запросы клиента к серверу, так и ответы сервера клиенту.

И запросы и ответы используют для передачи данных формат, определенный для сообщений электронной почты в RFC 822. Оба типа сообщений состоят из первой строки, некоторого количества полей заголовка, пустой строки и, возможно, тела сообщения.

В общем виде HTTP сообщение можно представить следующим образом:

{первая строка}{имя поля заголовка}: {значение поля заголовка}...{пустая строка}{тело сообщения}

Обязательными элементами HTTP сообщения являются только первая строка и пустая строка.

Запрос

В общем виде HTTP запрос выглядит следующим образом:

{строка запроса}{имя поля заголовка}: {значение поля заголовка}...{пустая строка}{тело сообщения}

Строка запроса состоит из имени метода HTTP, URI запрашиваемого ресурса и версии протокола. URI запрашиваемого ресурса может быть относительным. Строка запроса может выглядеть следующим образом:

GET http://www.w3.org/ HTTP/1.1

Необходимо отметить, что не смотртя на то, что HTTP сообщение может не иметь ни одного поля заголовка, запрос обязательно должен содержать поле заголовка «Host». Это требование было определено в последней версии протокола и обусловлено проблемами, которые возникали ранее при ситуации, когда одна программа-сервер обслуживала запросы для нескольких виртуальных узлов.

Ответ

В общем виде HTTP ответ выглядит следующим образом:

{строка состояния}{имя поля заголовка}: {значение поля заголовка}...{пустая строка}{тело сообщения}

Строка состояния состоит из версии протокола, кода состояния и краткого описания этого кода. Например, она может выглядеть так:

HTTP/1.1 200 OK

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: