gpt4 book ai didi

http - CORS:简单请求的目的是什么?

转载 作者:行者123 更新时间:2023-12-05 01:11:45 28 4
gpt4 key购买 nike

来自 Mozilla 的 documentation ,有三种CORS场景:

  1. 简单的请求
  2. 预检请求
  3. 使用凭据请求

Simple Requests 有一些缺点,例如,当客户端声明 withCredentials 时,即使服务器拒绝,带有 cookie 的 HTTP 请求已经发送,这可能成为攻击者。

预检请求更加安全,可以覆盖各种场景。为什么人们发明Simple Requests,即使预先提出的请求可以满足所有要求?

引用

  1. What exactly does the Access-Control-Allow-Credentials header do?

最佳答案

简单的解释是“简单请求”出现在 CORS 存在之前。

XMLHTTPRequest 只允许对同一来源的请求,或者对不同来源的请求,前提是该请求没有引入尚不存在的安全问题。

例如,可以执行 POST通过 HTML 请求 <form>到不同的来源,但您无法以编程方式读取响应。

鉴于这已经成为可能,因此 XMLHTTPRequest 中也不存在该限制是有道理的。

多年后,当 CORS 出现时,重要的是不破坏那些旧的跨源请求的向后兼容性。如果突然间这些请求也需要 CORS header ,它会破坏依赖它的脚本。

我写了更多关于这个主题的文章,CORS 和 no-cors这里:https://evertpot.com/no-cors/了解更多背景信息。

关于http - CORS:简单请求的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62669225/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com