專利名稱:用html開發(fā)(web)動態(tài)腳本的技術(shù)方法
用HTML開發(fā)(WEB)動態(tài)腳本的技術(shù)方法
技術(shù)領(lǐng)域:
:本技術(shù)是應(yīng)用于互聯(lián)網(wǎng)(Web)程序開發(fā)的一項(xiàng)新的技術(shù),由瀏覽器腳本標(biāo)記解釋軟件、Web數(shù)據(jù)服務(wù)軟件、Web服務(wù)防CC軟件及Web實(shí)時動態(tài)數(shù)據(jù)緩存軟件四個模塊內(nèi)容組成。
二、技術(shù)背景:Web動態(tài)程序開發(fā):現(xiàn)今互聯(lián)網(wǎng)(Web)動態(tài)程序開發(fā),主要包括客戶端腳本程序開發(fā)和服務(wù)端腳本程序開發(fā)兩大部分?,F(xiàn)有服務(wù)器腳本程序開發(fā)有多種方法,其開發(fā)方法的難易和性能各有差另O,開發(fā)人員如果想用現(xiàn)有的技術(shù)方法開發(fā)(Web)服務(wù)程序,僅僅了解html語言是遠(yuǎn)遠(yuǎn)不夠的,還必需學(xué)習(xí)其特有的開發(fā)語言(如php, asp, cgi, fastcgi)才可以。尤其是用執(zhí)行效率最高的C++語言來開發(fā)程序,難度也最高。這些對于一般僅懂html語言的技術(shù)人員具有一定的實(shí)施難度和較大工作量?,F(xiàn)有的幾種動態(tài)腳本語言的共同特征是:將腳本語言與靜態(tài)html區(qū)分開來,通過動態(tài)腳本操縱靜態(tài)內(nèi)容或者靜態(tài)內(nèi)容嵌入動態(tài)腳本程序,并輸出到瀏覽器的方式。這一模式使得腳本語言與html互相混雜,往往使數(shù)據(jù)和數(shù)據(jù)表示的編程混雜在一起,使邏輯不夠清晰,程序員必須同時懂得靜態(tài)html語言和動態(tài)語言才能編程。另外一方面,為了達(dá)到最聞的執(zhí)行效率,需要編寫復(fù)雜的C++代碼(Fastcgi C++),而Fastcgi C++開發(fā)難度較大。所以為了快速開發(fā),開發(fā)者往往選擇執(zhí)行效率不是最高,但開發(fā)方法相對簡單的方式去開發(fā)WEB應(yīng)用(例如PHP)。針對以上未能解決的問題,基于本技術(shù)的瀏覽器腳本標(biāo)記解釋模塊及Web數(shù)據(jù)服務(wù)模塊,我們提出一種解決方法,能夠用html或xml (或其他瀏覽器客戶端解釋語言或數(shù)據(jù)格式),來代替(web)動態(tài)腳本對數(shù)據(jù)的請求、排列、復(fù)用、組合等功能。同時又能達(dá)到C++的后臺服務(wù)執(zhí)行效率。讓普通開發(fā)人員僅僅具有html語言基礎(chǔ)和sql知識,就可開發(fā)普通的web服務(wù)程序,不僅簡化了開發(fā)方法,減小開發(fā)難度,減少了開發(fā)工作量,而且大大提高了執(zhí)行效率。Web 服務(wù)防 CC:互聯(lián)網(wǎng)的防CC攻擊是比較難解決的問題,至今防CC缺乏有效的防范機(jī)制。在本技術(shù)的瀏覽器腳本標(biāo)記解釋模塊及Web數(shù)據(jù)服務(wù)模塊技術(shù)基礎(chǔ)之上,結(jié)合現(xiàn)代密碼學(xué)原理,提出并實(shí)現(xiàn)了一種新的Web服務(wù)防CC攻擊的機(jī)制。Web動態(tài)數(shù)據(jù)緩存:目前的Web高速緩存主要是針對靜態(tài)數(shù)據(jù)的緩存,對于動態(tài)數(shù)據(jù)的緩存采用了超時的概念,就是說動態(tài)數(shù)據(jù)內(nèi)容必須超過一定的時間才會重新獲得更新,這樣雖然提高客戶的訪問速度,但不能讓客戶得到即時的更新信息。本技術(shù)Web實(shí)時動態(tài)數(shù)據(jù)緩存模式是在瀏覽器腳本標(biāo)記解釋模塊、Web數(shù)據(jù)服務(wù)模塊的基礎(chǔ)之上,研究出一種實(shí)時動態(tài)內(nèi)容緩存的方法,使基于這種新的開發(fā)Web應(yīng)用程序?qū)崿F(xiàn)了實(shí)時動態(tài)數(shù)據(jù)內(nèi)容緩存的功能。即能夠 提高客戶的訪問速度,又能夠使客戶得到即時更新的信息。
三、發(fā)明內(nèi)容:(Web)動態(tài)腳本開發(fā)技術(shù):1、技術(shù)原理:此項(xiàng)技術(shù)通過在瀏覽器端執(zhí)行的html、CSS格式的數(shù)據(jù),并配合專門的web數(shù)據(jù)服務(wù)程序,實(shí)現(xiàn)對應(yīng)用數(shù)據(jù)的請求、或取、排列和組合,實(shí)現(xiàn)了僅僅通過html標(biāo)記或css數(shù)據(jù)和后臺單純sql語句,不需要編寫動態(tài)腳本就可以進(jìn)行web服務(wù)程序的開發(fā)。此技術(shù)大大減化了后臺服務(wù)程序的開發(fā)工作量,開發(fā)人員只需要撐握html和sql語言就能進(jìn)行后臺web服務(wù)程序的開發(fā)。用此項(xiàng)技術(shù)編寫出的代碼,可以在任何支持PHP、Fast cgi (c++)的web服務(wù)上透明執(zhí)行,無需根據(jù)不同的后臺執(zhí)行方式(PHP,Fastcgi c++)更改代碼。大大減小了開發(fā)難度,減少了開發(fā)工作量,并同時提高了后臺服務(wù)程序的執(zhí)行速度,減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量,節(jié)省了網(wǎng)絡(luò)帶寬。2、舉例說明:<div id = " BUSINESS_1" ParaRule = " paral " ShowRule = " Showl " ShowId="topiclist" MaxShowNumber = 6 InitExec = " true" ></div>這里定義了一個業(yè)務(wù),指定了參數(shù)說明ParaRule = " paral",顯示樣式:ShowRule = " Showl ",顯不位置:ShowId = " topiclist" , MaxShowNumber = 6 表不最多顯示6行。InitExec=" true"表示自動加載執(zhí)行。Web防CC攻擊技術(shù)1、技術(shù)原理:基于上述(Web)動態(tài)腳本開發(fā)技術(shù)的開發(fā)機(jī)制的基礎(chǔ)上,我們研發(fā)出一種新的防CC攻擊技術(shù)方法,此方法主要通過瀏覽器端的請求程序和后臺web服務(wù)器程序問答回復(fù)機(jī)制,結(jié)合現(xiàn)代密碼學(xué)的大數(shù)分解原理,讓CC攻擊的運(yùn)算成本大量增加。使得CC攻擊的資源相對于其所攻擊的web服務(wù)來說,必須放大數(shù)十萬、百萬甚至千萬倍、才能達(dá)成以往的攻擊效果。此技術(shù)的應(yīng)用,能夠解決普通的CC攻擊,尤其能夠有效地防止單個主控服務(wù)器控制多個代理服務(wù)器進(jìn)行的CC攻擊,能在不影響正常用戶訪問的情況下,將單主控服務(wù)器進(jìn)行CC攻擊時,兩個攻擊數(shù)據(jù)包之間的時間間隔拉長到秒級。實(shí)時動態(tài)內(nèi)容緩存技術(shù):1、技術(shù)原理:基于前面所提及的動態(tài)腳本開發(fā)新方法的機(jī)制基礎(chǔ)上,研發(fā)出實(shí)時動態(tài)緩存的技術(shù)方法。此技術(shù)方法是將后臺的數(shù)據(jù)操作進(jìn)行封裝,在封裝的基礎(chǔ)上由web服務(wù)程序進(jìn)行web應(yīng)用程序的調(diào)度,這樣既簡化了 web應(yīng)用程序的開發(fā),又使開發(fā)人員能夠管理不同數(shù)據(jù)操作之間關(guān)系。這樣一來,對于一般性的業(yè)務(wù)數(shù)據(jù)操作,我們就能夠通過業(yè)務(wù)數(shù)據(jù)的管理,來實(shí)現(xiàn)實(shí)時動態(tài)內(nèi)容高速緩存。也就是說此高速緩存沒有普通意義上的緩存“超時”概念,只有當(dāng)內(nèi)容更新時,動態(tài)數(shù)據(jù)才會被更新。如果web服務(wù)程序“預(yù)測到”動態(tài)程序?qū)⒁@取的內(nèi)容跟緩存的內(nèi)容一致,那么此段動態(tài)程序不會被執(zhí)行,緩存內(nèi)容也不會被被更新,用戶請求所得到的是緩存內(nèi)的數(shù)據(jù)。四、實(shí)施方式:
通過布署專門的web服務(wù)軟件(包括web數(shù)據(jù)服軟件、防CC模塊和實(shí)時動態(tài)緩存模塊三個部分),并將用此技術(shù)開發(fā)的程序代碼放置在web服務(wù)器的目錄下,用戶通過瀏覽器(IE、CHROME、FIRERX)輸入服務(wù)器網(wǎng)址,瀏覽器下載網(wǎng)頁及程序,通過執(zhí)行網(wǎng)頁中的javascript代碼實(shí)現(xiàn)與后臺服務(wù)程序交互執(zhí)行。即能夠?qū)崿F(xiàn)如上所述功能。對客戶端來說,只需用戶的瀏覽器支持javascript即可以訪問服務(wù)。后臺的代碼布置跟普通web服務(wù)器一樣,需要把網(wǎng)頁和編寫的程序放到指定的地址即可。用戶無需安裝任何客戶端軟件,只要有支持javascript的瀏覽器就可。
權(quán)利要求
1.通過編寫html或css來替代服務(wù)端動態(tài)腳本程序編寫和客戶端動態(tài)腳本程序編寫。
2.嚴(yán)格分離應(yīng)用數(shù)據(jù)和應(yīng)用數(shù)據(jù)的界面表達(dá),使開發(fā)邏輯清晰,不同于傳統(tǒng)的動態(tài)web程序(它們動態(tài)靜態(tài)內(nèi)容是混雜在同一次鏈接中返回的),從而避免了界面表達(dá)的重復(fù)傳輸,減少數(shù)據(jù)傳輸量。
3.通過服務(wù)器簡單提問,而瀏覽器端必須進(jìn)行大量運(yùn)算或消耗大量資源才能回答的方法,在不影響正常用戶訪問的前提下,急劇增加CC攻擊的發(fā)起成本,使其資源成本數(shù)萬、十萬、百萬、千萬倍(消耗的資源取決于服務(wù)器端算法設(shè)定)與服務(wù)器資源的消耗,減弱或者消除CC攻擊。
4.實(shí)時動態(tài)內(nèi)容緩存:不采用緩存內(nèi)容超時的概念進(jìn)行動態(tài)內(nèi)容的緩存,當(dāng)服務(wù)器預(yù)測到本次客戶請求,不會產(chǎn)生新的數(shù)據(jù)更新時,這次數(shù)據(jù)請求所對應(yīng)的后臺服務(wù)程序不會被執(zhí)行,數(shù)據(jù)請求只會獲取緩存內(nèi)的數(shù)據(jù)而返回,從而達(dá)到既能加速訪問,減小服務(wù)壓力,又能使客戶端獲得實(shí)時內(nèi)容更新。
全文摘要
本技術(shù)是應(yīng)用于互聯(lián)網(wǎng)(Web)程序開發(fā)的一項(xiàng)新的技術(shù)。為了減小現(xiàn)在的動態(tài)(Web)程序開發(fā)的難度,減少動態(tài)程序開發(fā)的工作量,提高動態(tài)程序的執(zhí)行效率,提出了一種用HTML語言來編寫動態(tài)程序的方法,并具有C++的執(zhí)行效率。在HTML編寫動態(tài)程序的技術(shù)基礎(chǔ)上,提出了一種新的防CC方法。能夠急劇增加進(jìn)行CC攻擊所需要的資源成本,使其萬倍,百萬倍,千萬倍于其所要攻擊的web服務(wù)的資源成本。從而達(dá)到減弱,消除CC攻擊的效果。在HTML編寫動態(tài)程序的基礎(chǔ)上,進(jìn)行程序執(zhí)行預(yù)測,提出了一種能夠?qū)崿F(xiàn)動態(tài)內(nèi)容緩存的實(shí)時更新方法,能加快動態(tài)內(nèi)容的客戶端存取,減少web服務(wù)消耗,而且又能實(shí)現(xiàn)實(shí)時動態(tài)內(nèi)容的更新。該技術(shù)已經(jīng)全部實(shí)現(xiàn)。
文檔編號G06F9/44GK103197922SQ20121000259
公開日2013年7月10日 申請日期2012年1月6日 優(yōu)先權(quán)日2012年1月6日
發(fā)明者周曉紅 申請人:周曉紅