Ответ
Origin и Host — это HTTP-заголовки, но они служат разным целям:
-
Host указывает домен и порт сервера, к которому обращается клиент. Обязателен для всех HTTP/1.1 запросов.
Пример:Host: example.com:8080 -
Origin указывает схему (протокол), домен и порт источника запроса. Используется в CORS для проверки безопасности. Отсутствует в same-origin запросах.
Пример:Origin: https://example.com
Ключевые отличия:
Hostесть всегда,Origin— только в cross-origin запросах (например, приfetchилиXMLHttpRequest).Originне включает путь, только схему+домен+порт.- Сервер использует
Hostдля маршрутизации, аOrigin— для проверки CORS.