1、什么是跨域:发送请求所在的域和请求指向的资源所在的域不是同一个域
2、同域指协议、域名、端口号都相同,其中有一个不同则是跨域
3、跨域解决的方法:
(1)、JSNP
原理:通过script标签向服务器请求数据,服务器收到请求后,将数据放在一个指定名字的回调函数里传回来
缺点:只支持get请求,安全性和稳定性不如cors
(2)跨域资源共享cors
原理:cors通信过程是由浏览器自动完成的,浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求。浏览器发现ajax跨源请求是简单请求,自动在请求头中加入origin字段,服务器根据origin字段的值,是否同意跨源请求,如果同意,响应头会出现Access-Control-Allow-Origin字段,它的值是Origin字段的值或者是一个*号,表示接受任意域名的请求。浏览器发现ajax跨源请求是非简单请求,会先发送一次预检请求,服务器通过了预检请求,以后每次浏览器正常的CORS请求,就都跟简单请求一样
(3)Nginx反向代理
将对真实服务器的请求转移到本地服务器
--------跨域请求
最新推荐文章于 2024-06-23 12:31:59 发布