国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web靜態(tài)化、動態(tài)化研究與實踐

2019-04-29 02:07:52鄭冰
視聽 2019年4期
關(guān)鍵詞:動態(tài)化靜態(tài)頁面

□鄭冰

廣西網(wǎng)絡廣播電視臺自2009年開始自主研發(fā)以來,Web部署模式根據(jù)網(wǎng)絡、硬件等資源的投入進行過多次調(diào)整。Web頁面由靜態(tài)化轉(zhuǎn)向動態(tài)化就是其中的調(diào)整之一。2018年12月之前廣西網(wǎng)絡廣播電視臺一直沿用靜態(tài)頁為主、動態(tài)頁為輔的部署模式,后經(jīng)過網(wǎng)站研發(fā)人員的整體評估,并經(jīng)過領導同意,將網(wǎng)站部署模式轉(zhuǎn)變成了動態(tài)頁為主、靜態(tài)頁為輔的部署模式。

一、靜態(tài)化概念與部署

廣西網(wǎng)絡廣播電視臺自2018年12月之前一直沿用靜態(tài)化為主、動態(tài)化為輔的開發(fā)和部署模式。這主要是因為當時網(wǎng)站在網(wǎng)絡帶寬和服務器資源上投入力度不大,帶寬方面只有100M電信光纖(后擴容到了300M電信光纖和100M聯(lián)通光纖實現(xiàn)了雙路主備),而100M的帶寬對于一個以視頻為主的網(wǎng)站來說是遠遠不夠的,在服務器方面只有一臺數(shù)據(jù)庫服務器和一臺前端Web服務器,這些硬件資源在訪問量不高的時候能夠勉強維持,一旦到了訪問量激增的特殊時期,網(wǎng)站經(jīng)常會有打不開或者打開緩慢的情況,比如南寧國際民歌藝術(shù)節(jié)期間,網(wǎng)站上有視頻直播,在此期間網(wǎng)站打開緩慢的情況格外明顯?;谝陨显?,網(wǎng)站研發(fā)人員對網(wǎng)站進行了靜態(tài)化改造,保障了網(wǎng)站頁面的打開速度和用戶體驗。

(一)靜態(tài)化概念

靜態(tài)網(wǎng)頁是實際存在的,用戶在訪問到某個靜態(tài)頁眼睛所能看到的文字、圖片等內(nèi)容在網(wǎng)頁的源代碼中是實實在在存在的,就好比我們看到某一篇文章里面的文字,都是已經(jīng)印刷到了紙上,而每一篇文章根據(jù)篇幅的長短就會有相應數(shù)量的張紙,所以我們所說的靜態(tài)頁是除非人為改動,否則內(nèi)容不會發(fā)生變化的Web頁面。常見的靜態(tài)頁面有以.html或.htm為后綴名的Web頁面。

(二)靜態(tài)化優(yōu)缺點

靜態(tài)頁面每一個頁面就存在一個實際的物理文件,所以靜態(tài)頁是多對多的關(guān)系。其優(yōu)點如下:

1.服務器在接收到用戶的請求后直接將頁面發(fā)送到用戶瀏覽器,不需要再經(jīng)過其他處理過程,能極大提高頁面訪問速度。

2.因靜態(tài)頁面不需要與數(shù)據(jù)庫服務器交互,頁面與數(shù)據(jù)庫服務器之間沒有絕對的聯(lián)系,從而可降低數(shù)據(jù)庫服務器的負荷,并減少曝光的幾率,提高數(shù)據(jù)庫服務器的安全性。

3.因為訪問靜態(tài)頁的域名地址一般不帶任何參數(shù),對搜索引擎相對比較友好。

同樣,靜態(tài)頁面也存在著相應的缺點:

1.一篇文章就必須對應至少一個靜態(tài)頁,如果業(yè)務上有分頁的需求還會有一篇文章對應多個靜態(tài)頁的情況。隨著網(wǎng)站數(shù)據(jù)越來越多,服務器上靜態(tài)頁的數(shù)量也會增多,這就要求服務器有足夠的存儲空間。

2.靜態(tài)頁不能訪問數(shù)據(jù)庫,在更新某篇文章后,靜態(tài)頁不能時時顯示修改后的內(nèi)容,必須進行替換才可以讓用戶看到修改后的內(nèi)容。

3.每個靜態(tài)頁占用的空間很小,如果有非常大量的小文件保存于硬盤中,這種碎片化的文件會造成維護不便,甚至有可能會對硬盤造成損傷。

(三)靜態(tài)頁生成與部署

正因為靜態(tài)頁是實際存在的物理文件,就好像書上的每一個頁面都需要印刷一樣,每次都需要進行制作,但如果每次都需要人工制作的話將會產(chǎn)生非常龐大的工作量,所以要選擇智能化自動生成靜態(tài)頁的方案。自動生成靜態(tài)頁方案一般會有兩種方式:

