Spec-Zone.ru › HTTP

Происхождение

Происхождение

Заголовок запроса Origin указывает на происхождение (схема, имя хоста и порт), вызвавшее запрос. Например, если пользовательскому агенту нужно запросить ресурсы, включенные в страницу, или полученные скриптами, которые он выполняет, то происхождение страницы может быть включено в запрос.

Тип заголовка Заголовок запроса
Запрещённое имя заголовка да

Синтаксис

Origin: null
Origin: <scheme>://<hostname>
Origin: <scheme>://<hostname>:<port>

Директивы

null

Происхождение является «чувствительным к конфиденциальности» или представляет собой «непрозрачное происхождение», как определено в спецификации HTML (конкретные случаи перечислены в разделе описание).

<scheme>

Используемый протокол. Обычно это протокол HTTP или его защищённая версия HTTPS.

<hostname>

Имя домена или IP-адрес сервера происхождения.

<port> Необязательно

Номер порта, на котором прослушивает сервер. Если порт не указан, подразумевается стандартный порт для запрашиваемой службы (например, «80» для URL HTTP).

Описание

Заголовок Origin похож на заголовок Referer, но не раскрывает путь и может быть null. Он используется для предоставления «контекста безопасности» для запроса происхождения, за исключением случаев, когда информация о происхождении является конфиденциальной или излишней.

В общем случае, пользовательские агенты добавляют заголовок запроса Origin для:

  • кросс-доменных запросов.
  • однодоменных запросов, за исключением запросов GET или HEAD (т.е. они добавляются к однодоменным запросам POST, OPTIONS, PUT, PATCH и DELETE).

Существуют исключения из вышеуказанных правил; например, если кросс-доменный запрос GET или HEAD выполняется в режиме no-cors, заголовок Origin не будет добавлен.

Значение заголовка Origin может быть null в ряде случаев, включая (не исчерпывающий список):

  • Происхождения, схема которых не является одной из http, https, ftp, ws, wss, или gopher (включая blob, file и data).
  • Изображения и медиаданные из других доменов, включая те, что в <img>, <video> и <audio> элементах.
  • Документы, созданные программно с использованием createDocument(), сгенерированные из data: URL-адреса или не имеющие контекста просмотра создателя.
  • Перенаправления между происхождениями.
  • Инкапсуляции с атрибутом sandbox, не содержащим значение allow-same-origin.
  • Ответы, являющиеся ошибками сети.
  • Referrer-Policy установлено на no-referrer для режимов запросов, не являющихся cors (например, простые отправки форм).

Примечание: Более подробный список случаев, когда возвращается null, есть на Stack Overflow: Когда браузеры отправляют заголовок Origin? Когда браузеры устанавливают происхождение в null?

Примеры

Origin: https://developer.mozilla.org
Origin: http://developer.mozilla.org:80

Спецификации

Спецификация
Понятие веб-происхождения
# раздел-7
Стандарт Fetch
# origin-header

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
Origin
Да
12
До Edge 79, этот заголовок не отправлялся с POST запросами.
70
Да
Не отправлялся с POST запросами до Firefox 58, см. ошибку 446344.
Да
Да
Да
Да
Да
79
Да
Не отправлялся с POST запросами до Firefox 58, см. ошибку 446344.
Да
Да
Да

См. также

  • Host
  • Referer
  • Политика одного происхождения
  • Когда браузеры отправляют заголовок Origin? Когда браузеры устанавливают происхождение в null? (Stack Overflow)

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API