Правило ограничения домена и запросы на получение

Mariko Kosaka

В этой практической работе вы узнаете, как работает правило ограничения домена при получении ресурсов.

Настройка: получение страницы из того же источника

Демоверсия размещена по адресу https://same-origin-policy-fetch.glitch.me. На этой простой веб-странице используется fetch для загрузки ресурса из https://same-origin-policy-fetch.glitch.me/fetch.html. Поскольку у index.html и fetch.html один и тот же источник, в окне предварительного просмотра должно появиться сообщение 200.

1. Получить страницу из другого источника

Попробуйте изменить URL извлечения на https://www.google.com. Что вы видите в окне предварительного просмотра?

Браузер должен был заблокировать запрос на получение, поскольку вы запросили ресурс из другого источника. Это означает, что злоумышленник не сможет прочитать ресурсы из разных источников, даже если он получит контроль над браузером пользователя.

2. Получение ресурса из другого источника

Попробуйте изменить URL получения на https://api.thecatapi.com/v1/images/search. Что вы видите в окне предварительного просмотра?

URL извлечения относится к другому источнику, но вы должны увидеть код статуса 200. Почему? Современные веб-приложения часто запрашивают ресурсы из разных источников, чтобы загрузить сторонние скрипты или запросить конечную точку API. Для таких вариантов использования существует механизм CORS (Cross Origin Resource Sharing), который сообщает браузеру, что загрузка перекрестного ресурса разрешена. Подробнее о безопасном совместном использовании ресурсов между разными источниками…