设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

Jetty 7 RC2发布,支持跨域名XMLHttpRequest

2009-8-5 14:56| 发布者: walkerxk| 查看: 1774| 评论: 0

刚刚发布的FireFox 3.5 给我们带来很多新的改进,其中一个值得开发者注意的新特性就是使用 XMLHttpRequest 对象进行跨域名的 HTTP 请求,用 Mozilla 的术语来说就是 cross-origin 请求。

我们都知道因为安全的原因,多数浏览器都限制了Ajax请求以及脚本加载的时候只能是跟当前页面的源是一致的,例如 我们访问呢 http://www.oschina.net 页面,那么我们做的 XMLHttpRequest 请求只能是针对 www.oschina.net ,而不能是 wap.oschina.net 或者 http://www.oschina.net:8080/ ,后者因为端口不同。

这是个很棘手的问题,特别是在一些负载较重的基于 JavaScript 的Web应用,例如 Cometd 应用,这些应用经常需要跟多个域名打交道来,一是可以将请求分摊到不同的服务器,而是访问不同的业务。

针对这一限制,有人会采用一些变通的做法,例如使用 Bayeux 通讯框架,该框架是基于 JSONP 协议的,通过在 DOM 中注入 script 元素来连接到不同的域名上。

当然,这种方式是可行的,但可靠性比起标准的相同域名的 Ajax 调用要差得多。

幸运的是 W3C 新出的一个规范 Cross-Origin Resource Sharing Specification 中对该限制进行了改进。而 FireFox 3.5 已经实现了该规范,因为其他浏览器目前还没动静,所以你还是需要慎重考虑一下是否采取该技术。

而对于服务器端来说,新发布的 Jetty 7.0.0 RC2 给我们带来一个全新的 Filter 类用来实现该 cross-origin 规范。关于这个 Filter 更详细的信息请看这里


酷毙

雷人

鲜花

鸡蛋

漂亮

相关阅读

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部