- 浏览: 313130 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (243)
- Core Java (13)
- Java (12)
- Android (2)
- Lucene (3)
- J2EE (3)
- Hibernate (2)
- Jsp & Servlet (3)
- Struts2 (3)
- Spring (5)
- JSF (6)
- RichFaces (2)
- HTML & JS & DOM & CSS (87)
- browser (1)
- Ajax & A4J (2)
- Workflow (1)
- Maven (3)
- Linux (2)
- VM & VBOX (1)
- Tomcat (1)
- Cache (3)
- Others (36)
- design (1)
- PHP (1)
- Try.js (1)
- HTML5 && CSS3 && ECMAScript5 (26)
- 疯言疯语 (5)
- mongodb (2)
- Hardware Common Sence (1)
- RESTful (3)
- Nginx (2)
- web安全 (8)
- Page Design (1)
- web performance (1)
- nodejs (4)
- python (1)
最新评论
-
New_Mao_Er:
求最新的版本破解啊!!!
Omondo eclipseUML插件破解 -
konglx:
讲得仔细,谢了
全面分析 Spring 的编程式事务管理及声明式事务管理 -
cilendeng:
对所有post有效只能使用过滤器
说说Tomcat的Server.xml的URIEncoding=‘UTF-8’配置 -
jiulingchen:
mark了,灰常感谢!
JAVA中最方便的Unicode转换方法 -
anlaetion:
这算法可以有
js 字符串搜索算法
跨源资源共享是web开发领域中一个非常有趣的话题,互联网上有很多朋友讨论这个话题。跨源共享的官方文档可到这里查看,当然也有很多朋友给出各式各样的解决方案,确实都是OK的,但今天我分享的这套解决方案可能在以往的文章中很少看见—–我们如何在服务器端解决跨源资源共享的问题。
做过服务端开发的同学都知道服务器每次响应(http response)都会送回客户端一个http header,而这些http header数据中有时会带有Access-Control-Allow-Origin,请记住Access-Control-Allow-Origin不是每次都会response给客户端的,Access-Control-Allow-Origin通常是在开发者定义后会正确响应给客户端,Access-Control-Allow-Origin的意思是指定可访问控制的请求源,Access-Control-Allow-Origin字段有三种支持的值。
第一种是指定一个可访问控制的请求源,它的格式是一个完整的URL地址
Access-Control-Allow-Origin: http://qiqicartoon.com以上代码表示服务器上的这个文件只允许http://qiqicartoon.com源访问。
第二种是指定多个可访问控制的请求源,它的格式是多个完整的URL地址,以空格分开
Access-Control-Allow-Origin: http://qiqicartoon.com http://demo.qiqicartoon.com:8080
第三种是可以允许任何可访问控制的源,它的格式是一个通配符*
Access-Control-Allow-Origin: *如果服务器上的某个文件需要向任何一个没有认证的源提供访问权限的话,可以指定通配符*值
请注意,不是所有的浏览器都支持Access-Control-Allow-Origin字段,但目前主流的浏览器基本都支持。
Apache中可以执行命令a2enmod headers来暴露Access-Control-Allow-Origin,Access-Control-Allow-Origin成功暴露后,你可以在<Directory>, <Location>, <Files> or <VirtualHost> 中或者一个.htaccess文件中添加以下代码
Header set Access-Control-Allow-Origin *当然你也可以使用add而不是set,使用add可以多次添加,因为基于安全的考虑我们可能会使用add。记住修改成功后,重启apache。
在IIS6中暴露Access-Control-Allow-Origin,可通过以下步骤:
1:打开IIS服务器管理
2:右键点击你想启用CORS的站点,选择属性
3:选择Http header tab
4:在自定义http header中选择添加
5:输入Access-Control-Allow-Origin作为一个header信息
6:输入通配符*作为header的值
7:两次点击OK
IIS7中可以复制以下代码到你站点或应用程序根目录下的web.config文件中
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer> </configuration>如果你的目录中没有web.config,你可以先手动新建一个web.config
在基于NodeJS的ExpressJS中可以添加以下代码,以启用CORS
app.all('/', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); app.get('/', function(req, res, next) { }); app.post('/', function(req, res, next) { });
在PHP中,如果你没有权限访问Apache config文件,你同样可以启用CORS
header("Access-Control-Allow-Origin: *");请注意在PHP语言中,使用header function,必须要把它放在任何脚本输出之前。
在ASP.NET中,如果你没有权限访问IIS配置文件,你同样也可以启用CORS
Response.AppendHeader("Access-Control-Allow-Origin", "*");这种方法同样适用于IIS6 IIS7传统模式,以及IIS5综合模式
在APP Engine中,比如在Google APP Engine的Python application中,这个self.response.headers.add_header()可以使用
class CORSEnabledHandler(webapp.RequestHandler): def get(self): self.response.headers.add_header("Access-Control-Allow-Origin", "*") self.response.headers['Content-Type'] = 'text/csv' self.response.out.write(self.dump_csv())谁已经开始在服务端开始CORS了(据我也了解到的)?
HTML5 Rocks一个开源的HTML5开发者资源共享网站
WebKit WebKit宣布在WebGL mailing list,CORS支持图片和视频资源已经完全实施了。
火花集 中国一家创意图片分享网站。
有兴趣的话,你还可以阅读MDN的一篇文章
发表评论
-
循环数组的逻辑怎么写
2015-03-23 10:24 650应用场景这样的: var imgUrls = [ ... -
发布`代码生成器`
2014-11-17 00:45 589闲话不说,直接上地址 npm: https://www. ... -
MutationObserver
2014-10-27 15:29 1102MutationObserver MutationObse ... -
a simple mvvm library - bird
2014-10-09 18:26 733see here:https://github.com/i ... -
遍历dom tree是一件相当耗时的事情
2014-09-23 01:15 780遍历dom tree是一件相当耗时的事情,尤其是在遍历的同时 ... -
今天再讲下js里的继承
2014-09-18 00:27 700js的继承说简单也很简单,请看: function ... -
Text 类型
2014-09-05 18:52 849文本节点由Text类型表 ... -
JavaScript插入动态脚本
2014-09-05 18:47 647动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该 ... -
innerHTML插入<style>元素
2014-09-05 18:37 1167通过innerHTML写入<style>元素没 ... -
CSS实现相对浏览器窗口定位彻底研究
2014-09-05 18:33 3732Web Developer / Designer 经常需要将 ... -
JavaScript插入动态样式
2014-09-05 18:07 613能够把CSS样式包含到HTML页面中的元素有两个。其中,& ... -
再理解jQuery;delete原型属性
2014-05-13 22:05 1869以前用jQuery的时候曾粗略看了它的源码,但却不求甚解。 ... -
javascript &&和||
2012-07-23 00:38 704一直以为 && 和 || ... -
undefined 和 void 0 的区别
2012-07-20 11:15 705在读backbone源码时看见这么一段代码: if ( ... -
Fiddler - 前端开发值得拥有
2012-07-16 14:41 837最近换了新工作,搬了新家,换了新室友,一切都在重新开始。 ... -
说说我的web前端之路,分享些前端的好书
2012-07-16 14:38 796WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没 ... -
JavaScript实现 页面滚动图片加载
2012-07-16 14:29 692又到了这个月的博客时间了,原计划是打算在这个月做一个的功 ... -
JavaScript 操作 Cookie
2012-07-16 11:18 691从事web开发也有些日 ... -
Javascript定义类(class)的三种方法
2012-07-12 12:35 590程序员们做了很多探索,研究如何用Javascript模拟”类” ... -
利用CORS实现跨域请求
2012-06-21 10:12 1859跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都 ...
相关推荐
这个“Nextcloud 服务端 源代码安装包nextcloud-19.0.1.zip”包含了Nextcloud 19.0.1版本的源代码,使得用户可以进行自定义配置和深度定制,以适应不同的系统环境和功能需求。 1. **Nextcloud核心功能**: - 文件...
**Rsync技术详解** ...总结,Rsync是跨平台的数据同步利器,无论是在Windows还是Linux环境中,都能提供高效、可靠的文件同步解决方案。通过理解Rsync的工作原理和使用方法,可以极大地提高文件管理和备份的效率。
标题中的“ice客户端和服务端”指的是ZeroC的ICE(Internet Communications Engine)框架,这是一个高性能、跨平台的中间件,用于构建分布式系统。ICE提供了一种面向对象的接口,支持多种编程语言,包括C++、Java、...
对于移动端应用,虽然它们也可以使用JSONP,但现代浏览器普遍支持CORS(跨源资源共享),因此通常推荐使用JSON格式配合CORS进行前后端数据交换,以获得更好的安全性和灵活性。只需要服务端在响应头中设置相应的CORS...
例如,如何创建新的SVN仓库,如何将本地项目导入仓库,如何检出工作副本,如何提交更改,如何解决冲突,以及如何使用分支和标签进行版本管理和协同开发。这些教程通常包括图文并茂的步骤说明,有的还包含视频教程,...
解决跨域问题,我们可以采用CORS(Cross-Origin Resource Sharing,跨源资源共享)机制。这个压缩包中包含的文件"web.xml"和两个jar包,就是实现服务端CORS支持的关键。 1. **导入jar包**: "cors-filter-1.7.1....
这暗示我们将学习如何使用VC来编写DDE服务端程序,并且这些源代码具有实际应用价值,可能包含解决特定问题或实现特定功能的示例。 **DDE服务器编程基础知识** DDE服务器是实现DDE通信的一方,它监听来自DDE客户端...
Apache2 + mod_dav_svn适合大型、跨平台的项目,而VisualSVN Server则更适合Windows环境。 2. **下载与安装**: 根据你的操作系统和需求,访问官方网站下载相应版本的安装包。Windows环境下,通常推荐使用VisualSVN ...
可以使用CORS(跨源资源共享)或者其他服务器端代理方法来解决这个问题。同时,为了保护用户隐私,必须遵守相关的数据保护法规,如GDPR(欧洲通用数据保护条例),在获取和处理个人信息时需得到用户的明确同意。 综...
后台服务端的跨域解决方案通常涉及使用CORS(Cross-Origin Resource Sharing,跨源资源共享)机制。CORS是一种安全机制,允许网页从不同的源加载资源。它依赖于服务器的支持,服务器必须对HTTP请求做出响应,并包含...
JSONP(JSON with Padding)是一种跨域数据交互协议,它利用了HTML的`<script>`标签可以不受...然而,考虑到其局限性和安全性,对于更复杂或安全性要求较高的场景,可能需要考虑其他跨域技术,如CORS(跨源资源共享)。
CORS是一种机制,通过添加HTTP头来告诉浏览器允许跨源访问。 #### 二、CORS的工作原理 CORS根据请求的不同类型分为**简单请求**和**非简单请求**。 ##### 1. 简单请求 当请求符合以下条件时,被视为简单请求: - ...
在处理这种情况时,服务器端可以通过设置CORS(Cross-Origin Resource Sharing,跨源资源共享)头来允许特定的跨域请求。这个过程通常涉及修改HTTP响应头,添加`Access-Control-Allow-Origin`字段,允许指定的源进行...
通过分析并实践这些源代码,读者可以更好地理解Web服务的工作原理,学会如何在实际项目中应用Web服务技术,解决跨平台、跨系统的信息共享问题。同时,对于初学者来说,这是一个很好的起点,而对于有经验的开发者,它...
CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种允许浏览器向跨源服务器发出XMLHttpRequest请求的技术规范。CORS通过在HTTP头部增加特定的信息来实现跨域请求的安全验证。CORS主要分为简单请求和非简单...
1. **服务端配置CORS(Cross-Origin Resource Sharing,跨源资源共享)**: SpringBoot应用可以通过配置CORS来允许特定或所有来源的跨域请求。在SpringBoot应用中,你可以创建一个配置类,比如`CorsConfig`,并添加...
跨源读取阻塞 详见:CORB 最常见的就是关于跨域资源共享的问题,也就是我们通常说的跨域。当我们本地服务器预览页面,使用ajax访问远程服务器的内容时就会请求失败,比如:本地预览的地址是:http://localhost:8080/...
除了JSONP之外,还有其他解决跨域问题的方法,例如使用CORS(跨源资源共享)等。CORS是一种更为强大和灵活的跨域解决方案,它通过在HTTP头中增加额外的信息来控制访问权限,从而允许或拒绝跨域请求。不过,由于CORS...
在压缩包文件"remotecontrol"中,可能包含了各个章节的源代码实例,这些实例可能涵盖FTP服务端和客户端的实现,以及不同远程控制协议的解析和执行。通过分析这些代码,读者可以逐步理解远程控制的工作流程,学习到...
此协议的关键在于内存共享和同步机制,它有效地解决了Android系统中Camera资源的独占问题,使得多个应用能够协作处理同一视频源,为执法软件提供了流畅的视频流体验。完整代码包含了实现这些功能的详细逻辑,包括...