1.使用Web Service實時生成靜態(tài)頁方式。編輯人員在新增、修改內(nèi)容后,程序?qū)崟r生成相應的靜態(tài)頁。該方式的優(yōu)點是編輯人員提交信息后就能馬上觸發(fā)靜態(tài)頁生成事件,缺點是如果網(wǎng)絡卡頓、數(shù)據(jù)庫卡頓的話,有可能會生成失敗或者編輯人員需要等待靜態(tài)頁生成后才可以進行下一步操作。

2.使用Window Service監(jiān)控生成靜態(tài)頁方式。使用該方式編輯人員只需要按照一般的方式對網(wǎng)站內(nèi)容進行操作,Window Service對網(wǎng)站數(shù)據(jù)庫進行監(jiān)聽,如發(fā)現(xiàn)數(shù)據(jù)庫發(fā)生新增、修改等操作,將生成新聞內(nèi)容靜態(tài)頁。該方式的優(yōu)點是網(wǎng)站編輯人員無需等待頁面的生成,交由Windows的服務去完成,如果生成失敗會再次嘗試。其缺點是如果一直生成失敗,則會一直停留在這篇靜態(tài)頁的生成上,其他內(nèi)容需要排隊等待。

經(jīng)過綜合考慮對比后,廣西網(wǎng)絡廣播電視臺使用Window Service監(jiān)控生成靜態(tài)頁方式,基本原理是先將制作好的動態(tài)頁模板部署于靜態(tài)頁生成專屬服務器中,并使用Window Service對數(shù)據(jù)庫進行監(jiān)聽,當Window Service監(jiān)聽到數(shù)據(jù)庫發(fā)生了新增、修改操作時獲取已經(jīng)部署好的動態(tài)頁源碼另存為Html頁面,并對數(shù)據(jù)庫進行生成狀態(tài)記錄。

靜態(tài)頁生成流程圖

Window Service代碼片段節(jié)選:

二、動態(tài)化概念與部署

(一)動態(tài)化概念

動態(tài)化是跟靜態(tài)網(wǎng)頁相對的一種網(wǎng)頁編程技術(shù),是一對多的關(guān)系。我們可以把動態(tài)頁理解為一個容器,比如一個杯子,當需要喝水時可以用杯子裝水,當需要喝酒時則可以用這個杯子裝酒。同樣的道理,當我們需要頁面呈現(xiàn)什么樣的內(nèi)容,動態(tài)頁就可以實時去裝什么內(nèi)容呈現(xiàn)給用戶。我們把實際的內(nèi)容信息存放在數(shù)據(jù)庫中,動態(tài)頁通過唯一標識(ID)到數(shù)據(jù)庫中查找相應的內(nèi)容存放到容器中并顯示給用戶,當今主流動態(tài)頁通常以.jsp、.php和.aspx為后綴名。

動態(tài)網(wǎng)頁流程圖

(二)動態(tài)化部署場景

既然動態(tài)化與靜態(tài)化是相對的,那它們之間的優(yōu)缺點大部分也是相對的,在此就不再進行贅述。

隨著領導對網(wǎng)站重視程度的提高,廣西網(wǎng)絡廣播電視臺在帶寬和硬件投入上也逐漸增加,已經(jīng)具備了實行動態(tài)化為主、靜態(tài)化為輔的部署方式。經(jīng)過研發(fā)人員討論并經(jīng)領導同意后,著手實時了動態(tài)化改造。下面介紹需要動態(tài)化的幾個大概場景:

1.匯總頁需要動態(tài)化。為了方便網(wǎng)友查找和閱讀,以及搜索引擎更加方便收錄網(wǎng)站內(nèi)容,幾乎所有網(wǎng)站都會有一些匯總性質(zhì)的頁面,比如列表頁和搜索頁。匯總頁因為數(shù)據(jù)量非常龐大,特別是一些大型網(wǎng)站,稿件量動輒上千萬,這么多數(shù)據(jù)在一個頁面上顯示的話,即使是靜態(tài)頁加載速度也會非常緩慢,如果用戶電腦性能差點還有可能導致死機,所以這類型的頁面通常需要使用分頁技術(shù)將所有文稿分到若干個頁面,每個頁面顯示若干條。如果使用靜態(tài)化開發(fā),隨著稿件的增加,根據(jù)參數(shù)的不同,每操作一條稿件就需要重新生成所有可能的靜態(tài)頁,這將耗費大量時間和大量的服務器性能。

