1.cors
使用cors向服务端跨域请求数据时,客户端向服务端发送请求后,服务端返回数据。但由于同源策略,浏览器并不会返回数据给客户端。
解决方法:后端人员在返回客户端的数据上加上对应的响应头,告知浏览器可以放行此数据给客户端,客户端就可以请求到数据了。
但此方法对后端人员来说很麻烦,而且如果一旦配置cors,任何客户端的请求都可以获得响应,不安全。
![](https://img-blog.csdnimg.cn/31febb3fb3c54686885bc2d4cf158d04.png)
2.jsonp
jsonp解决跨域问题的巧妙之处在于,它利用了script的src属性的天然跨域,能够解决get请求的跨域问题。
但是无法处理post、delete、push等请求的跨域问题。
3.代理服务器
代理服务器相当于一个中间商,它收到客户端的请求后将其发给服务端,然后将服务端返回的数据再返回给客户端。
代理服务器的端口号和客户端的主机名、协议、端口号相同,所以在请求数据时不会跨域。
服务器之间发送http请求不受同源策略的管理,不会产生跨域问题。
如何配置代理,请看下一篇文章:如何配置跨域代理。