1 / 13
文档名称:

Spring MVC配置CORS(解决跨域请求).doc

格式:doc   大小:16KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Spring MVC配置CORS(解决跨域请求).doc

上传人:好用的文档 2021/10/13 文件大小:16 KB

下载得到文件列表

Spring MVC配置CORS(解决跨域请求).doc

相关文档

文档介绍

文档介绍:Spring MVC配置CORS(解决跨域请求)
1. CORS 简介
同源策略(same origin policy)是浏览器安全的基石。在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的。
为了解决这个问题,w3c 提出了跨源资源共享,即 CORS(Cross-Origin Resource Sharing)。
CORS 做到了两点:
不破坏即有规则服务器实现了 CORS 接口,就可以跨源通信
基于这两点,CORS 将请求分为两类:简单请求和非简单请求。
简单请求
可以先看下 CORS 出现前的情况:跨源时能够通过 script 或者 image 标签触发 GET 请求或通过表单发送一条 POST 请求,但这两种请求 HTTP 头信息中都不能包含任何自定义字段。
简单请求对应该规则,因此对简单请求的定义为:
请求方法是 HEAD、GET 或 POST 且 HTTP 头信息不超过以下几个字段:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type(只限于 application/x-www-form-urlencoded、multipart/form-data、text/plain)。
比如有一个简单请求:
GET /test HTTP/
Accept: */*
Accept-Encoding: gzip, deflate, sdch, br
Origin:
Host:
对于这样的简单请求,CORS 的策略是请求时,**在头信息中添加一个 Origin 字段**,服务器收到请求后,根据该字段判断是否允许该请求。
如果允许,则在 HTTP 头信息中添加 Access-Control-Allow-Origin 字段,并返回正确的结果如果不允许,则不在头信息中添加 Access-Control-Allow-Origin 字段。
浏览器先于用户得到返回结果,根据有无 Access-Control-Allow-Origin 字段来决定是否拦截该返回结果。
对于 CORS 出现前的一些服务,CORS 对他们的影响分两种情况:
script 或者 image 触发的 GET 请求不包含 Origin 头,所以不受到 CORS 的限制,依旧可用。如果是 ajax 请求,HTTP 头信息中会包含 Origin 字段,由于服务器没有做任何配置,所以返回结果不会包含 Access-Control-Allow-Origin,因此返回结果会被浏览器拦截,接口依旧不可以被 ajax 跨源访问。
可以看出,CORS 的出现,没有对”旧的“服务造成任何影响。
另外,除了提到的 Access-Control-Allow-Origin 还有几个字段用于描述 CORS 返回结果:
Access-Control-Allow-Credentials: 可选,用户是否可以发送、处理 cookie。Access-Control-Expose-Headers:可选,可以让用户拿到的字段。有几个字段无论设置与否都可以拿到的,包括:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。
非简单请求
除了简单请求之外的请求,就是非简单请求。
对于非简单请求的跨源请求,**浏览器会在真实请求发出前**,增加一次 OPTION 请求,称为预检请求(preflight request)。预检请求将真实请求的信息,包括请求方法、自定义头字段、源信息添加到 HTTP 头信息字段中,询问服务器是否允许这样的操作。
比如对于 DELETE 请求:
OPTIONS /test HTTP/
Origin:
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: X-Custom-Header
Host:
与 CORS 相关的字段有:
Access-Control-Request-Method: 真实请求使用的 HTTP 方法。Access-Control-Request-Headers: 真实请求中包含的自定义头字段。
服务器收到请求时,需要分别对 Origin、Access-Control-Request-Method、A

最近更新

2024年浙江温州市龙湾区文博馆招聘2人历年高频.. 59页

2024年浙江省三门县下半年事业单位招聘历年高.. 88页

2024年浙江省地质勘查局所属事业单位招聘18人.. 89页

2024年浙江省岱山县事业单位招聘52人历年高频.. 59页

2024年浙江省杭州市富阳区事业单位招聘85人历.. 60页

2024年浙江省温州市鹿城区事业单位招聘44人历.. 59页

2024年浙江省金华义乌市安全生产监督管理局招.. 89页

2024年浙江绍兴市住房和城乡建设局直属事业单.. 88页

2024年浙江舟山市定海区国资产经营限公司招聘.. 59页

2024年海南省海口市龙华区事业单位招聘145人历.. 88页

2024年淮北职业技术学院单招职业适应性测试题.. 57页

2024年渤海船舶职业学院单招职业适应性测试题.. 58页

2024年湖北咸宁崇阳县招聘40人历年高频难、易.. 59页

2024年湖北恩施宣恩县审计局招聘历年高频难、.. 88页

2024年湖北省宜昌西陵人民陪审员招聘170人历年.. 59页

2024年湖北省蕲春县事业单位招聘99人历年高频.. 87页

2024年湖北省黄石西塞山机关事业单位招聘9人历.. 88页

2024年湖北黄冈审计局招聘历年高频难、易点(.. 89页

2024年湖南化工职业技术学院单招职业适应性测.. 55页

2024年湖南大众传媒职业技术学院单招职业适应.. 55页

2024年湖南工艺美术职业学院单招职业适应性测.. 53页

2024年湖南怀化会同县事业单位招聘138人历年高.. 59页

2024年湖南株洲住房公积金管理中心事业单位招.. 60页

2024年湖南永州宁远县应急管理局招聘综合应急.. 59页

2024年湖南理工职业技术学院事业单位招聘拟聘.. 59页

妊娠合并精神病护理ppt 24页

数字乡村试点方案 3页

消防工程监理评估报告范本 4页

地下车库开荒保洁服务委托合同 3页

WS T 496-2017《临床实验室质量指标》 7页