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

在之前的文章当中,我们依次介绍了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 条评论
登录 后参与评论

相关文章

来自专栏知识分享

四,ESP8266 TCP服务器(基于Lua脚本语言)android客服端+eps8266+单片机+路由器之远程控制系统

我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器...

42410
来自专栏自然语言处理

微博话题爬取与存储分析(上)

本文基于python以新浪微博为数据平台,从数据采集、关键字提取、数据存储三个角度,用最简单的策略来挖掘我们的“黄金”。

992
来自专栏向治洪

前端ThinkJS框架解析

Thinkjs 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码同...

1947
来自专栏杨建荣的学习笔记

Percona-toolkit的安装和配置(r8笔记第86天)

pt工具是非常实用有效的一个工具集,对于诊断常规问题还是非常有效的,相比于Oracle的工具,MySQL中没有那么多复杂的数据字典,在实现方式上相对更加轻巧,主...

3547
来自专栏Theo Tsao

Ionic3学习笔记(十三)HttpClient 实现 HTTP 请求以及踩过的一些坑

当然是基于这篇古老的文章啦 ==> http://www.jianshu.com/p/9855610eb1d4 因为是2015年的文章,已经时隔2年多,很难确保...

481
来自专栏程序人生

谈谈用户权限系统

登录这事之于一个需要识别用户身份的产品,就仿佛cs101之于computer science。感谢各种语言里各种优秀的登录模块(比如nodejs的passpor...

2684
来自专栏后端技术探索

nginx 授权资源跨站访问

最近一h5前端同事反馈说某个字体库连接(类似于http://www.example.com/test.ttf)无法访问。

472
来自专栏美团技术团队

Android App包瘦身优化实践

随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK,直接导致APK体积不断增长。包体积增长带来的问题越来越多,如CDN流量费用...

3233
来自专栏c#开发者

BizTalk高可用配置方法(故障转移集群+负载均衡)

非常感谢[chnking]写的两篇Biztalk 2009在Windows 2008 R2环境中的High Availability(Cluster群集)部署 ...

3449
来自专栏蓝天

Linux下可以替换运行中的程序么?

今天被朋友问及“Linux下可以替换运行中的程序么?”,以前依稀记得Linux下是可以的(而Windows就不让),于是随口答道“OK”。结果朋友发来一个执行结...

802

扫描关注云+社区