SpringMvc CORS跨域设置

SpringMvc CORS跨域设置,第1张

基于安全的考虑, W3C 规范规定浏览器禁止访问不同域(origin)的资源,目前绝大部分浏览器遵循这一规范,从而衍生出了跨域资源共享 ( CORS )问题,相比于 IFRAME 或 JSONP , CORS 更全面并且更安全, Spring Mvc 为我们提供了一套多粒度的CORS解决方案。

关于 CORS 的介绍,主要参考文章 《Cross-Origin Resource Sharing (CORS)》

CORS 的工作原理是添加新的 >

CORS

CORS全称为 Cross-Origin Resource Sharing;被译为跨域资源共享,新增了一组>

跨域资源共享机制的工作原理主要应用于三个场景:

1简单请求

请求满足所有下述条件,则该请求可视为“简单请求”。

使用下列请求方法之一: GET、HEAD 或 POST

不得人为设置下列集合之外的其他首部字段: Accept、 Accept-Language、 Content-LanguageContent-Type。

Content-Type 的值仅限于下列三者之-: text/plain、multipart/form-data、application/x->

2预检请求

当请求满足下述任一条件时,即应首先发送预检请求:

使用下列请求方法之一:PUT、DELETE、CONNECT、OPTIONS、TRACE 或 PATH

请求头中包含自定义头部字段

服务器发送了 application/json 格式的数据

在浏览器与服务器正式请求之前,浏览器会先发送 OPTION 请求进行预检,以获知服务器是否允许该实际请求,所以这一次的 OPTION 请求称为“预检请求”。服务器成功响应预检请求后,才会发送真正的请求,并且携带真实数据。

3认证请求

CORS具有一个有趣的特性是,可以基于 >

xml>

将XML>

如果服务器端的响应中未携带 Access-Control-Allow-Credentials: true,浏览器将不会把响应内容返回给请求的发送者。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13489998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-17
下一篇 2023-08-17

发表评论

登录后才能评论

评论列表(0条)

保存