跨域问题是怎么产生的?

跨域就是违反了浏览器规定的一个同源策略,同源策略是为了保证不同页面之间不能用到对方的一下信息(如cookie,DOM对象)保证安全,同源策略主要是三个方面相同,用一个URL来举例的话,http://www.baidu.com,就是当前页面和请求地址的协议相同、端口相同、域名相同,后面的路径无所谓。

那么浏览器如何知道这个请求跨域了,首先请求会到服务器,然后服务器会响应一个响应头Access-Control-Allow-Origin,浏览器就知道是否违反了同源策略,那么只需要浏览器收到的响应的响应头Access-Control-Allow-Origin没有跨域问题就行了。

那么只需要

  • 浏览器发送一个不受同源策略限制的请求
  • 不用浏览器发送请求,使用模拟代理服务器,每次浏览器都先请求本地的模拟代理服务器,就没有同源策略了
  • 或者服务器返回响应头Access-Control-Allow-Origin是OK的(*)
  • 使用反向代理的Nginx设置响应头

如何解决跨域问题

前端

Jsonp:可以把请求路径放在