[总结] 关于 JavaScript 跨站点/域服务的资料

来源:互联网 发布:钢笔字帖推荐 知乎 编辑:程序博客网 时间:2024/06/04 18:17

  最近在一个项目中要求实现一个给网站用户提供消息定制的服务,即给用户提供一个 Javascript 脚本,让网站用户可以通过操作定制一些有用的信息(具体内容暂时不便透露,请谅解:)。在这个项目里,为了减少服务器的负载,要求用户通过操作将设置保存在本地的 Cookie 里,个别时候也会用到 JavaScript 跨站点通信技术。石头在程序的开发摸索过程中得到了一些经验,记下来以供日后参阅,也希望对大家有些帮助。

  首先,要弄清楚几个关键性的问题:A. 要提供这种“定制型”的跨域的服务,必须试着让客户端去生成Cookie,否则很难指定服务器端每次去生成特定域的Cookie,让网站用户使用。B. 由于服务的复杂性,难免出现要去服务器端获取信息的情况(客户端只能用JavaScript)。C. IE和FX的Cookie处理机制不一样,FX也许能获得不同域的Cookie但是IE不行。D. 虽然风头正劲,但是 XMLHTTPRequest 是不允许跨域提交的。

  也许大家会觉得奇怪这些问题看起来没什么大的关联,但是在一个比较复杂的“网络定制服务”或者其他使用 JavaScript 来提供用户交互使用的服务里(比如:Google Ads),必然会遇到这些问题。这样说吧,正是由于"C"所以我们必须用"A"的方式去实现,而由于"D"所以在进行"B"的时候我们不得不排除使用"Ajax"的可能。

  我想如果你有这方面的经验一定不难理解我的意思,以下石头会提供一些对以上问题有所帮助和启发的资源:当然,出于服务灵活性方面的考虑,我不推荐你让服务器端生成Cookie,我会尽量在服务器生成有用的信息,然后试着让客户端获得信息并生成Cookie来完成特定服务;但是如果你一定要使用跨站点的Cookie,看看这篇文章 http://www.dup2.org/node/384 应该会对你有所帮助。对于JavaScript访问远程URL,我推荐你看看这篇资料 http://drnicwilliams.com/2006/11/21/diy-widgets/ 和另外一篇相关资料 http://ha.ckers.org/xss.html 或许你还有可能成为一个出色的 XSS Hacker 哦。

  补充一点:在JavaScript跨域通信方面,那么现在热门的 JSON 技术应该能满足你大部分的需求。好了,说了不少,休息一下吧 ... 当然,如果那个消息定制服务完成并开放后,会给大家更详细的使用和开发信息的,如果有什么问题或者想法欢迎和我来一起讨论:)

  我的EMailContact Me :) 

原创粉丝点击