2.存在大量稿件并且服務器性能或者數(shù)量足夠的情況下建議動態(tài)化。如果網(wǎng)站的文稿數(shù)量非常龐大,全部靜態(tài)化會給運維造成不小的麻煩,特別是在需要進行數(shù)據(jù)遷移和批量刪除數(shù)據(jù)的時候。廣西網(wǎng)絡廣播電視臺在實際的運維過程中,曾經(jīng)出現(xiàn)過存儲故障導致需要遷移數(shù)據(jù)的問題,以及根據(jù)領導的決定需要大批量修改文稿數(shù)據(jù)的情況,當時網(wǎng)站總靜態(tài)頁數(shù)量超過百萬,加之網(wǎng)站進行了防篡改同步設置,遷移完成后還需要重新同步所有頁面,經(jīng)過網(wǎng)站維護人員評估,這些文件全部遷移并重新同步完成大概需要五天時間。所以類似于這種情況,建議使用動態(tài)化開發(fā)部署模式。

3.需要頻繁修改的情況下建議使用動態(tài)化。正如上面所述,每一篇稿件最少對應一個靜態(tài)頁面,如果模板頁需要經(jīng)常反復修改,每改動一處就需要重新生成全部稿件頁面,這將耗費大量時間和服務器性能資源。

(三)動態(tài)詳情頁開發(fā)

動態(tài)頁的基本步驟是,管理員將文稿、視頻、圖片通過CMS系統(tǒng)錄入到數(shù)據(jù)庫中,并將數(shù)據(jù)的唯一標識發(fā)布到網(wǎng)站前臺展示,用戶根據(jù)唯一標識即可獲取并查看信息。

動態(tài)頁常見的地址格式,如http∶//news.gxtv.cn/News.aspx?id=211,用戶根據(jù)這個地址就可以訪問到管理員發(fā)布的詳細信息,其中News.aspx是動態(tài)頁地址,數(shù)字就是找到相應信息的唯一標識參數(shù)。

動態(tài)詳情頁代碼片段節(jié)選:

三、結(jié)語

一個大型網(wǎng)站的開發(fā)和部署所需要考慮的并不僅僅是開發(fā)人員的開發(fā)能力,也不僅僅是能實現(xiàn)效果就可以了,在網(wǎng)站項目的實際開發(fā)和部署過程中,盲目追求靜態(tài)化并不可取,需要綜合考慮各方面的因素。當下在各大搜索引擎比如百度上搜索“靜態(tài)頁”“動態(tài)頁”,查到的資料大多都是說靜態(tài)化的優(yōu)點以及如何將頁面靜態(tài)化的方法等,往往忽略了靜態(tài)化相對于動態(tài)化所存在的缺點,靜態(tài)化和動態(tài)化并不是兩個非黑即白的存在,在項目實際運行中,我們會發(fā)現(xiàn)不論是動態(tài)化還是靜態(tài)化都各有優(yōu)缺點,所以就需要我們尋找“黑”與“白”之間的“灰”,需要做到動靜結(jié)合。廣西網(wǎng)絡廣播電視臺除了一些需要頻繁訪問數(shù)據(jù)庫的頁面例如網(wǎng)站首頁、各頻道首頁仍保留靜態(tài)化外,其他頁面全部進行了動態(tài)化改造,改造完成后的系統(tǒng)至今運行穩(wěn)定,將來我們將繼續(xù)研究和探索動態(tài)與靜態(tài)的比例,爭取達到速度、性能以及用戶體驗上的最優(yōu)平衡。

猜你喜歡
動態(tài)化靜態(tài)頁面
漢字動態(tài)化設計研究
玩具世界(2023年6期)2024-01-29 12:15:32
刷新生活的頁面
靜態(tài)隨機存儲器在軌自檢算法
淺析標志的動態(tài)化發(fā)展
新聞傳播(2018年12期)2018-09-19 06:26:36
建筑工程造價的動態(tài)管理論述
關(guān)于建立經(jīng)典動態(tài)化的文化傳播史觀:文學史課程改革的思考
新聞傳播(2015年9期)2015-07-18 11:04:12
機床靜態(tài)及動態(tài)分析
機電信息(2015年9期)2015-02-27 15:55:56
具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
50t轉(zhuǎn)爐靜態(tài)控制模型開發(fā)及生產(chǎn)實踐
上海金屬(2013年6期)2013-12-20 07:57:59
同一Word文檔 縱橫頁面并存
锦屏县| 甘泉县| 平湖市| 句容市| 宜兰县| 长兴县| 林周县| 桐乡市| 延川县| 朔州市| 芒康县| 观塘区| 杨浦区| 新昌县| 淮安市| 安陆市| 陕西省| 汕尾市| 三门峡市| 西乡县| 白河县| 英德市| 方山县| 太白县| 政和县| 鄄城县| 石楼县| 会理县| 富锦市| 红原县| 准格尔旗| 内黄县| 城步| 成安县| 莱西市| 楚雄市| 五大连池市| 青铜峡市| 尚义县| 白河县| 彭阳县|