美文网首页
浏览器跨域的解决方案

浏览器跨域的解决方案

作者: 浮名虚誉架构师 | 来源:发表于2018-05-26 13:45 被阅读0次

同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)端口号(port)。同源策略会阻止一个域的 javascript 脚本和另外一个域的内容进行交互

非同源限制

1.无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB

2.无法接触非同源网页的 DOM

3.无法向非同源地址发送 AJAX 请求,即 XHR 请求

跨域的解决思路 

避免非同源限制

1.让浏览器不做限制,指定参数,让浏览器不做校验,但该方法不太合理,因为它需要较多改动

2.不要发出 XHR 请求,这样就算是跨域,浏览器也不会有非同源限制,解决方案是 JSONP,通过动态创建一个 script,通过 script 发出请求

跨源资源共享方案

根据 W3C 的跨源资源共享方案(即CORS),在被调用方修改代码,加上字段,告诉浏览器该网站支持跨域

隐藏跨域(推荐)

使用 Nginx 反向代理,在 a 域名里面的的请求地址使用反向代理指向 b 域名,让浏览器以为一直在访问 a 网站,不触发跨域限制

修改nginx.conf文件如下:

http{

server{

...

location /{

root  html;

index  index.html index.htm;

}

# 加入的内容        

location /api{

proxy_pass http://localhost:8887/api;

}

}

}

相关文章

  • 浏览器跨域及其解决方案

    title: 浏览器跨域及其解决方案author: Maydate: 20220428 什么是跨域跨域的表现解决跨...

  • JS跨域及解决方案

    <转>详解跨域(最全的解决方案) 什么是跨域跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,...

  • 跨域解决方案

    在讲解决跨域解决方案之前,我们需要了解什么是跨域,在什么情况下会跨域,跨域解决的是什么问题? 一、跨域,是指浏览器...

  • 跨源网络访问

    链接:浏览器的同源策略链接:跨域资源共享链接:跨域共享数据的十种方法链接:前端跨域问题及其解决方案 广义的跨域:1...

  • 面试官:那有没遇到跨域问题,如何解决跨域?

    面试官:有没遇到跨域问题,如何解决跨域? 一、同源策略 谈到跨域问题,要先谈浏览器的同源策略。 二、解决方案 1、...

  • H5跨域访问

    跨域访问是源于浏览器的同源策略而引申出来的概念 1、先了解什么是同源策略和跨域访问 同源策略、跨域解决方案 - R...

  • 产生跨域的原因

    产生跨域的原因 浏览器的限制 跨域 XHR(XMLHttpRequest)请求 1、浏览器的限制 2、跨域 跨域概...

  • 跨域的几种解决方案

    跨域是web开发中经常会遇到的情况,只出现在浏览器端。本文列举了一些常见的跨域情况,和解决方案。 什么是跨域,为什...

  • 跨域解决方案

    跨域解决方案: 1.为什么会有跨域问题? 这是由于浏览器的同源策略,限制了不同源的资源进行交互(不允许用AJAX(...

  • 2020-11-10 浏览器跨域

    谷歌浏览器(chrome)允许跨域设置的方法 什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器...

网友评论

      本文标题:浏览器跨域的解决方案

      本文链接:https://www.haomeiwen.com/subject/urdmjftx.html