繁体   English   中英

CORS HTTP标头点

[英]Point of CORS HTTP Headers

以下MDN文章讨论了CORS头: 跨源资源共享(CORS)

我的问题很基本:

给出一个simple request (不是preflighted ):如果我们使用HTTP response发送所请求的资源(即使用与CORS response headers相同的消息发送资源),那么在服务器端添加CORS headers是什么意思? 我认为CORS headers是UA仅在服务器允许的情况下才接收所请求的资源。

发送或不发送资源会不会更容易,具体取决于哪个客户端要求?

对于同域请求(不需要CORS),我同意添加CORS头没什么意义,但同样不会造成任何伤害。

对于跨源请求,标头告诉浏览器是否允许页面访问资源。

值得注意的是,它是控制它的浏览器 ,因为CORS是一种特定于浏览器的技术。 CORS限制不适用于非浏览器HTTP客户端。 服务器不直接拒绝访问,它只是添加标题,指示浏览器在给定方案中应该如何处理响应 - 即它是否应该覆盖浏览器实现的正常“同源”策略,以及允许访问资源。

此外,您询问服务器是否更容易拒绝访问资源,具体取决于发出请求的客户端类型。 HTTP的设计方式意味着只要符合标准,客户端是谁或者什么并不重要。 猜测客户端性质的唯一方法是读取User-Agent字符串,但这对于欺骗是微不足道的,因此您永远不能在服务器中使用它来实现与安全相关的任何内容。 标准中也没有任何强制性要求您知道请求是否是由AJAX发出的(因为它只是受CORS约束的AJAX请求,只是知道客户端是浏览器在任何情况下都不足以满足需求)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM