APP下载

Ajax技术缺陷及其优化

2010-08-15王玉娟徐绕山

科技传播 2010年6期
关键词:访问控制浏览器页面

王玉娟,徐绕山

南京信息职业技术学院,江苏 南京 210046

1 研究的实际和理论意义

软件开发在前几年进行了C/S方式到B/S方式的转变,B/S方式的优点明显,然而也存在着不足之处,主要表现在以下几个方面:

1)网络带宽问题。这个问题在局域网应用不存在,但在广域网下就可能是问题。但随着互联网的高速发展和https技术的广泛应用,这个问题应该是越来越小,反之C/S方式在广域条件下应用,是更麻烦的事情,如果不配置VPN,就要去用程序做数据同步。

2)服务器负载。实际上随着集群技术的应用和PC Server价格的不断降低,这个问题也不是问题,并且如果用户数真的很多,可能B/S反而好做一点,而C/S并不能直接用DB SERVER支撑大用户量,而是还需要一个中间的应用服务层,即C/S/S架构才能支持。

3)用户易用性。这个才是很多用户权衡时考虑的重点。在一般概念中,B/S的界面远远比C/S的界面用起来不方便。

而Ajax技术就解决了B/S方式所遇到的困难,它使得用户可以在浏览器中像在桌面软件上一样轻松、方便地操作,而且不需要安装插件、控件之类的东西,使得Web应用的优势充分发挥出来。

2 Ajax技术存在的缺陷

目前,Ajax已经成为web应用的主流开发技术,大量的业界巨头已经采纳并且在大力推动这个技术的发展。例如,IBM、Oracle、Yahoo等业界领先的公司启动了Open Ajax项目,致力于为Ajax开发建造先进强大的开发工具;微软开发了自己的Ajax框架Altas,用于和服务器端的ASP.NET框架配合工作;Sun公司也将Ajax技术列入J2EE的蓝图中,作为J2EE技术的有益补充。然而与任何新生技术一样,Ajax在某些方面可能犯错误。

1)XMLHttpRequest的有效性

XMLHttpRequest是Ajax的最核心技术,开发者面对的一个最大问题是当XMLHttpRequest不可用时如何反应。虽然大部分现代浏览器支持XMLHttpRequest,但还是有少量的用户,他们的浏览器不能支持,或由于浏览器安全设置而阻止对XMLHttpRequest的使用。

2)可用性考虑

围绕着Ajax应用的大部分问题都是很普通的问题。例如,让用户知道他们的输入已经被注册并处理,是很重要的,因为在XMLHttpRequest处理过程中并不能提供通常的漏斗旋转光标。另一个问题是,用户可能没有注意到他们正在观看的页面已经被更新。可以通过使用各种视觉技巧来将用户的眼光吸引到页面的更新区域。还有一个问题是通过Ajax更新页面打断了浏览器“退回前页”按钮的正常工作,地址栏中的URL不能反映页面的全部状态,并且不能使用书签功能。

3)服务器负载

使用Ajax界面代替传统的基于form的界面可能戏剧性地增加传递到服务器的请求数量。例如,一个普通的Google搜索给服务器造成一次命中,并在用户确认搜索表单时发生。然而,Google Suggest,将会试图自动完成你的搜索词,在用户打字时将会往服务器发送多个请求。

4)处理异步

没有任何东西可以保证XMLHttpRequest将会按照它们被发送的顺序来依次结束。实际上,在设计系统时,应该始终假定它们不会按原来顺序结束,此时应考虑该如何处理异步服务器响应。

总之,从目前来看,Ajax的应用还不是很成熟。

3 解决方案

本文针对Ajax应用中的服务器负载加重,异步通信的无序性和XMLHttpRequest可用性等问题给出了解决方法。

1)XMLHttpRequest的有效性

解决XMLHttpRequest的有效性首先使用“穷举法”适应不同的浏览器。对于当今流行的浏览器如IE、Navigator、Firefox等新近版本都对XMLHttpRequest提供了支持。

虽然大部分现代浏览器支持XMLHttpRequest,但还是有少量的用户的浏览器不能支持,或由于浏览器安全设置而阻止对XMLHttpRequest的使用。所以,可以采用对特殊应用环境的“正常降级”使用,保证应用系统能正常运行,在系统中保留适用于不支持XMLHttpRequest的浏览器的功能。

