前端浏览器跨域请求的方式
因为浏览器的同源策略(协议,域名,端口号),在访问不同源的数据时,就产生了跨域问题,跨域问题常见的解决方法有以下几种:
1.jsonp跨域解决方案
2.cors跨域资源共享
3.基于http proxy实现跨域请求
4.基于post message实现跨域处理
5. 基于iframe的跨域解决方案
6.websocket和nginx反向代理
1.jsonp:利用像<img><link><iframe><script>这些不存在跨域请求限制的标签来实现获取服务器数据的方式
例如:
2.cors(cross-origin resource sharing)跨资源共享:基本思想是使用自定义的http头部让浏览器与服务器进行沟通。
比如一个简单的使用get或者post请求,它没有自定义的头部,而主题内容是text/plain,在发送该请求的时候,需要给它附加一个额外的Origin头部,其中包含请求页面的源信息(协议域名和端口),一边服务器根据这个头部信息来决定是否给与响应,下面是origin头部示例:origin:http://www.nczonline.net,如果服务器认为这个请求可以接受,就在Access-Control-Allow-Origin头部中回发相同的源信息(如果是共用资源,可以发“*”),例如:Access-Control-Allow-Origin:http://www.nczonline.net,如果没有这个头部,或者头部源信息不匹配,浏览器就会驳回请求。请求和响应都不包含cookie信息。
3.回头再补,先写到这里。