服务器代由跨域以及各类跨域方法比较与总结

在之前的文章当中,我们依次介绍了iframe跨域、JSONP跨域以及postMessage跨域。今天我们将针对跨域进行收尾,讲解最后一种,也是比较常见的服务器代由。同时我们针对之前提到的这4类跨域方法进行一个比较和总结。

再次总结跨域

文件访问限制:A域的前端页面是能够访问A域的后台,而A域的前端页面不能够去访问其他域的后台(浏览器不允许)

跨域来自于需求:当客户需求告诉我们,需要让A域的前端页面去访问B域的后台,此时就出现了跨域,此时我们需要找一些方法或途径解决这个“原本被禁止的功能”。

解决跨域的常见途径:常见解决途径有4种,分别是iframe、JSONP、postMessage和服务器代由访问。这四种方法均没有直接让A域前端去访问B域后台(换句话说,均采用了“曲线救国”的方式来解决问题)

服务器代由

我们在之前的文章中已经讲解了iframe跨域、JSONP跨域以及postMessage跨域,还有一个服务器代由访问没有讲解。

到底什么是服务器代由呢?所谓的服务器代由就是:在A域的服务端增加一个后台接口,由A域的JS通过AJAX访问A域的接口,之后由 A域的后台取访问B域,再将数据返回给A域的前端。

服务器代由访问,方法对前端影响不大,但是后台相对会麻烦很多。

额外要提的

出于安全方面的考虑,会限制本域服务器的代由。

要限制的原因:向任何站点开放的代由容易被滥用。

如何防止代由被滥用?

1 在编码时,可以把限定的URL地址编码到代由自身中,如果不是相应的URL就不能够使用代由;

2 提供限制的选项。

各类“解决途径”(跨域方法)的核心原理

iframe、postMessage方法的核心原理

PLUS:两者虽然在具体实现上有所不同,但是在整体流程上比较类似。

JSONP方法的核心原理

服务器代由访问的核心原理

各种跨域方法之比较

HTML5小编-利利 耗时5h

欢迎沟通交流~HTML5学堂

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

ui-router中使用ocLazyLoad和resolve

1.AngularJS按需加载 AngularJS主要应用开发SPA(Single Page Application)项目,所以在小型项目中,services、...

2607
来自专栏用户画像

MAC安装Zookeeper

中间出现了问题,提示Ruby版本过低,升级版本请参考  http://blog.csdn.net/jxq0816/article/details/7858691...

1421
来自专栏左瞅瞅,右瞅瞅

zabbix上线之路(二)——zabbix相关配置

zabbix_get -s 192.168.12.74 -p 10050 -k "system.uname"

1183
来自专栏TungHsu

这或许是对小白最友好的python入门了吧——1,python环境的搭建。

这里我们的教程以Windows系统为例, 首先在桌面上按住shift键并右击,选择“在此处打开powershell窗口”如下图: ? 然后就会出来一个酱紫的东西...

2887
来自专栏WindCoder

百度wordpress结构化数据插件sitemap1.0,“一直提示校验中”解决办法

之前从joe处得知了百度wordpress结构化数据插件sitemap1.0,安装好后验证时一直提示校验中!!今天刚找到解决方法,留给大家吧。原来

1051
来自专栏前端人人

(源码开放) React + webpack3 多页面应用 及 常见问题解答

https://github.com/frontend-everyone/react-webpack3-multipage-feeo

933
来自专栏酷玩时刻

FRP内网穿透工具

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。主要他是一个开源的。

5023
来自专栏Java学习123

Centos6.5设置Tomcat7管理员用户名和密码

3266
来自专栏前端之心

跨域问题详解

做过 web 开发的同学,应该都遇到过跨域的问题,当我们从一个域名向另一个域名发送 Ajax 请求的时候,打开浏览器控制台就会看到跨域错误,今天我们就来聊聊跨域...

3703
来自专栏Java学习123

重新设置Tomcat7.0管理员用户名和密码

2975

扫码关注云+社区

领取腾讯云代金券