跨域请求

原因:浏览器的同源策略。

理解:不同的页面要保证:协议,端口号,域名组合不相同,如果全部相同则认为两个页面是同源的。这样就会有一个很大的安全问题,假如我知道了某个淘宝服务器的访问地址,主要就是他后台设置的端口号,那我就可以随便通过一个浏览器通过访问地址直接对淘宝服务器进行访问,这样会使得服务器遭受到恶意攻击,或者黑客访问等等重大安全问题,因此这就带来了一个经典需要解决的问题,就是跨域请求。

我们要隐藏服务器的地址,但是又要满足浏览器的同源策略进行访问,因此我们有多种方式解决这样一种跨域问题。

正向代理:

服务器nginx反向代理:通过配置文件在服务器上进行配置端口,这种方式隐藏了服务器的真实IP

HTTP-Proxy正向代理:在前端服务器与后端服务器之间加一个中间件,通过中间件转发请求。隐藏客户端的IP。应用:突破限制访问国外网站,公司内网访问外网是设置了代理服务器的。

前端jsonp:浏览器虽然有跨域,但是在src,css属性是可以跨域访问的,因此可以通过将回调函数与数据设置在这些属性当中,以此来实现跨域请求。但这种不安全,因为jsonp请求是直接加载代码,如果访问的地址不安全则本次访问不可靠,而且通过jsonp访问的话是无法确认访问是否成功。请求方式只能是get。

posted @ 2022-09-12 15:15  ganrui~~~  阅读(45)  评论(0)    收藏  举报