Вебсправочник
Основы веб-разработки

Одинаковый источник: схема, хост и порт

Источник веб-страницы определяется сочетанием схемы, имени хоста и порта и участвует в браузерной модели изоляции.

Назначение

Источник веб-страницы определяется сочетанием схемы, имени хоста и порта и участвует в браузерной модели изоляции.

Как это работает

Два URL с разными путями могут иметь один источник. Смена HTTP на HTTPS или смена порта меняет источник даже при одинаковом имени сервера. Понятие site связано с другой группировкой и не равно origin.

Пример

const a = new URL('https://example.com/a');
const b = new URL('https://example.com/b');
const c = new URL('https://example.com:8443/a');
console.assert(a.origin === b.origin);
console.assert(a.origin !== c.origin);

Что должно получиться

Первый и второй адреса имеют общий источник, третий отличается портом. Создание объекта URL лишь разбирает строку и не выполняет сетевого запроса.

Граница применения и частая ошибка

Не считайте два поддомена или два порта автоматически одним источником. Это влияет на чтение ответов, хранилища и взаимодействие документов, даже когда сервер принадлежит одному владельцу.

Самостоятельная проверка

Составьте таблицу для https://example.com/a, https://example.com/b и https://example.com:8443/a. Затем сравните origin через объект URL в отдельной консоли.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.