Суть протокола http
Hyper Text Transfer Protocol
HTTP — протокол доставки гипертекстовых документов. Он реализует функционирование сети и является его базой для передачи данных. На сегодня все методы просмотра страниц в Internet должны соответствовать спецификации HTTP/1.1, который был представлен в июне 1999 г.
Любой стандарт связанный с Internet записан в виде RFC-документов. Главным разработчиком процедурных правил и алгоритмов можно признать Тима Брнернерс-Ли, который участвовал в создании всех версий протокола HTTP, начиная с HTTP/0.9.
Схема выдачи и запроса выглядит следующим образом. Браузер посылает HTTP запрос веб-серверу с указанием адреса на документ. Веб-сервер анализирует запрос и выдает этот документ. Такое взаимодействие прозрачно для пользователя, он может смотреть за процессом смотря на строку состояния браузера. Традиционно страничка начинает появляться на мониторе только когда страничка полностью загрузится в память компьютера.
Протокол HTTP описывает алгоритм действий клиентского ПО (браузер) в момент запроса. Браузеры могут записывать специальные поля в заголовке HTTP-запроса, для того, что бы сервер присылал документ только тогда, когда документ устарел. Также они управляют кэшированием данных в промежуточных прокси-серверах. Пример HTTP-запроса, который посылается браузером открытым текстом по ТСР-каналу:
GET /index.shtml HTTP/1.1 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) Host: thermo.karelia.ru Connection: Keep-Alive Cookie: voted=21; uid=45639
В нем идет запрос index.shtml — главная страница сервера thermo.karelia.ru. При этом указано:
- версия HTTP
- возможность defate и gzip — компрессии
- имя Web-сервера
- правило поддержания соединения
- файл персонализации который был получен ранее
Web-сервер должен отреагировать на такой запрос. Он либо отправит запрашиваемый документ, либо создаст пакет ошибки. Если этих двух действий не произойдет, то браузер через некоторое время закроет соединения, и покажет пользователю что сервер не доступен.
Что бы создать веб-серверу самый простой запрос, достаточно создать tcp-соединение с 80 портом серверу. и послать к примеру (скорее всего сервер выдаст ошибку):
GET / HTTP/1.1 и нажать два раза Enter ()
Смотрите также: