Ответ
HTTP ответ состоит из:
- Строка статуса - версия протокола, код статуса и его описание:
HTTP/1.1 200 OK
- Заголовки (Headers) - метаданные ответа в формате
ключ: значение:
Content-Type: text/html; charset=UTF-8
Cache-Control: no-cache
- Тело ответа (Body) - данные, которые сервер отправляет клиенту (может отсутствовать):
<!DOCTYPE html>
<html>
<body>Hello World</body>
</html>
Пример полного ответа:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 27 Mar 2023 12:00:00 GMT
{"message": "Success"}
Заголовки и тело разделяются пустой строкой. Коды статусов бывают: 1xx (информационные), 2xx (успех), 3xx (перенаправления), 4xx (ошибка клиента), 5xx (ошибка сервера).
Ответ 18+ 🔞
Давай разберём эту хуйню, как есть, без соплей. Представь, что сервер — это такой мужик-бариста, а ты ему заказал кофе.
1. Строка статуса — это он тебе сразу в лицо говорит, как дела.
Вот он смотрит на тебя и выдаёт:
HTTP/1.1 200 OK
Перевод: «Ну, брат, всё чётко, держи свой латте, не обосрись».
А мог бы бухнуть 404 Not Found — это как «чё, мудила? Такого напитка у нас нет, иди нахуй».
2. Заголовки — это он тебе начинает пояснять детали.
Content-Type: text/html; charset=UTF-8
Cache-Control: no-cache
Типа: «Слушай, кофе будет в керамической кружке, текст на русском, и, бля, не оставляй его на столе — сразу пей, а то остынет, дурак».
3. Тело ответа — это сам кофе, сука.
<!DOCTYPE html>
<html>
<body>Hello World</body>
</html>
Вот, держи, горячий, ебать. Пей, не обожгись.
А вот полный ответ, как он выглядит в дикой природе:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 27 Mar 2023 12:00:00 GMT
{"message": "Success"}
Смотри: сначала он тебе пафосно объявляет статус, потом сыпет заголовками, как из пулемёта, потом делает паузу (пустая строка — это он взял дыхание, блядь), и наконец выкладывает сам товар — JSON, который по сути своей говорит «всё заебись».
Про коды статусов, чтоб ты не лажал:
- 1xx (информационные) — «Э, погоди, я думаю...».
- 2xx (успех) — «Всё сделал, на, получай, герой».
- 3xx (перенаправления) — «О, а это не тут, иди нахуй вон к тому бариста».
- 4xx (ошибка клиента) — «Сам дурак, неправильно заказал, иди переделывай».
- 5xx (ошибка сервера) — «Я, бля, кофемашину сломал, сорян, заходи позже».
Вот и вся магия, ёпта. Ничего сложного, просто общение на чистом, матерном, цифровом языке.