解决方法之一是设置当浏览器不支持XMLHttpRequest时,可以进行常规的提交处理,并执行页面的整体刷新来反映状态的变化。Ajax的行为可以在页面被载入时通过JavaScript添加到页面中,只在XMLHttpRequest可用的情况下,为操作绑定JavaScript处理函数。另一个方法是在用户登录时检测XMLHttpRequest是否可用,再决定是提供Ajax版本还是常规基于form提交的版本。

2)服务器负载

使用Ajax界面代替传统的基于客户端表单元素的界面根据用户的操作,使页面局部刷新而不是整个页面重新载入,可能产生急剧地增加传递到服务器的请求数量。会造成服务器负载过重。例如,Google Suggest,将会试图自动完成你的搜索词,在用户打字时将会往服务器发送多个请求。

解决方法可以从两个方面考虑,即减少网络流量和减少服

2)以交换式集线器代替共享式集线器的方式将不失为解除隐患的又一方法。

强化计算机管理是网络系统安全的保证,加强设施管理,确保计算机网络系统实体安全;强化访问控制,力促计算机网络系统运行正常。

访问控制是网络安全防范和保护的主要措施,它的任务是保证网络资源不被非法用户使用和非常访问,是网络安全最重要的核心策略之一。

第一,建立入网访问功能模块。入网访问控制为网络提供了第一层访问控制。用户的入网访问控制可分为3个过程:用户名的识别与验证;用户口令的识别与验证;用户帐号的检查。在3个过程中,如果其中一个不能成立,系统就视为非法用户,则不能访问该网络。

第二,建立网络的权限控制模块。

第三,建立属性安全服务模块。属性安全控制可以将给定的属性与网络服务器的文件、目录和网络设备联系起来。属性安全在权限安全的基础上提供更进一步的安全性。网络属性可以控制以下几个方面的权限:向某个文件写数据、拷贝一个文件、删除目录或文件的查看、执行、隐含、共享及系统属性等,还可以保护重要的目录和文件,防止用户对目录和文件的误删除、执行修改、显示等。

第四,建立网络服务器安全设置模块。网络服务器的安全控制包括设置口令锁定服务器控制台;设置服务器登录时间限制、非法访问者检测和关闭的时间间隔;安装非法防问设备等。安装非法防问装置最有效的设施是安装防火墙。它是一个用以阻止网络中非法用户访问某个网络的屏障,也是控制进、出两个方向通信的门槛。

第五,建立档案信息加密制度。

第六,建立网络智能型日志系统。日志系统具有综合性数据记录功能和自动分类检索能力。在该系统中,日志将记录自某用户登录时起,到其退出系统时止,这所执行的所有操作,包括登录失败操作,对数据库的操作及系统功能的使用。日志所记录的内容有执行某操作的用户保执行操作的机器IP地址、操作类型、操作对象及操作执行时间等,以备日后审计核查之用。

第七,建立完善的备份及恢复机制。为了防止存储设备的异常损坏,可采用由热插拔SCSI硬盘所组成的磁盘容错阵列,以RAID5的方式进行系统的实时热备份。同时,建立强大的数据库触发器和恢复重要数据的操作以及更新任务,确保在任何情况下使重要数据均能最大限度地得到恢复。

第八,建立安全管理机构。安全管理机构的健全与否,直接关系到一个计算机系统的安全。其管理机构由安全、审计、系统分析、软硬件、通信、保安等有关人员组成。

随着互联网的飞速发展,网络安全逐渐成为一个潜在的巨大问题。网络安全性是一个涉及面很广泛的问题,其中也会涉及到是否构成犯罪行为的问题。在其最简单的形式中,它主要关心的是确保无关人员不能读取,更不能修改传送给其他接收者的信息。此时,它关心的对象是那些无权使用,但却试图获得远程服务的人。安全性也处理合法消息被截获和重播的问题,以及发送者是否曾发送过该条消息的问题。

猜你喜欢

访问控制浏览器页面
刷新生活的页面
反浏览器指纹追踪
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
环球浏览器
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术
浏览器