跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。
1、 请求类型
- simple/actual requests:简单/真实请求。
- preflight requests:预检请求。
2、 请求头
- Origin:告知服务器源地址是什么。
- Access-Control-Request-Method:告知服务器,实际请求将使用何种请求方式请求方法。
- Access-Control-Request-Headers:告知服务器,实际请求将携带两个自定义请求标头字段:X-PINGOTHER 与 Content-Type。
3、 响应头
- Access-Control-Allow-Origin:表明服务器允许通过的请求源域。
- Access-Control-Allow-Credentials:表明服务器是否允许客户端发送请求是携带认证内容,比如cookies等。
- Access-Control-Allow-Methods:表明服务器允许客户端使用何种请求方式的 方法发起请求。
- Access-Contr