跨域访问
对于跨域访问的问题,以前一直没有深入的研究, 就记得放回一个XML来支持跨域的问题。今天,一个同事问我关于跨域请求的问题,我仔细的查阅了一下资料,对于网络上的一些知识的理解,特总结如下。
对于flash跨域,在服务器端返回如下XML文件。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <!-- Policy file for xmlsocket://socks.adobe.com --> <cross-domain-policy> <site-control permitted-cross-domain-policies="all" /> <allow-access-from domain="*" to-ports="*" /> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy>
对于javascript的跨域,也就是ajax的跨域问题,主要有以下几种方法:
1、iframe
在都是同一个顶级域名的情况下,可以使用该方法,在iframe中都加上document.domain="xxx.com",这样就统一域名了,在同一个域名下,iframe之间是可以互访问的,来解决这个问题。
2、jsonp
感觉挺高深的,其实就是在请求的时候加上callback=xxx,服务端在返回的时候,直接将返回的json变为一个javascript函数, xxx({jsondata}),这样也可以实现跨域。
3、<script>标签
script标签中的src是可以请求不同域名下的url的,可以直接在<script>的标签下的src指定到跨域的url。
4、代理方式
这个就是将原来的请求B网站的请求到A网站的服务端,然后在由服务端去在server端代理到B网站。
5、CORS(跨域资源共享, Cross-Origin Resource Sharing)
服务端对于请求做一定的限制,可以允许是否可以接受跨域的访问。该实现比较简单,在访问的返回的header中加入如下响应标头。
Access-Control-Allow-Origin:*
*代表允许所有的域名,还可以指定固定的域名:
Access-Control-Allow-Origin:http://www.pange.xin
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python网络编程基础
目录 1、udp 2、tcp 3、socket函数 4、粘包问题 标签(空格分隔): 网络编程 目录 tcp和udp 1、udp tcp、udp是第四层传输层拥有的协议,用于在完成寻址功能后的数据传输。传输层将路由交换层和应用数据层划分开,主要提供数据传输控制。 udp的使用是面向无连接的,即协议自身的设计是不保证数据的有序性和重传的,这样的缺点是丢包率增加,并且无法有序的接收数据。不过这两个缺点都可以通过应用层来弥补。而udp的优点是报头小、数据传输效率高(不需要确认、协商各种流控制等等),所以udp更适用于数据需要快速传输,并对数据完整性并不太高的场景。比如:视频直播,要求实时传输,而且可以接受部分的丢帧。 udp报头非常的简单,核心只有端口+校验和 2、tcp tcp的使用是面向连接的,即数据的传输必须基于虚链路的完整建立。虚链路的建立提供了很多优秀的功能,比如确认重传以保证数据的完整性,滑动窗口以保证数据传输的高效性,各类选项字段提供不同的可选功能。tcp的缺点是报头大,因为需要包含比udp更多的功能字段,而且tcp数据的每次发送都必须得到确认否则将会重传。tcp一般应用于对数...
- 下一篇
在Firefox 58中,WebAssembly组件性能提升了10倍
Mozilla在Firefox 58中为WebAssembly(WASM)组件推出了一套双层编译系统,号称解析和编译WASM代码的速度达到30-60MB/s,足够在有线网络中实现实时编译。基准测试表明,新版的性能比旧版提高了10倍,比Chrome快10倍以上。 在Mozilla Hacks博客的一篇文章中,Lin Clark列举了一些测出的性能数据: 在一部台式机上,我们编译WebAssembly代码的速度高达30-60MB每秒,比网络传输数据包的速度都快。 使用Firefox Nightly或Beta的用户可以在自己的设备上体验这一进步。即使在性能一般的移动设备上编译速度也有8MB/s,快过绝大多数移动网络的平均下载带宽。 独立测试人员复现了类似的测试结果。 Reddit用户a_potato_is_missing用Luke Wagner的tanks编译速度测试做了对比,他使用一台安装了安卓系统的华为P10 Lite进行测试,结果显示,在Firefox v57中的编译速度为1.7MB/s,换成Firefox v58就提升到了11.8MB/s。 Windows 10桌面平台的测试中,编译...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路