AJAX也有安全隐患

AJAX的好处

  在当年“Web应用程序”的美好时代,事情非常简单。你填写了一个表单,点击“提交”按钮,然后当前屏幕就消失了,等待一小会儿后你就转入到了下一个页面。今天的状况已经不是这样的了,用户需要的是一种就像任何桌面应用程序那样流畅、快捷和人性化的Web体验。

  AJAX经常是和DHTML(Dynamic HTML)一起协作的,它的顺利执行需要允许网页中的JavaScript代码和web服务器在后台无缝通讯。比方说,当你开始在Google Suggest的搜索框中输入东西时,web页面就和服务器在后台开始交换数据,然后会给出一些你可能需要的词条等。所有的这一切都不需要页面刷新或者按 下任何按钮。同样这也就是像Gmail那样的应用程序怎么能对实时拼写检查做的那么好的原因。

  AJAX怎样工作

  AJAX复杂的原理已经超出了今天所要阐述的范围,这里只简单描述一下。你的页面上的JavaScript代码能够在不依赖于用户的情况下和你 的Web服务器取得联系。这里面起核心作用的就是JavaScript的XMLHttpRequest对象,这个对象能够被就像用户敲击键盘或者时钟事件 在后台或者异步触发(也就是术语异步JavaScript和XML)。

  如果你在Google Suggest中输入“ajax”后,就会得到像我输入后得到的服务器请求一样:

 

1. www.google.com/complete/search?hl=en&js=true&qu=aj

2. www.google.com/complete/search?hl=en&js=true&qu=aja

3. www.google.com/complete/search?hl=en&js=true&qu=ajax

  在这个术语中的XML部分有一点会引起人们的误解,其实这一部分是没有任何意义的。它是从JavaScript对象得来的名字,同时许多 AJAX风格的应用程序使用了XML,这个对象能够就任何事务向服务器发出一个请求。甚至JavaScript代码本身也能够被取回和评估。继续完成我的 输入“ajax example”,将会从Google的服务器产生下面的回应:

 

sendRPCDone(frameElement, “ajax example”, new Array(”ajax example”, “ajax examples”), new Array(”153,000 results”, “177,000 results”), new Array(”"));

  这将会给你一些关于强大的AJAX的暗示吧,它具有在运行中(on the fly)把新的JavaScript代码加入到浏览器中的能力。然而,最优化的方法看起来好像束缚了XML协定。举个例子说明一下,比如Google产生了下面的这个东西:

  ajax example

  153,000

  ajax examples

  177,000

  显然,你可以在一个合适的表单中解释这些XML数据,但我们要感谢JavaScript,它确实能够在一些非常典型的限制条件下和大量讨厌的IE bug环境里非常好的处理XML对象。

  为了帮助你理解一些Ajax的问题,我在这里给你介绍一个假想的旅行公司-“时代尖端旅行公司”。由于受到AJAX bug的推动,他们的主要web开发者Max Uptime为了创建一个这样的应用程序,他决定混合使用AJAX,这样,他走在时代尖端了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值