Скачиваний:
30
Добавлен:
30.09.2023
Размер:
1.76 Mб
Скачать

Стартовая строка

ЗАПРОС <Метод> <URI> HTTP/<Версия>

Метод последовательность из любых символов кроме управляющих и разделителей, указывающая на основную операцию над ресурсом Версия пара разделённых точкой арабских цифр. Например: 1.0.

ОТВЕТ

HTTP/<Версия> <КодСостояния> <Пояснение>

Версия пара разделённых точкой арабских цифр. КодСостояния – определяет дальнейшее содержимое сообщения и поведение клиента.

Пояснение – текстовое короткое пояснение к коду состояния. Никак не влияет на сообщение и является необязательным.

Методы HTTP

OPTIONS

Определение возможностей веб-сервера или параметров соединения для конкретного ресурса. Проверка работоспособности сервера.

GET

Запрос содержимого указанного ресурса.

Клиент может передавать параметры выполнения запроса в URI целевого ресурса после символа «?»:

GET /path/resource?param1=value1&param2=value2 HTTP/1.1

HEAD

Запрос заголовка указанного ресурса.

Методы HTTP

POST

Передача пользовательских данных заданному ресурсу. Передаваемые данные включаются в тело запроса.

PUT

Загрузка содержимого запроса на указанный в запросе ресурс.

PATCH

Аналогично PUT, но применяется только к фрагменту ресурса.

DELETE

Удаляют указанный ресурс.

Методы HTTP

TRACE

Возвращает полученный запрос так, что клиент может увидеть, что промежуточные сервера добавляют или изменяют в запросе.

CONNECT

Для использования вместе с прокси-серверами, которые могут динамически переключаться в туннельный режим SSL.

LINK

Устанавливает связь указанного ресурса с другими.

UNLINK

Убирает связь указанного ресурса с другими.

Коды состояния HTTP

1xx Informational - информация о процессе передачи.

2xx Success - информирование о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.

3xx Redirection - сообщают клиенту что для успешного выполнения операции нужно произвести следующий запрос к другому URI.

4xx Client Error - указание ошибок со стороны клиента.

5xx Server Error - случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

Заголовки HTTP

General Headers (Основные заголовки) — должны включаться в любое сообщение клиента и сервера.

Cache-Control – управление кэшированием запросов/ответов Connection – управление соединением

Date – текущие время и дата

Pragma – пользовательские директивы Transfer-Encoding – схема кодирования HTTP-сообщения Upgrade – возможность смены версии протокола

Заголовки HTTP

Request Headers (Заголовки запроса) — используются только в запросах клиента.

Accept – ограничение типа принимаемых данных Accept-Charset – ограничение кодировки Accept-Encoding – ограничение систем кодирования Accept-Language – языковые ограничения Authorization – информация для авторизации

From – e-mail владельца веб-клиента, отправившего данный запрос

Host – адрес запрашиваемого ресурса User-Agent – информация о клиентском ПО If-Match – проверка на совпадение сущностей

Заголовки HTTP

Response Headers (Заголовки ответа) — только для ответов от сервера.

Accept-Ranges – частичный запрос ресурса Age – время (сек) после получения ответа ETag – идентификация сущности

Location - URI перенаправления запроса Proxy-Authenticate – схема и параметры аутенфикации

для прокси-сервера

Retry-After – время ожидания перед повторным запросом Server – информация о серверном ПО

Заголовки HTTP

Entity Headers (Заголовки сущности) — сопровождают каждое сообщение – представляют информацию, передаваемую в виде вложения в запрос или ответ.

Allow – список поддерживаемых сервисов сервера Content-Encoding – указание кодировки содержимого Content-Language – язык содержимого Content-Length – длина содержимого в байтах Content-Location – относительный URI

Content-MD5 - ключ алгоритма шифрования Content-Range – диапазоны фрагментов содержимого Content-Type – тип содержимого (MIME)

Expires – дата и время истечения «срока годности» ответа Last-Modified – дата и время последнего изменения

Особенности HTTP

HTTP устанавливает отдельную TCP-сессию на каждый запрос. В более поздних версиях HTTP было разрешено делать несколько запросов в ходе одной TCP-сессии, но браузеры обычно запрашивают только страницу и включённые в неё объекты (картинки, каскадные стили и т. п.), а затем сразу разрывают TCP-сессию.

Позволяет однозначно определить тип передаваемых данных (Content-Type: тип/подтип)

Возможность обратной связи c ресурсом на сервере (формы HTML)

Соседние файлы в папке lektsii_seti