Back to questions
Middle
5
Как устроен HTTP/1.x: запрос, ответ, заголовки, тело, отсутствие состояния?
Companies where asked
fabriqeue
Answer from AI
sobes.tech AI
HTTP/1.x — это протокол передачи гипертекста, основанный на модели запрос-ответ.
Запрос: клиент отправляет запрос на сервер, который состоит из:
- Стартовой строки (метод, URI, версия протокола), например:
GET /index.html HTTP/1.1 - Заголовков (ключ: значение), например:
Host: example.com - Пустой строки, отделяющей заголовки от тела
- Тела (опционально), например, данные формы при POST
Ответ: сервер отвечает аналогичной структурой:
- Стартовая строка с кодом состояния, например:
HTTP/1.1 200 OK - Заголовки
- Пустая строка
- Тело ответа (например, HTML-страница)
Заголовки передают метаинформацию, например, тип содержимого (Content-Type), длину тела (Content-Length), куки и др.
Отсутствие состояния: HTTP/1.x — статeless протокол, то есть каждый запрос обрабатывается независимо, сервер не хранит информацию о предыдущих запросах. Для сохранения состояния используются механизмы, например, куки или сессии.
Пример запроса:
GET /page HTTP/1.1
Host: example.com
User-Agent: curl/7.68.0
Пример ответа:
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 125
<html>...</html>