在Web服務之前部署頁面緩存。選擇一種緩存系統并部署它。通過緩存和響應之前生成的動態請求,迅速響應靜態對象的調用,從而降低Web服務器的負載。頁面緩存是分流動態請求并有效進行擴展的好方法。
頁面緩存是安裝在Web服務器之前的緩存服務器,用于卸載對服務器上的靜態和動態對象的請求。該系統或服務器器的常見名稱還有反向代理緩存、反向代理服務器和反向代理。經過慎重考慮,我們采用了頁面緩存這個術語,因為代理程序還會負責負載平衡或SSL加速,而我們只想專注于緩存服務器對可擴展性的影響。被實現的代理緩存如圖64所示。頁面緩存會處理部分或所有請求,直到它存儲的頁面或數據過期了,或服務器收到的請求了它沒有存儲的數據。請求失敗叫做緩存未命中,原因可能是緩存滿了,沒有空間為最新的請求存儲數據,也可能是緩存未滿,但請求頻率較低或最近重啟過。緩存未命中會被傳遞給Web服務器,Web服務器用該請求回答并填充緩存,從而替換緩存中最近很少使用的記錄,或者在空白處寫入數據。
在這個原則中,有三個關鍵點。
第一點,應該在Web服務器前實現頁面緩存(反向代理程序),這樣你就會得到很大的可擴展性。生成動態內容的Web服務器的工作量會大大減少,因為計算過的結果(或響應)在合適的時間被恰當地緩存了。提供靜態內容的Web服務器不需要查詢那些內容,可以少用一些緩存。我們同意,靜態內容的頁面緩存的好處沒有動態內容的頁面緩存那么大。
第二點,需要利用正確的HTTP頭,確保對內容和查詢結果進行大化的緩存(當然還要確保業務正確)。
第三點,盡可能加入RFC2616中的另一個HTTP頭,從而大化內容的可緩存性。這個新的頭是ETag,也就是實體標簽(entitytag),目的是配合If-None-Match有條件地從服務器獲得請求。ETag是由服務器在瀏覽器第一次請求一個對象時賦予該對象的唯一標識符。如果服務器端的資源改變了,那么服務器會為它分配一個新的Erag。假設能被瀏覽器(客戶端)正確地支持,對象和它的ETag標簽就會被瀏覽器緩存,之后瀏覽器向Web服務器發送的工f-None-Match請求都會包含該標簽。如果標簽匹配,服務器會用狀態HTIP304NotModified進行響應。如果該標簽與服務器上的不一致,服務器會發送更新過的對象以及與之相關的Etag-ETag是可選的,但如果要確保在任何特定的
網站設計頁面或對象的整個網絡傳輸中,頁面緩存和代理緩存具有更大的可緩存性,強烈推薦使用Brag。
網站標題:利用頁面緩存
網站URL:http://m.newbst.com/news40/138590.html
成都網站建設公司_創新互聯,為您提供面包屑導航、網站維護、手機網站建設、微信公眾號、網頁設計公司、定制開發
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