Apache HTTP服務(wù)器的緩存功能介紹

Apache HTTP服務(wù)器提供了一系列緩存功能,旨在以各種方式提高服務(wù)器的性能。?
三態(tài)RFC2616 HTTP緩存?
mod_cache及其提供者模塊mod_cache_disk提供智能的HTTP感知緩存。內(nèi)容本身存儲(chǔ)在緩存中,mod_cache旨在遵守控制內(nèi)容可緩存性的所有各種HTTP頭和選項(xiàng)。?
mod_cache針對(duì)簡(jiǎn)單和復(fù)雜的緩存配置,可以在其中處理代理內(nèi)容,動(dòng)態(tài)本地內(nèi)容,或者需要加速對(duì)可能較慢的磁盤上的本地文件的訪問(wèn)。?
雙狀態(tài)鍵/值共享對(duì)象緩存?
共享對(duì)象緩存API(socache)及其提供程序模塊提供基于服務(wù)器范圍的鍵/值共享對(duì)象緩存。這些模塊旨在緩存低級(jí)別數(shù)據(jù),例如SSL會(huì)話和身份驗(yàn)證憑據(jù)。?
后端允許數(shù)據(jù)在服務(wù)器范圍內(nèi)存儲(chǔ)在共享內(nèi)存中,或者數(shù)據(jù)中心內(nèi)存儲(chǔ)在緩存中,例如memcache或distcache。?
專門的文件緩存?
mod_file_cache提供了在服務(wù)器啟動(dòng)時(shí)將文件預(yù)加載到內(nèi)存中的功能,并且可以改善訪問(wèn)時(shí)間并保存經(jīng)常訪問(wèn)的文件上的文件句柄,因?yàn)椴恍枰诿總€(gè)請(qǐng)求上轉(zhuǎn)到磁盤。?
三態(tài)RFC2616 HTTP緩存?
HTTP協(xié)議包含對(duì)RFC2616第13節(jié)描述的內(nèi)聯(lián)緩存機(jī)制的內(nèi)置支持,mod_cache模塊可用于利用此功能。?
與簡(jiǎn)單的兩個(gè)狀態(tài)鍵/值緩存不同,其中內(nèi)容在不再新鮮時(shí)完全消失,HTTP緩存包括保留陳舊內(nèi)容的機(jī)制,并詢問(wèn)源服務(wù)器此陳舊內(nèi)容是否已更改,如果不是則再次刷新。?
HTTP緩存中的條目存在以下三種狀態(tài)之一:?
Fresh?
如果內(nèi)容足夠新(比其新鮮壽命更年輕),則認(rèn)為是Fresh。HTTP緩存可以免費(fèi)提供新內(nèi)容,而無(wú)需對(duì)源服務(wù)器進(jìn)行任何調(diào)用。?
Stale?
如果內(nèi)容太舊(早于其新鮮度生命周期),則認(rèn)為是Stale。HTTP緩存應(yīng)聯(lián)系原始服務(wù)器,并在向客戶端提供過(guò)時(shí)內(nèi)容之前檢查內(nèi)容是否仍然是新的。?
如果原始服務(wù)器仍然無(wú)效,則原始服務(wù)器將使用替換內(nèi)容進(jìn)行響應(yīng),或者理想情況下,源服務(wù)器將使用代碼進(jìn)行響應(yīng)以告知緩存內(nèi)容仍然是新的,而無(wú)需再次生成或發(fā)送內(nèi)容。內(nèi)容再次變得新,循環(huán)繼續(xù)。?
HTTP協(xié)議允許緩存在某些情況下提供過(guò)時(shí)數(shù)據(jù),例如當(dāng)嘗試使用源服務(wù)器刷新數(shù)據(jù)時(shí)出現(xiàn)5xx錯(cuò)誤,或者另一個(gè)請(qǐng)求已經(jīng)在刷新給定條目的過(guò)程中。在這些情況下,會(huì)在響應(yīng)中添加警告標(biāo)頭。?
Non Existent?
如果緩存已滿,則保留從緩存中刪除內(nèi)容以騰出空間的選項(xiàng)。內(nèi)容可以隨時(shí)刪除,可以是舊或新。htcacheclean工具可以一次性運(yùn)行,或者作為守護(hù)程序部署,以使緩存的大小保持在給定大小或給定數(shù)量的inode內(nèi)。在嘗試刪除新內(nèi)容之前,該工具會(huì)嘗試刪除舊內(nèi)容。?
以上就是如何使用Apache HTTP Server的緩存功能的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注Vecloud其它相關(guān)文章!
了解更多網(wǎng)絡(luò)知識(shí)關(guān)注:http://www.vecloud.com/