Скачиваний:
0
Добавлен:
04.02.2026
Размер:
221.68 Кб
Скачать

Структура http запроса

HTTP запрос состоит из четырёх частей:firstvds+2

1. Стартовая строка (Request Line)

text

Формат: METHOD URI HTTP/VERSION

Пример: GET /index.html HTTP/1.1

Компоненты:

- METHOD: HTTP метод (GET, POST, PUT, DELETE и т.д.)

- URI: Унифицированный идентификатор ресурса (/index.html)

- VERSION: Версия протокола (HTTP/1.1 или HTTP/2)

2. Заголовки запроса (Request Headers)

text

Формат: Header-Name: Header-Value

Примеры:

Host: www.example.com ← адрес сервера

User-Agent: Mozilla/5.0 ... ← информация о браузере

Accept: text/html, */* ← какой формат принимать

Accept-Language: en-US, en ← язык

Cookie: session_id=123456 ← cookies сеанса

Content-Type: application/json ← тип данных в теле (для POST)

Content-Length: 256 ← размер тела запроса

Authorization: Bearer token... ← аутентификация

Cache-Control: no-cache ← контроль кэширования

3. Пустая строка

text

Разделяет заголовки от тела запроса

4. Тело запроса (Message Body) — опционально

text

Используется при POST, PUT, PATCH методах

Пример для POST:

name=Alice&email=alice@example.com&message=Hello+World

Пример для JSON:

{

"name": "Alice",

"email": "alice@example.com",

"message": "Hello"

}

При GET методе тело обычно отсутствует

Пример полного HTTP запроса

text

GET /search?q=network HTTP/1.1

Host: www.google.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)

Accept: text/html,application/xhtml+xml,*/*

Accept-Encoding: gzip, deflate

Accept-Language: en-US,en;q=0.9

Cookie: NID=511=abcdef123456

Connection: keep-alive

(пустая строка, нет тела для GET)

Структура HTTP ответа

HTTP ответ состоит из четырёх частей:habr+2

1. Строка статуса (Status Line)

text

Формат: HTTP/VERSION STATUS-CODE REASON-PHRASE

Пример: HTTP/1.1 200 OK

Компоненты:

- VERSION: Версия протокола (HTTP/1.1)

- STATUS-CODE: Код статуса (200, 404, 500 и т.д.)

- REASON-PHRASE: Описание (OK, Not Found, Internal Server Error)

Категории кодов статуса:

1xx (100-199) — Информационные (редко используются)

2xx (200-299) — Успешные

3xx (300-399) — Редирект

4xx (400-499) — Ошибки клиента

5xx (500-599) — Ошибки сервера

Распространённые коды статуса:

Код

Причина

Описание

200

OK

Успешно, ресурс найден и отправлен

201

Created

Ресурс успешно создан

301

Moved Permanently

Ресурс переместился на постоянный новый URL

302

Found

Временное перенаправление

304

Not Modified

Кэшированная версия актуальна

400

Bad Request

Неправильный синтаксис запроса

401

Unauthorized

Требуется аутентификация

403

Forbidden

Доступ запрещён

404

Not Found

Ресурс не найден

429

Too Many Requests

Слишком много запросов (rate limit)

500

Internal Server Error

Ошибка на сервере

503

Service Unavailable

Сервис недоступен (обслуживание)

Соседние файлы в предмете Открытые информационные системы и сети