Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про HTML: cors, iframe, img, basic

Что такое CORS (Cross-Origin Resource Sharing), и как он относится к встроенным элементам типа <iframe>, <img>, и <script>?

Этот вопрос проверяет знание механизма CORS и его применения при работе с элементами, загружающими ресурсы с других доменов. Важно понять, как обеспечивается безопасность данных при кросс-доменных запросах.

Короткий ответ

CORS — это механизм, который позволяет ограничить или разрешить обмен данными между разными доменами. Браузеры по умолчанию запрещают запросы к ресурсам с другого домена для обеспечения безопасности. Чтобы разрешить такие запросы, сервер должен отправить специальные заголовки. Элементы, такие как <iframe>, <img> и <script>, могут загружать ресурсы с других доменов, но для некоторых операций, например, доступа к содержимому <iframe> из другого домена, требуется поддержка CORS.

Длинный ответ

CORS (Cross-Origin Resource Sharing) — это политика безопасности веб-браузеров, которая предотвращает выполнение кросс-доменных HTTP-запросов, если сервер явно не разрешил их. Она нужна для защиты веб-приложений от атак типа CSRF (Cross-Site Request Forgery) и XSS (Cross-Site Scripting).

Как работает CORS:
Когда браузер пытается получить ресурс с другого домена, он отправляет предварительный запрос (preflight) с заголовком OPTIONS, чтобы узнать, разрешает ли сервер доступ. Если сервер разрешает запросы с другого домена, он отправляет ответ с заголовком Access-Control-Allow-Origin, в котором указан разрешенный домен (или символ *, что означает любой домен).

Пример заголовков CORS:

Access-Control-Allow-Origin: https://example.com Access-Control-Allow-Methods: GET, POST

Эти заголовки позволяют браузеру понять, что запросы с домена https://example.com могут быть выполнены.

CORS и встроенные элементы:

  • <iframe>: Без поддержки CORS, доступ к содержимому iframe с другого домена будет заблокирован. Это защита от манипуляций с контентом, загружаемым из сторонних источников.

  • <img> и <script>: Эти теги могут загружать ресурсы с других доменов без ограничений, но доступ к загруженным данным (например, к пикселям изображения) будет блокирован, если сервер не поддерживает CORS.

Пример использования CORS с fetch():

fetch('https://api.example.com/data', {  
	method: 'GET',  
	headers: {    
		'Origin': 'https://mywebsite.com'  
	} 
}) 
.then(response => response.json()) 
.then(data => console.log(data)) 
.catch(error => console.error('Ошибка:', error));

CORS важен для обеспечения безопасности веб-приложений, позволяя контролировать, какие домены могут обращаться к ресурсам. Разработчикам необходимо правильно настраивать заголовки на сервере для разрешения или ограничения доступа с других доменов.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • HTML

    HTML

Ключевые слова

#cors

#iframe

#img

#basic

Подпишись на React Developer в телеграм