ВУЗ:
Составители:
Рубрика:
12
Если протокол поддерживает состояние (stateful), как протоколы
FTP, SMTP и POP, то последовательность связанных команд (сообще-
ний запросов) обрабатывается, как одно взаимодействие. В этом случае,
сервер должен поддерживать “состояние” данного взаимодействия с
клиентом в течение всего времени передачи сообщений (сеанса связи),
до прекращения взаимодействия (завершения сеанса связи). Последова-
тельность передаваемых и обрабатываемых сообщений называется се-
ансом (session) работы клиента.
В отличие от таких протоколов, каждый обмен HTTP сообщениями
состоит из одного запроса и одного ответа. Таким образом, от HTTP
клиентов и серверов не требуется поддерживать состояние между пере-
даваемыми сообщениями. Однако, для работы web-приложений требу-
ется поддерживать состояния сеансов.
Рассмотрим пример загрузки web-страницы, хранящейся на web-
сервере. Пользователь может вручную напечатать URL адрес в браузе-
ре, или щелкнуть кнопкой мыши по гиперссылке в текущей странице,
показываемой браузером, или выбрать закладку на ранее полученную
страницу. Во всех этих случаях, запрос на посещение конкретного URL
будет преобразован браузером в HTTP запрос, который имеет следую-
щую структуру:
МЕТОД /путь-к-ресурсу HTTP/номер-версии
Имя-заголовка-1: значение
Имя-заголовка-2: значение
[тело запроса, которое может отсутствовать]
Первая строка запроса состоит из трех полей:
первое поле МЕТОД соответствует одному из нескольких поддер-
живаемых методам запроса, главными из которых являются GET и
POST;
второе поле /путь-к-ресурсу соответствует части URL адреса, кото-
рая задает на web-сервере путь к запрашиваемому ресурсу;
третье поле номер-версии соответствует версии протокола HTTP,
который использует клиент (1.0 или 1.1).
После первой строки записывается список HTTP заголовков (head-
ers), за которыми следует пустая строка, часто называемая <CR><LF>
(символы “возврат каретки и завершение строки”). Данная пустая стро-
ка отделяет заголовки запроса от тела запроса. После пустой строки
может быть (хотя и не обязательно) тело запроса, после которого следу-
ет другая пустая строка, указывающая на конец запроса.
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »
