Протокол HTTP/1.1

Оглавление
1. Введение. 5
1.1. Назначение 5
1.3 Терминология. 5
2. Общее описание. 8
3. Параметры протокола. 11
3.1 Версия HTTP. 11
3.2 Универсальный Идентификатор Ресурса (URI). 12

3.2.1 Общий синтаксис. 12

3.2.2 HTTP URL. 13

3.2.3 Сравнение URI. 13
3.3 Форматы даты/времени. 14

3.3.1 Полная дата. 14

3.3.2 Разность секунд (delta seconds). 15
3.4 Кодовые таблицы (character sets). 15
3.5 Кодирования содержимого (content codings). 15
3.6 Кодирования передачи (Transfer Codings). 16
3.7 Медиатипы (Media Types). 17

3.7.1 Канонизация и предопределенные значения типа text. 18

3.7.2 Типы Multipart. 19
3.8 Маркеры продуктов (Product Tokens). 19
3.9 Величины качества (Quality Values). 20
3.10 Метки языков (Language Tags). 20
3.11 Метки объектов (Entity Tags). 21
3.12 Единицы измерения диапазонов (Range Units). 21
4. HTTP сообщение (HTTP Message). 22
4.1 Типы сообщений. 22
4.2 Заголовки сообщений. 22
4.3 Тело cообщения. 23
4.4 Длина сообщения. 24
4.5 Общие поля заголовка. 25
5. Запрос (Request). 25
5.1 Строка запроса (Request-Line). 25

5.1.1 Метод (Method). 25

5.1.2 URI запроса (Request-URI). 26

5.2 Ресурс, идентифицируемый запросом. 27

5.3 Поля заголовка запроса. 28
6 Ответ (Response). 28
6.1 Строка состояния (Status-Line). 28

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

6.2 Поля заголовка ответа. 30
7 Объект (Entity). 30
7.1 Поля заголовка объекта. 30
7.2 Тело объекта. 31

7.2.1 Тип. 31

7.2.2 Длина. 32
8 Соединения (Connections). 32
8.1 Постоянные соединения (Persistent Connections). 32

8.1.1 Цель. 32

8.1.2 Общее описание. 32

8.1.2.1 Обсуждение (Negotiation). 33

8.1.2.2 Конвейерная обработка (Pipelining). 33

8.1.3 Прокси-сервера (Proxy Servers). 33

8.1.4 Практические соображения. 34

8.2 Требования к передаче сообщений. 34
9 Определения методов. 36
9.1 Безопасные и идемпотентные методы. 36

9.1.1 Безопасные методы. 36

9.1.2 Идемпотентные методы. 37
9.2 OPTIONS. 37
9.3 GET. 38
9.4 HEAD. 38
9.5 POST. 38
9.6 PUT. 39
9.7 DELETE. 40
9.8 TRACE. 41
10 Определение кодов состояния. 41
10.1 1xx - Информационные коды. 41
10.1.1 100 Продолжать, Continue. 41
10.1.2 101 Переключение протоколов, Switching Protocols 42
10.2 2xx - Успешные коды. 42

10.2.1 200 OK. 42

10.2.2 201 Создан, Created. 42

10.2.3 202 Принято, Accepted. 43

10.2.4 203 Не авторская информация, Non-Authoritative Information. 43

10.2.5 204 Нет содержимого, No Content. 43

10.2.6 205 Сбросить содержимое, Reset Content. 43

10.2.7 206 Частичное содержимое, Partial Content. 44
10.3 3xx - Перенаправление. 44

10.3.1 300 Множественный выбор, Multiple Choices. 44

10.3.2 301 Постоянно перемещен, Moved Permanently. 45

10.3.3 302 Временно перемещен, Moved Temporarily. 45

10.3.4 303 Смотреть другой, See Other. 45

10.3.5 304 Не модифицирован, Not Modified. 46

10.3.6 305 Используйте прокси-сервер, Use Proxy. 46

10.4 4xx - Коды ошибок клиента. 47

10.4.1 400 Испорченный Запрос, Bad Request. 47

10.4.2 401 Несанкционированно, Unauthorized. 47

10.4.3 402 Требуется оплата, Payment Required. 47

10.4.4 403 Запрещено, Forbidden. 47