脚本运行平台

一、在客户端运行脚本
在客户端和服务器端都可以运行脚本,并且很容易区分客户端脚本和服务器端脚本这个完全不同的操作。客户端脚本是在客户机上运行的脚本程序.其运行环境是客户端的web浏览器;而服务器端脚本是在服务器计算机上运行的脚本程序.其运行的环境是web服务器软件。对于是在客户端还是在服务器端运行脚本的问题.其回答对于每一种脚本而言是不同的,网站建设并且也依赖于一些基本的因素。迄今为止所编写的大部分程序可能都有这样的一个隐含的假设,即程序的每一行代码都是在同一台计算机上运行。如果在两台不同的计算机上运行脚本,那么web应用程序就不能从单一的处理器上实现,无疑多个处理器同时完成程序的任务可带来更高的效率。
那么,是什么因素决定哪一台计算机上运行特定的脚本呢?其中一个主要的原则是:如果脚本能够在客户运行,就应该让客户端完成。因为无论是客户端计算机还是服务器,都要为在web服务器上执行的计算付出代价。另一方面,如果在客户端计算机完成计算任务,客户端和服务器端都不必花费太多,基于这一经济上的考虑,每一个能够下载到客户端计算机上完成的任务都应该由客户端完成。
例如,在身份验证的例子中,对表单中所填人的丙容是否符合限制规则的验证是在表单中数据被传送到服务器之前完成的。可以设想,如果同时有100个用户向服务器提交在表单中填人的信息,若不在客户端而在服务器端,对分散在100台客户端计算机上的计算时间相对而言就少得多了,客户端和服务器端都乐于采用这种方式。如果一个任务只能在客户端完成,那么它就必须采用客户端脚本来完成。这条原则是显而易见的。一般说来只能在客户端完成的脚本是指那些使用了仅仅在客户端浏览器中存在的内在对象的脚本。例如:用来控制用户所查看窗口或者文档的对象。其他的脚本可能在客户端和服务器端都能够运行,那么,就可遵循这一原则来决定到底在何处运行脚本。
二、在服务器端运行脚本
使用服务器端脚本来完成某个任务要考虑如何使web应用程序尽可能地迅速响应,在客户机和服务器计算机之间的internet连接通常是一条很窄的通道。如果采用客户端脚本来完成某个任务意味着使这个通道充满了大量的数据,而仅仅是节省了web_服务器的一点点计算时间,那么web应用程序的响应速度将会非常慢,例如,当需要从一个大的数据库中收集信息时,尽管使用客户端脚本也可以操作一个数据库并且收集信息,但还是使用服务器端脚本更好,因为这样可以使得只有那些关键性的必要信息通过http连接传送给客户端。
如果一个任务只能在服务器端完成,那么就必须采用服务器端脚本来完成。如果一个任务需要用到内建对象,那么该任务只能在服务器端完成,因为内建对象只在服务器端存在。仅仅存在于服务器环境中的内建对象,例如session对象,是一个可以在其中存人有关某个用户会话(二。ion)信息的数据对象。只要仍然在使用web应用程序中的某个页面.就可以永久地保留这些信息。例如,可以用sessi二对象为用户提.供一个类似于“购物小车”的特性。如果web应用程序提供给客户端一个购物场所。用session对象保存在服务3上,在某个时候,客户端就可以获得一个特殊页面,在其中列出所选择的所有对象。使用服务器端脚本也有安全性方面的考虑。有时候可能不想公开脚本代码,如果在ht-ml文档中嵌人客户端脚本,那么所有访问者都可以看到,而使用服务器端脚本则可以将那些需要保密的脚本作为服务器端脚本;存放在web服务器上。
另外,有时候在脚本的代码中可能包含了有关web应用程序的关键性的信息.这些信息如果被别人窃取的话,就有可能对web站点进行攻击。例如,如果信用卡数据库的计算机名字和数据库名字泄露,那么数据库服务器就成了外来攻击的一个明显的目标,刃9是非常危险的。任何客户端脚本都能够被别人查看和分析,而服务器端脚本在这一点上是足够安全的。考虑在何处运行脚本的最后一个因素是任务的困难程度。通常客户端系统比起服务器来,是小的多而且慢的多的系统。所以,在使用客户端脚本的时候,要考虑到这个任务是否脂够在某一可以忍受的时间内由客户端系统来完成。例如,最好不要让客户.端系统来完成要使用复杂的人工智能技术才能完成的任务,因为:这个任务很可能会使客户端计算机的运行速度变得慢,_并对服务器不能影响石
用来完成一项复杂任务的脚本很可能包含了大量的代码,这意味着大量的额外的文本代码要通过internet来传送到客户端。
上一个:如何将极简风格的原则运用到网站设计中?
下一个:当前社区O2O还存在的五大问题
昌乐网站建设,昌乐做网站,昌乐网站设计