Web Design
Mobile Internet
Brand Design
Innovative
News
Encyclopedias

腳本運(yùn)行平臺(tái)

Date:2014-06-27 Aource:尚品中國(guó) Type:網(wǎng)站百科
Word Size:small  medium  big

 一、在客戶(hù)端運(yùn)行腳本

在客戶(hù)端和服務(wù)器端都可以運(yùn)行腳本,并且很容易區(qū)分客戶(hù)端腳本和服務(wù)器端腳本這個(gè)完全不同的操作??蛻?hù)端腳本是在客戶(hù)機(jī)上運(yùn)行的腳本程序.其運(yùn)行環(huán)境是客戶(hù)端的Web瀏覽器;而服務(wù)器端腳本是在服務(wù)器計(jì)算機(jī)上運(yùn)行的腳本程序.其運(yùn)行的環(huán)境是Web服務(wù)器軟件。對(duì)于是在客戶(hù)端還是在服務(wù)器端運(yùn)行腳本的問(wèn)題.其回答對(duì)于每一種腳本而言是不同的,網(wǎng)站建設(shè)并且也依賴(lài)于一些基本的因素。迄今為止所編寫(xiě)的大部分程序可能都有這樣的一個(gè)隱含的假設(shè),即程序的每一行代碼都是在同一臺(tái)計(jì)算機(jī)上運(yùn)行。如果在兩臺(tái)不同的計(jì)算機(jī)上運(yùn)行腳本,那么Web應(yīng)用程序就不能從單一的處理器上實(shí)現(xiàn),無(wú)疑多個(gè)處理器同時(shí)完成程序的任務(wù)可帶來(lái)更高的效率。

 
腳本運(yùn)行

那么,是什么因素決定哪一臺(tái)計(jì)算機(jī)上運(yùn)行特定的腳本呢?其中一個(gè)主要的原則是:如果腳本能夠在客戶(hù)運(yùn)行,就應(yīng)該讓客戶(hù)端完成。因?yàn)闊o(wú)論是客戶(hù)端計(jì)算機(jī)還是服務(wù)器,都要為在Web服務(wù)器上執(zhí)行的計(jì)算付出代價(jià)。另一方面,如果在客戶(hù)端計(jì)算機(jī)完成計(jì)算任務(wù),客戶(hù)端和服務(wù)器端都不必花費(fèi)太多,基于這一經(jīng)濟(jì)上的考慮,每一個(gè)能夠下載到客戶(hù)端計(jì)算機(jī)上完成的任務(wù)都應(yīng)該由客戶(hù)端完成。

例如,在身份驗(yàn)證的例子中,對(duì)表單中所填人的丙容是否符合限制規(guī)則的驗(yàn)證是在表單中數(shù)據(jù)被傳送到服務(wù)器之前完成的??梢栽O(shè)想,如果同時(shí)有100個(gè)用戶(hù)向服務(wù)器提交在表單中填人的信息,若不在客戶(hù)端而在服務(wù)器端,對(duì)分散在100臺(tái)客戶(hù)端計(jì)算機(jī)上的計(jì)算時(shí)間相對(duì)而言就少得多了,客戶(hù)端和服務(wù)器端都樂(lè)于采用這種方式。如果一個(gè)任務(wù)只能在客戶(hù)端完成,那么它就必須采用客戶(hù)端腳本來(lái)完成。這條原則是顯而易見(jiàn)的。一般說(shuō)來(lái)只能在客戶(hù)端完成的腳本是指那些使用了僅僅在客戶(hù)端瀏覽器中存在的內(nèi)在對(duì)象的腳本。例如:用來(lái)控制用戶(hù)所查看窗口或者文檔的對(duì)象。其他的腳本可能在客戶(hù)端和服務(wù)器端都能夠運(yùn)行,那么,就可遵循這一原則來(lái)決定到底在何處運(yùn)行腳本。

二、在服務(wù)器端運(yùn)行腳本

