ТЕМА НЕДЕЛИ: КАК РАБОТАЕТ HTTP 🌐 — 26 июня 2026 г. в 14:23:53.382
ТЕМА НЕДЕЛИ: КАК РАБОТАЕТ HTTP 🌐 📝 День 5: Заголовки HTTP. HTTP-заголовки — это пары «ключ-значение». Передаются вместе с запросом или ответом и уточняют, что именно мы хотим, что за данные шлём и как их интерпретировать. Ниже разберем наиболее часто используемые заголовки. Мы привели одну из возможных классификаций, не удивляйся, если встретишь иную. 📤 Заголовки запроса Клиент шлет их серверу, чтобы рассказать о себе или уточнить, что именно ему нужно. Без них сервер не поймет, что от него хотят и кто просит. Host — домен и порт, к которому идёт запрос. Если порт не указан, используется 80 или 443. User-Agent — браузер, ОС, устройство. Accept — какие типы контента клиент понимает. Accept-Language — предпочитаемые языки ответа. Accept-Encoding — какие сжатия поддерживает (gzip, br). Authorization — данные для авторизации. Cookie — сохранённые ранее куки, по ним сервер узнаёт пользователя. Referer — с какой страницы пришёл запрос. 📥 Заголовки ответа Сервер отвечает взаимностью и рассказывает про себя или добавляет служебную информацию. Иногда без них никак, например, при авторизации нужно отдать WWW-Authenticate. Server — ПО на сервере (nginx, Apache). Location — куда перенаправить (при кодах 3xx). Retry-After — когда повторить запрос (при 503, 429). WWW-Authenticate — каким способом авторизоваться (при 401). Set-Cookie — команда клиенту сохранить куку. Access-Control-Allow-Origin — каким источникам (доменам) разрешён доступ (CORS). 📦 Заголовки представления Описывают, что именно лежит в теле сообщения. Если перепутать, клиент попытается распарсить HTML как JSON и упадёт с ошибкой. Content-Type — тип данных (MIME‑тип) в теле HTTP‑сообщения. Content-Language — язык содержимого. Content-Encoding — сжатие (gzip, br). 📐 Заголовки управления передачей Нужны, чтобы понять, где заканчивается тело запроса/ответа и начинается следующее сообщение. Если сервер ошибётся с длиной, клиент либо откусит лишнего, либо зависнет в ожидании. Content-Length — сколько байт читать. Transfer-Encoding: chunked — данные идут кусками.

