Ajax需要注意的几个问题

在应用Ajax时,需要注意安全问题、性能问题和浏览器兼容性问题,下面进行具体介绍。
一 安全问题
随着网络的普及,安全问题已经是一个不可忽略的重要问题了。由于Web本身就是不安全的,所以尽可能降低Ajax的安全风险就显得尤为重要了。Ajax应用主要面临以下安全问题。
l、JavaScript本身的安全性
虽然JavaScript的安全性已逐步提高,提供了很多受限功能,包括访问浏览器的历史记录、上传文件、改变菜单栏等。但是,当在Web浏览器中执行JavaScript代码时,用户允许任何人编写的代码运行在自己的机器上,这就为移动代码自动跨越网络来运行提供了方便条件,从而给网站带来了安全隐患。
为了解决这一潜在的危险,浏览器厂商在一个sandbox(沙箱)中执行JavaScript代码,沙箱是一个只能访问很少计算机资源的密闭环境,从而使Ajax应用不能读取或写入本地文件系统。虽然这会给程序开发带来困难,但时,它提高了客户端JavaScript的安全性。
2、数据在网络上传输的安全问题
当采用普通的HTTP请求时,请求参数的所有的代码都是以明码的方式在网络上传输的。对于一些不太重要的数据,采用普通的HTTP请求即可满足要求,但是如果涉及到特别机密的信息,这样做则是不行的,因为某些恶意的路由,则可能读取传输的内容。为了保证HTTP传输数据的安全,可以对传输的数据进行加密,这样即使被看到,危险也是不大的。虽然对传输的数据进行加密,可能会对服务器的性能有所降低,但对于敏感数据,以性能换取更高的安全,还是值得的。
3、客户端调用远程服务的安全问题
虽然Ajax允许客户端完成部分服务器的工作,并可以通过JavaScript来检查用户的权限,但是通过客户端脚本控制权限并不可取,一些解密高手可以轻松绕过JavaScript的权限检查,直接访问业务逻辑组件,从而对网站造成威胁。通常情况下,在Ajax应用中,应该将所有的Ajax请求都发送到控制器,由控制器负责检查调用者是否有访问资源的权限。
 
二 性能问题
由于Ajax将大量的计算从服务器移到了客户端,这就意味着浏览器将承受更大的负担,而不再是只负责简单的文档显示。由于Ajax的核心语言是JavaScript,而JavaScript并不以高性能知名。另外,JavaScript对象也不是轻量级的,特别是DOM元素耗费了大量的内存。因此,如何提高JavaScript代码的性能对于Ajax开发者来说尤为重要。下面介绍几种优化Ajax应用执行速度的方法。
l、尽量使用局部变量,而不使用全局变量。
2、优化for循环。
3、尽量少用eval,每使用eval都需要消耗大量的时间。
4、将DOM节点附加到文档上。
5、尽量减少点“.”号操作符的使用。
 
三 浏览器兼容性问题
Ajax使用了大量的JavaScript和Ajax引擎,而这些内容需要浏览器提供足够的支持。目前提供这些支持的浏览器主要分为两大类
一类是IE浏览器,在IE浏览器中,只有IE 5.0及以上版本才支持;
另一类是非IE浏览器,例如Firefox、Mozilla1.0、Savari1.2及以上版本。
虽然IE浏览器和非IE浏览器都支持Ajax,但是它们提供的创建XMLHttpRequest对象的方式是不一样,所以使用Ajax的程序必须测试针对各个浏览器的兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值