使用服務(wù)器端腳本來(lái)完成某個(gè)任務(wù)要考慮如何使Web應(yīng)用程序盡可能地迅速響應(yīng),在客戶(hù)機(jī)和服務(wù)器計(jì)算機(jī)之間的Internet連接通常是一條很窄的通道。如果采用客戶(hù)端腳本來(lái)完成某個(gè)任務(wù)意味著使這個(gè)通道充滿(mǎn)了大量的數(shù)據(jù),而僅僅是節(jié)省了Web_服務(wù)器的一點(diǎn)點(diǎn)計(jì)算時(shí)間,那么Web應(yīng)用程序的響應(yīng)速度將會(huì)非常慢,例如,當(dāng)需要從一個(gè)大的數(shù)據(jù)庫(kù)中收集信息時(shí),盡管使用客戶(hù)端腳本也可以操作一個(gè)數(shù)據(jù)庫(kù)并且收集信息,但還是使用服務(wù)器端腳本更好,因?yàn)檫@樣可以使得只有那些關(guān)鍵性的必要信息通過(guò)HTTP連接傳送給客戶(hù)端。

如果一個(gè)任務(wù)只能在服務(wù)器端完成,那么就必須采用服務(wù)器端腳本來(lái)完成。如果一個(gè)任務(wù)需要用到內(nèi)建對(duì)象,那么該任務(wù)只能在服務(wù)器端完成,因?yàn)閮?nèi)建對(duì)象只在服務(wù)器端存在。僅僅存在于服務(wù)器環(huán)境中的內(nèi)建對(duì)象,例如Session對(duì)象,是一個(gè)可以在其中存人有關(guān)某個(gè)用戶(hù)會(huì)話(huà)(二。ion)信息的數(shù)據(jù)對(duì)象。只要仍然在使用Web應(yīng)用程序中的某個(gè)頁(yè)面.就可以永久地保留這些信息。例如,可以用Sessi二對(duì)象為用戶(hù)提.供一個(gè)類(lèi)似于“購(gòu)物小車(chē)”的特性。如果Web應(yīng)用程序提供給客戶(hù)端一個(gè)購(gòu)物場(chǎng)所。用Session對(duì)象保存在服務(wù)3上,在某個(gè)時(shí)候,客戶(hù)端就可以獲得一個(gè)特殊頁(yè)面,在其中列出所選擇的所有對(duì)象。使用服務(wù)器端腳本也有安全性方面的考慮。有時(shí)候可能不想公開(kāi)腳本代碼,如果在HT-ML文檔中嵌人客戶(hù)端腳本,那么所有訪(fǎng)問(wèn)者都可以看到,而使用服務(wù)器端腳本則可以將那些需要保密的腳本作為服務(wù)器端腳本;存放在Web服務(wù)器上。

另外,有時(shí)候在腳本的代碼中可能包含了有關(guān)Web應(yīng)用程序的關(guān)鍵性的信息.這些信息如果被別人竊取的話(huà),就有可能對(duì)Web站點(diǎn)進(jìn)行攻擊。例如,如果信用卡數(shù)據(jù)庫(kù)的計(jì)算機(jī)名字和數(shù)據(jù)庫(kù)名字泄露,那么數(shù)據(jù)庫(kù)服務(wù)器就成了外來(lái)攻擊的一個(gè)明顯的目標(biāo),刃9是非常危險(xiǎn)的。任何客戶(hù)端腳本都能夠被別人查看和分析,而服務(wù)器端腳本在這一點(diǎn)上是足夠安全的。考慮在何處運(yùn)行腳本的最后一個(gè)因素是任務(wù)的困難程度。通??蛻?hù)端系統(tǒng)比起服務(wù)器來(lái),是小的多而且慢的多的系統(tǒng)。所以,在使用客戶(hù)端腳本的時(shí)候,要考慮到這個(gè)任務(wù)是否脂夠在某一可以忍受的時(shí)間內(nèi)由客戶(hù)端系統(tǒng)來(lái)完成。例如,最好不要讓客戶(hù).端系統(tǒng)來(lái)完成要使用復(fù)雜的人工智能技術(shù)才能完成的任務(wù),因?yàn)?這個(gè)任務(wù)很可能會(huì)使客戶(hù)端計(jì)算機(jī)的運(yùn)行速度變得慢,_并對(duì)服務(wù)器不能影響石

用來(lái)完成一項(xiàng)復(fù)雜任務(wù)的腳本很可能包含了大量的代碼,這意味著大量的額外的文本代碼要通過(guò)Internet來(lái)傳送到客戶(hù)端。
?

Please contact our consultant

+86 10-60259772

Please provide your contact number. The project manager of shangpin China will contact you as soon as possible.