И запрос, и ответ состоят из похожих частей.
Запрос содержит: • метод (GET, POST, ...) — что хотим сделать; • URL — с каким ресурсом; • заголовки (headers) — служебная информация: формат данных, токен авторизации; • тело (body) — данные, если что-то отправляем (для POST/PUT).
Ответ содержит: • код статуса (200, 404, ...) — чем закончилось; • заголовки — тип содержимого и пр.; • тело — сами данные (обычно JSON).
Пример сырого запроса:
GET /users/42 HTTP/1.1 Host: api.example.com Authorization: Bearer token123
И ответа:
200 OK Content-Type: application/json
{ "id": 42, "name": "Аня" }
На практике вы редко пишете это вручную — за вас формируют запросы браузер, библиотеки (fetch, requests) и инструменты. Но понимать структуру важно, чтобы отлаживать и читать документацию.