← Назад ко всем вопросам

Какая категория запросов не будет проверяться в CORS

1️⃣ Как кратко ответить

Запросы, которые считаются "простыми" (simple requests), не будут проверяться в CORS. Это запросы, которые используют методы GET, POST или HEAD и имеют определенные ограничения на заголовки и типы данных.

2️⃣ Подробное объяснение темы

CORS (Cross-Origin Resource Sharing) — это механизм, который позволяет веб-приложениям на одном домене взаимодействовать с ресурсами на другом домене. Это важно для безопасности, так как предотвращает несанкционированный доступ к данным.

Простые запросы (Simple Requests):

Простые запросы — это категория запросов, которые не требуют предварительной проверки (preflight request) в CORS. Они должны соответствовать следующим критериям:

  1. Методы: Запрос должен использовать один из следующих HTTP-методов:

    • GET
    • POST
    • HEAD
  2. Заголовки: Запрос может содержать только определенные заголовки:

    • Accept
    • Accept-Language
    • Content-Language
    • Content-Type (с ограничениями на типы данных)
  3. Типы данных для Content-Type: Если используется заголовок Content-Type, он должен быть одним из следующих:

    • text/plain
    • multipart/form-data
    • application/x-www-form-urlencoded

Пример простого запроса:

fetch('https://example.com/data', {
  method: 'GET',
  headers: {
    'Accept': 'application/json'
  }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
  • fetch('https://example.com/data', {...}): Инициирует HTTP-запрос к ресурсу на другом домене.
  • method: 'GET': Используется метод GET, который является допустимым для простых запросов.
  • headers: { 'Accept': 'application/json' }: Устанавливается заголовок Accept, который разрешен для простых запросов.
  • response.json(): Обрабатывает ответ, преобразуя его в JSON.
  • console.log(data): Выводит данные в консоль.
  • catch(error => console.error('Error:', error)): Обрабатывает возможные ошибки.

Зачем это нужно:

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

Тема: HTTP, REST
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки