|
Протокол HTTPHTTP (HyperText Transfer Protocol - протокол передачи гипертекста) был разработан как основа World Wide Web. Работа по протоколу HTTP происходит следующим образом: программа-клиент устанавливает TCP-соединение с сервером (стандартный номер порта-80) и выдает ему HTTP-запрос. Сервер обрабатывает этот запрос и выдает HTTP-ответ клиенту. Структура HTTP-запроса HTTP-запрос состоит из заголовка запроса и тела запроса, разделенных пустой строкой. Тело запроса может отсутствовать. Заголовок запроса состоит из главной (первой) строки запроса и последующих строк, уточняющих запрос в главной строке. Последующие строки также могут отсутствовать. Запрос в главной строке состоит из трех частей, разделенных пробелами: Метод (иначе говоря, команда HTTP): GET - запрос документа. Наиболее часто употребляемый метод; в HTTP/0.9, говорят, он был единственным. HEAD - запрос заголовка документа. Отличается от GET тем, что выдается только заголовок запроса с информацией о документе. Сам документ не выдается. POST - этот метод применяется для передачи данных CGI-скриптам. Сами данные следуют в последующих строках запроса в виде параметров. PUT - разместить документ на сервере. Насколько я знаю, используется редко. Запрос с этим методом имеет тело, в котором передается сам документ. Ресурс - это путь к определенному файлу на сервере, который клиент хочет получить (или разместить - для метода PUT). Если ресурс - просто какой-либо файл для считывания, сервер должен по этому запросу выдать его в теле ответа. Если же это путь к какому-либо CGI-скрипту, то сервер запускает скрипт и возвращает результат его выполнения. Кстати, благодаря такой унификации ресурсов для клиента практически безразлично, что он представляет собой на сервере. Версия протокола-версия протокола HTTP, с которой работает клиентская программа. Формат HTTP-ответа Формат ответа очень похож на формат запроса: он также имеет заголовок и тело, разделенное пустой строкой. Заголовок также состоит из основной строки и строк параметров, но формат основной строки отличается от таковой в заголовке запроса. Основная строка запроса состоит из 3-х полей, разделенных пробелами: Версия протокола - аналогичен соответствующему параметру запроса. Код ошибки - кодовое обозначение "успешности" выполнения запроса. Код 200 означает "все нормально" (OK). Словесное описание ошибки - "расшифровка" предыдущего кода. Например для 200 это OK, для 500 - Internal Server Error. HTTP протокол HTTP (Hypertext Transfer Protocol) - основной протокол используемый в Web. Несмотря на то что протокол называется протоколом передачи гипертекста (т.е. HTML), на самом деле HTTP протокол может использоваться (и используется) для передачи практически любых данных в сети. Это передача и текста и изображений и файлов. Популярность HTTP связана с несколькими факторами: это использование достаточно универсальной URL адресации, способность передавать любые данные (как от клиента серверу так и наоборот), а также работа в режиме no-line (т.е. предача данных непосредственно между клиентом и сервером, без посредников). HTTP протокол можно назвать дуальным, в том смысле, что в системе клиент-сервер данные могут идти в двух направлениях, и от клиента к серверу и наоборот от сервера к клиенту. Однако сам синтаксис HTTP нацелен именно на передачу данных от клиента к серверу.
|
© gruppa-43im2009 |