AjaxAtitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持

Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持

 

1. 设置 document.domain为一致  推荐1

2. Apache 相反朝代理 推荐1

3. jsonp ,2

4. CORS ,2

5. iframe+post3

6. 回调解决方案>>服务端推送dwr 反向ajax3

7. 服务器中转 3

8. Js跨3

9. 起有着的浏览器都支持来拘禁,CORS将改成未来跨域访问的正经解决方案3

10. 参考4

 

 

1. 设置 document.domain为一致  推荐

2. Apache 相反朝代理 推荐

 

   listen 80

   NameVirtualHost *:80

 <VirtualHost *:80>

 #DirectoryIndex  index.php index.Html index.html 

   

  # DocumentRoot  D:\home_src\orderserver\public_html

  

 #   ServerName weixin.erdian.net  

    ProxyPreserveHost On  

    ProxyRequests Off  

    ProxyPass /ati http://localhost:8080/ati  

    ProxyPassReverse /ati http://localhost:8080/ati

 ProxyPass /ecs http://localhost:8081/ecs  

    ProxyPassReverse /ecs http://localhost:8081/ecs  

   

 

 

   </VirtualHost>

 

3. jsonp , .

 

笔者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

4. CORS ,

倘我们只要运CORS,相关Ajax代码可能如下所示:

[html] view plain copy

1. var xhr = new XMLHttpRequest();  

2. xhr.open(“GET”, “http://blog.csdn.net/hfahe”, true);  

3. xhr.send();  

        请留意,代码和前面的别就是在相对路径换成了其他域的绝对路径,也就是是您要是跨域访问的接口地址。

     2、  服务器

        服务器端对于CORS的支撑,主要就是通过设置Access-Control-Allow-Origin来展开的。如果浏览器检测到相应的安装,就足以允许Ajax进行跨域的造访。

        HTTP 头的安方法有成千上万,http://enable-cors.org/眼看篇稿子里对各种服务器和言语的安都生详细的介绍,下面我们要介绍Apache和PHP里的装置方式。

        Apache:Apache需要以mod_headers模块来激活HTTP头的设置,它默认是激活的。你就待在Apache配置文件的<Directory>, <Location>, <Files>或<VirtualHost>的配备里在以下内容即可:

[html] view plain copy

1. Header set Access-Control-Allow-Origin *  

        PHP:只待利用如下的代码设置即可。

[html] view plain copy

1. <?php  

2.  header(“Access-Control-Allow-Origin:*”);  

        以上的布的含义是允许任何域发起的乞求都可得当前服务器的数目。当然,这样来异常挺的危险性,恶意站点或由此XSS攻击我们的服务器。所以我们应有尽可能生指向的指向限制安全之自,例如下面的装置使得只有http://blog.csdn.net这个域才能跨域访问服务器的API。

[html] view plain copy

1. Access-Control-Allow-Origin: http://blog.csdn.net  

 

5.  iframe+post

 

6. 回调解决方案>>服务端推送dwr 反向ajax

 

加轮询

7. 服务器中转

 

8. Js跨

document.write(window.location.host);//localhost:8080

 

9. 从拥有的浏览器都支持来拘禁,CORS将成未来跨域访问的业内解决方案

 

使案例

        目前国外支持CORS的平台发出多,例如:

Ajax 1

        Google APIClient Library for JS

        Google CloudStorage

Ajax 2

        Face.com API

未来

        从有的浏览器都支持来拘禁,CORS将改为未来跨域访问的正规解决方案。无论是自己服务器间的跨域访问,还是开放平台为老三正提供API,都拿祭这种统一的解决方案,因为它们概括、高效,受到所有主流浏览器的支撑。它好重大,也会受咱的网更换得愈开放。

 

10. 参考

Atitit. Js 跨域回调解决方案的原理and实现最佳实践

HTML5安:CORS(跨域资源共享)简介 – 蒋宇捷的特辑 – 博客频道 – CSDN.NET.htm

 

相关文章