全栈:CORS
作者:互联网
什么是CORS
全称Cross-Origin Resource Sharing ,是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。
CORS的原理
1、在数据包的头部配置Access-Control-Allow-Origin字段,并发送给浏览器
2、浏览器根据配置信息,判断是否允许让服务器的网页进行Ajax跨域访问
在实际生产或者项目开发阶段 ,需要跨域访问资源,跨域在后端发送数据包时 ,在数据包的头部配置这个数据包被跨域请求时的跨域资源共享白名单
也就是res.setHeader("Access-Contrl-Allow-Origin"),最后一个单词可以改为method
CORS跨域资源共享
Cors允许浏览器向跨域服务器发出XmlHttpRequest请求,另外 CORS还支持get,post,head请求
在数据包的头部配置Access-Control-Allow-Origin字段以后,数据包发送给浏览器后,浏览器就会根据这里配置的白名单 "放行" 允许白名单的服务器对应的网页来用ajax跨域访问
ps:
1、跨域请求 时 前端是请求了跨域的后端,只是返回的数据被浏览器拒收了,并不是跨域了就不发网络请求
2、请求头的Origin还能是其他字段:
- Access-Control-Request-Method
- Access-Control-Request-Headers
- Access-Control-Allow-Origin
- Access-Control-Allow-Credentials
//后端设置数据包配置 允许跨域资源共享 res.setHeader('Access-Control-Allow-Origin','*')
标签:Origin,Control,浏览器,跨域,Access,全栈,CORS,数据包 来源: https://www.cnblogs.com/LIXI-/p/16548288.html