一、跨域请求
1、指的是一个HTML页面通过超链接,或者用AJAX去请求一些不在同一个项目里的资源(html页面、图片等等)。
2、只要是域名、协议、端口三个有一个不同就属于跨域请求。
二、浏览器的策略
一般禁止跨域请求,除非服务器允许。
三、服务器设置跨域请求的策略
主要是设置在响应头中,添加几个字段:
Access-Control-Allow-Origins: 允许的发起方域名,一般设置为*,代表所有。
Access-Control-Allow-Heads:设置允许出现的请求头。
Access-Control-Allow-Method: 允许发起的HTTP方法,例如get post
Access-Control-Allow-Credentions: 是否允许使用cookie
Access-Control-Allow-Caches: 最大保存时间。
四、服务器怎么区分跨域请求
1、浏览器会进行域名和端口判断,是否和当前资源在同一个项目里。
2、浏览器请求时会有头部Origin告知域名。
3、浏览器在超链接跳转时的请求头会有Referer头部,代表从哪里来的请求。