Выбор ответа Junior HTTP: методы, статусы, заголовки обновлено

Зачем нужен заголовок Host

Вопрос

Зачем в HTTP/1.1 обязателен заголовок Host?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Чтобы на одном IP и порту могли жить разные сайты. Виртуальный хостинг: один сервер обслуживает много доменов, и по Host выбирает нужный.

Варианты ответа

  1. Чтобы сервер знал IP-адрес клиента, если тот за NAT
  2. Чтобы браузер мог проверить сертификат по имени сайта
  3. Для работы CORS: по Host сервер сверяет источник запроса
  4. Чтобы на одном IP и порту могли жить разные сайтыправильный ответ

Разбор

Виртуальный хостинг: один сервер обслуживает много доменов, и по Host выбирает нужный. IP клиента сервер видит из TCP-соединения (или из X-Forwarded-For за прокси), а не из Host. Сертификат на этапе TLS выбирается по SNI, ещё до отправки HTTP-заголовков. CORS опирается на Origin.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.