Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные принципы обработки запросов и генерации ответов.






Запрос - это сообщение, посылаемое клиентом серверу. Первая строка этого сообщения включает в себя метод, который должен быть применен к запрашиваемому ресурсу, идентификатор ресурса и используемую версию протокола.

Запрос = Простой-Запрос | Полный-Запрос

Простой-Запрос = " GET" SP Запрашиваемый-URI CRLF

Полный-Запрос = Строка-Статус

*(Общий-Заголовок | Заголовок-Запроса | Заголовок-Содержания) CRLF

[ Содержание-Запроса ]

Строка Статус начинается со строки с названием метода, за которым следует URI-Запроса и использующаяся версия протокола. Строка Статус заканчивается символами CRLF.

Строка-Статус = Метод SP URI-Запроса SP Версия-HTTP CRLF

Метод

В поле Метод указывается метод, который должен быть применен к ресурсу, идентифицируемому URI-Запроса. Названия методов чувствительны к регистру. Существующий список методов может быть расширен.

Метод = " GET" | " HEAD" | " PUT" | " POST" | " DELETE" | " LINK" | " UNLINK" | дополнительный-метод

Ответ (Response).

После получения и интерпретации сообщения запроса, сервер отвечает сообщением HTTP ответа.

Response = Status-Line

*(general-header

| response-header

| entity-header)

CRLF

[ message-body ]

Строка состояния (Status-Line).

Первая строка ответа - это строка состояния (Status-Line). Она состоит из версии протокола (HTTP-Version), числового кода состояния (Status-Code) и поясняющей фразы (Reason-Phrase), разделенных символами SP. CR и LF не допустимы в Status-Line, за исключением конечной последовательности CRLF.

Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

Код состояния и поясняющая фраза.

Элемент код состояния (Status-Code) - это целочисленный трехразрядный код результата понимания и удовлетворения запроса. Эти коды полностью определены в разделе 10. Поясняющая фраза (Reason-Phrase) предназначена для короткого текстового описания кода состояния. Код состояния (Status-Code) предназначен для использования автоматами, а поясняющая фраза предназначена для живых пользователей. От клиента не требуется исследовать или отображать поясняющую фразу (Reason-Phrase).

Первая цифра кода состояния определяет класс ответа. Последние две цифры не имеют определенной роли в классификации. Имеется 5 значений первой цифры:

1xx: Информационные коды - запрос получен, продолжается обработка.

2xx: Успешные коды - действие было успешно получено, понято и обработано.

3xx: Коды перенаправления - для выполнения запроса должны быть предприняты дальнейшие действия.

4xx: Коды ошибок клиента - запрос имеет плохой синтаксис или не может быть выполнен.

5xx: Коды ошибок сервера - сервер не в состоянии выполнить допустимый запрос.

Поля заголовка ответа.

Поля заголовка ответа (response-header fields) позволяют серверу передавать дополнительную информацию, касающуюся ответа, которая не может быть помещена в строку состояния Status-Line. Эти поля заголовка дают информацию о сервере и о дальнейшем доступе к ресурсу, указанному этим Request-URI.

response-header = Age

| Location

| Proxy-Authenticate

| Public

| Retry-After

| Server

| Vary

| Warning

| WWW-Authenticate

Объект (Entity).

Сообщения запросов и ответов МОГУТ передать объект, если иное не установлено методом запроса или кодом состояния ответа. Объект состоит из полей заголовка объекта (entity-header) и тела объекта (entity-body), хотя некоторые ответы могут включать только заголовки объекта (entity-headers).

Этот раздел относится как к отправителю, так и к получателю, то есть к клиенту или серверу, в зависимости от того, кто посылает, а кто получает объект.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.