PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

В чем разница между Origin и Host?

Продвинутые темы

Origin и Host — разные части идентификации ресурса: Host — это домен (и порт), а Origin — это протокол + домен + порт вместе.

Host

Заголовок/понятие, содержащее домен и порт (без протокола):

Host: example.com:8080

Или просто example.com. Определяет, к какому серверу/домену идёт запрос.

Origin

Протокол + домен + порт — полный источник:

Origin: https://example.com:8080

Origin включает схему (https), которой нет в Host.

Главное различие

URL: https://example.com:8080/path

Host:   example.com:8080          (домен + порт)
Origin: https://example.com:8080  (протокол + домен + порт)

Origin = схема + Host.

Где применяются

Host

  • Заголовок Host — виртуальный хостинг (один IP, много доменов).
  • Маршрутизация запроса на сервере.

Origin

  • Заголовок Origin — в CORS: браузер сообщает источник запроса.
  • Определение «same-origin» (важны все три части: протокол, домен, порт).
https://a.com и http://a.com — разный ORIGIN (разный протокол), но один HOST

Коротко для собеседования

Host — домен и порт (без протокола, example.com:8080). Origin — протокол + домен + порт (https://example.com:8080). Origin включает схему, Host — нет. Host используют для маршрутизации/виртуального хостинга, Origin — в CORS и определении same-origin (различие протокола даёт разный origin, но тот же host).

Другие вопросы раздела