Зачем нужны заголовки Access-Control-Expose?



Я искал конкретные причины безопасности, почему это было добавлено. Это был своего рода WTH момент, когда я реализовывал cors и мог видеть, что все заголовки возвращаются, но я не мог получить к ним доступ через javascript..

591   2  

2 ответов:

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

в мире pre-CORS клиент может инициировать запрос перекрестного происхождения (например, через тег сценария), но он не может прочитать заголовки ответов.

чтобы гарантировать, что CORS не нарушает это предположение, спецификация CORS требует, чтобы сервер предоставил явные разрешения для клиента на чтение этих заголовков (через ). Этот таким образом, несанкционированные запросы CORS ведут себя так же, как и в мире pre-CORS.

Это очень хороший вопрос. Просматривая http://www.w3.org/TR/cors/#simple-response-header, это не очевидно, почему вы хотите или должны сделать это.

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

по умолчанию длина содержимого не разрешена заголовок так я столкнулся с той же проблемой (позже, когда мне нужно получить доступ к WebDAV и пришлось изменить допустимые параметры).. CORS действительно не имеет большого смысла (для меня) в первую очередь, поэтому меня не удивило бы, если бы он был капризным.

Comments

    Ничего не найдено.