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

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

2.Apache 反向代理 推荐1

3.jsonp ,2

4.CORS,2

5.iframe+post3

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

7.服务器中转 3

8.Js3

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 , .

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

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

4.CORS,

如果我们要使用CORS,相关Ajax代码可能如下所示:

[html]view plaincopy

1.varxhr=newXMLHttpRequest();

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/这篇文章里对各种服务器和语言的设置都有详细的介绍,下面我们主要介绍ApachePHP里的设置方法。

ApacheApache需要使用mod_headers模块来激活HTTP头的设置,它默认是激活的。你只需要在Apache配置文件的<Directory>, <Location>, <Files><VirtualHost>的配置里加入以下内容即可:

[html]view plaincopy

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

PHP:只需要使用如下的代码设置即可。

[html]view plaincopy

1.<?php

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

以上的配置的含义是允许任何域发起的请求都可以获取当前服务器的数据。当然,这样有很大的危险性,恶意站点可能通过XSS攻击我们的服务器。所以我们应该尽量有针对性的对限制安全的来源,例如下面的设置使得只有http://blog.csdn.net这个域才能跨域访问服务器的API

[html]view plaincopy

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的平台有很多,例如:

Google APIClient Library for JS

Google CloudStorage

Face.com API

未来

从所有的浏览器都支持来看,CORS将成为未来跨域访问的标准解决方案。无论是自己服务器间的跨域访问,还是开放平台为第三方提供API,都将采用这种统一的解决方案,因为它简单、高效,受到所有主流浏览器的支持。它非常重要,也会让我们的网络变得更加开放。

10.参考

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

HTML5安全:CORS(跨域资源共享)简介-蒋宇捷的专栏-博客频道- CSDN.NET.htm

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

  1. 常见js跨域解决方案

    以下为几种常见js跨域解决方案: ajax跨域请求 一.使用jsonp方式实现跨域请求 $.ajax({async: false, type:"POST",dataType: 'j ...

  2. 前端JS跨域解决方案

    JS跨域请求 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何 ...

  3. js跨域解决方案php,详解js跨域原理以及2种解决方案_javascript技巧

    1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器的数据,此时,客户端会出现跨域问题. 跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本 ...

  4. js跨域解决方案(一)

    域名.端口只要有一个不同就会出现跨域的问题. 以下把域名端口不同的服务器统称为跨域服务器.代码用java语言解释. 我也是看别人博客才知道可以通过调用跨域服务器解决 因为js文件是可以跨域的,就像我们 ...

  5. JS跨域请求解决方案-CORS

    文章目录 JS跨域请求解决方案-CORS 1.JS跨域请求 测试JavaScript的跨域请求(失败) 2. 跨域解决方案CORS 普通实现方法 springMVC的跨域请求注解 3.分布式Id解决方 ...

  6. js最全的十种跨域解决方案

    在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同 源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问 ...

  7. Node.js跨域请求解决方案

    Node.js跨域请求解决方案 一.缘由: 初到公司,老大让去解决之前项目客户提出的一个小问题,对某一模块进行访问验证,之前的项目是PHP做的,对此不了解,因此不打算先学习PHP再去解决问题,考虑到客 ...

  8. node.js后端及Vue前端跨域解决方案

    node.js后端及Vue前端跨域解决方案 从目前我了解的情况来看,前后端跨域使用的方式有很多种,这里记录我使用最顺手的一种,即在后端使用cors跨域 node.js后端跨域解决方案 先看后端的入口文 ...

  9. js跨域请求方式 ---- JSONP原理解析

    这篇文章主要介绍了js跨域请求的5中解决方式的相关资料,需要的朋友可以参考下 跨域请求数据解决方案主要有如下解决方法: 1 2 3 4 5 JSONP方式 表单POST方式 服务器代理 Html5的X ...

最新文章

  1. 爬虫之requests模块cookieJar对象转换为cookies字典的方法
  2. 9岁去读博!全球最年轻的大学毕业生火了:4岁上小学,8岁进入荷兰“中科大”,智商145...
  3. Python学习入门基础教程(learning Python)--1.4 Python数据处理基础 .
  4. 亚马逊智能语音助手Alexa大举招聘 放出400个职位
  5. 【机器学习】岭回归(L2正则在干嘛!)
  6. ios上input框上边有阴影
  7. window.btoa()方法;使字符编码成base64的形式
  8. Linux 用户态与内核态的交互——netlink 篇
  9. javacc解析json报错
  10. linux yum list、search、-y、install、update、remove、grouplist、groupinstall、groupremove
  11. php.ini 中开启短标签 ?=$?
  12. 深度学习|三维重建:R-MVSNet
  13. zabbix3.2监控linux内存
  14. 瑞友天翼服务器系统资源不足,瑞友天翼问题处理
  15. AIX补丁中TL、SP、CSP、IF、PTF的含义
  16. android nexus 刷机工具包,Nexus5刷机救砖Recovery详细教程
  17. C++操作图像、图片
  18. IDM下载哔哩哔哩视频MP4格式
  19. 网页中视频在线播放脚本
  20. R for LC+cohort

热门文章

  1. MinGW安装与使用简介
  2. 来自Mozilla的CSS书写规范建议
  3. Embarcadero公司花2千3百万买下Borland的开发工具业务
  4. SQL语句导入导出大全
  5. MySQL 和 Innobackup 不定期卡住的秘密
  6. ORA-12012 Error on auto execute of job SYS.ORA$AT_OS_OPT_SY_NN in 12.2.0 Database
  7. 部署 SCCM 2012R2之三:系统准备篇
  8. H3CTE京东翰林讲师分享实验2 网络设备基本调试
  9. iBATIS教程之like语句的写法浅析
  10. oracle rac安装