javascript — повторные запросы OPTIONS для запросов cors / ajax

На моем сайте есть автоматический ввод текста, который предлагает результаты в качестве пользовательских типов. Результаты предоставляются вызовами AJAX API в другом домене. Это означает, что я должен использовать CORS для разрешения запросов.

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

Смотрите последовательность запросов здесь

Есть ли способ обойти все эти повторные запросы вариантов?

Мой PHP-скрипт, получающий запросы, имеет

header("Access-Control-Allow-Origin: http://consent.example.com");

и все запросы происходят из consent.example.com, Чтобы было ясно, авторизация работает просто отлично, и запрос успешно завершается, но я не знаю, почему он должен продолжать делать вызовы параметров. Для меня будет иметь смысл, что браузер будет кешировать это.

2

Решение

В соответствии с RFC 2616 («Протокол передачи гипертекста — HTTP / 1.1»), раздел 9.2:

9.2 ВАРИАНТЫ

Ответы на этот метод не кешируются.

Спецификация HTTP явно запрещает кэширование ответов OPTIONS.

Стоит отметить, что ответы GET также не используют кэширование (я вижу, что customers?search=alex 200 каждый раз). Это просто потому, что сервер решает не отправлять 304 ответа на этот запрос, или ваш браузер не сообщает серверу, что у него есть кэшированная копия, If-Modified-Since или же If-None-Match заголовок запроса.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector