自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

禁止IIS緩存靜態(tài)文件的方法

運(yùn)維 系統(tǒng)運(yùn)維
IIS為了提高性能,默認(rèn)情況下會(huì)對(duì)靜態(tài)文件js、html、gif、png等做內(nèi)部緩存,這個(gè)緩存是在服務(wù)器iis進(jìn)程的內(nèi)存中的。IIS這么做在很大程度上可以提高靜態(tài)文件的訪問(wèn)性能,在正常情況下只要靜態(tài)文件更新了IIS也會(huì)更新緩存。但是如果更新的靜態(tài)文件很多就有可能出現(xiàn)緩存不更新的情況。

禁止IIS緩存靜態(tài)文件(png、js、html等)背景

IIS為了提高性能,默認(rèn)情況下會(huì)對(duì)靜態(tài)文件js、html、gif、png等做內(nèi)部緩存,這個(gè)緩存是在服務(wù)器iis進(jìn)程的內(nèi)存中的。IIS這么做在很大程度上可以提高靜態(tài)文件的訪問(wèn)性能,在正常情況下只要靜態(tài)文件更新了IIS也會(huì)更新緩存。但是如果更新的靜態(tài)文件很多就有可能出現(xiàn)緩存不更新的情況。

彎路:

我遇到這樣一個(gè)場(chǎng)景,服務(wù)器循環(huán)更新上萬(wàn)張股票行情圖片,IIS也會(huì)對(duì)圖片進(jìn)行緩存,由于更新的頻率很高,文件很多,就出現(xiàn)了IIS緩存文件超過(guò)幾十分鐘都無(wú)法更新的情況。

這時(shí)候直覺(jué)是瀏覽器對(duì)文件進(jìn)行了緩存,于是就在IIS的目錄上設(shè)置Http頭:Cache-Control:no-cache,但是無(wú)濟(jì)于事,瀏覽器請(qǐng)求服務(wù)器端得到的狀態(tài)號(hào)是200,這可以說(shuō)明瀏覽器確實(shí)是從服務(wù)器端得到了新的內(nèi)容,而非讀取瀏覽器本地緩存。

如何禁止IIS緩存靜態(tài)文件(png、js、html等)

通過(guò)設(shè)置Http頭不讓瀏覽器緩存的方法在這個(gè)場(chǎng)景下是行不通的,因?yàn)榫彺娌皇浅霈F(xiàn)的客戶端,而是出現(xiàn)在IIS服務(wù)器上;所以解決問(wèn)題還需要從IIS本身入手,通過(guò)配置Metabase.xml文件禁止IIS緩存相應(yīng)目錄下的靜態(tài)文件。

1.首先需要設(shè)置IIS允許運(yùn)行時(shí)編輯Metabase.xml文件

打開IIS,然后打開IIS屬性頁(yè),勾選上“允許直接編輯配置數(shù)據(jù)庫(kù)”選項(xiàng)

2.在運(yùn)行中輸入notepadc:\WINDOWS\system32\inetsrv\MetaBase.xml打開IIS配置文件

3.在文件中搜索要配置禁止緩存的虛擬目錄名字,找到類似如下配置節(jié)

  1. AccessFlags="AccessRead|AccessScript" 
  2.  
  3. AppFriendlyName="inc" 
  4.  
  5. AppIsolated="2" 
  6.  
  7. AppRoot="/LM/W3SVC/1832041641/Root/inc" 
  8.  
  9. DirBrowseFlags="DirBrowseShowDate|DirBrowseShowTime|DirBrowseShowSize|DirBrowseShowExtension|DirBrowseShowLongDate|EnableDefaultDoc" 
  10.  
  11. Path="D:\publish\inc" 
  12.  
  13. > 

在IIsWebVirtualDir配置節(jié)中添加MD_VR_NO_CACHE=”1“屬性

4.保存配置文件,重啟IIS即可。

如果想配置服務(wù)器上的所有站點(diǎn)都禁用IIS緩存可以通過(guò)修改注冊(cè)表實(shí)現(xiàn):

編輯注冊(cè)表中的DisableStaticFileCache值,0為啟用,1為禁用,該鍵值的位置位于:

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters 

 

如果該鍵不存在可以新建。

注意事項(xiàng):

通常情況下我們并不需要禁用IIS的靜態(tài)文件緩存,iis會(huì)自動(dòng)根據(jù)靜態(tài)文件的修改時(shí)間自動(dòng)更新緩存;只有在你遇到非常情況下才有必要禁用IIS緩存。IIS緩存和Http緩存相關(guān)頭沒(méi)有任何關(guān)系,在IIS上加緩存頭沒(méi)有辦法清除掉IIS對(duì)靜態(tài)文件的緩存。

總結(jié):

 

希望本文介紹的禁止IIS緩存靜態(tài)文件的方法能夠?qū)ψx者有所幫助,更多有關(guān)操作系統(tǒng)的知識(shí)還有待于讀者去探索和學(xué)習(xí)。

責(zé)任編輯:韓亞珊 來(lái)源: 站長(zhǎng)之家
相關(guān)推薦

2016-08-29 21:36:55

nginxWeb緩存

2010-05-19 18:04:48

IIS6

2011-07-01 10:22:09

麥咖啡IIS解析漏洞

2009-06-12 18:30:12

Groovy 靜態(tài)ma

2009-08-28 12:41:49

靜態(tài)方法與非靜態(tài)方法

2010-08-26 15:24:04

DHCP服務(wù)功能

2010-07-22 11:06:31

禁止Telnet 23

2011-07-06 17:11:41

ASP

2015-03-03 13:28:21

實(shí)例動(dòng)態(tài)網(wǎng)頁(yè)靜態(tài)緩存

2010-05-21 12:35:03

IIS Lockdow

2010-05-12 18:15:05

IIS服務(wù)器

2010-05-17 16:26:36

IIS安全

2010-05-21 16:49:42

IIS 7.0

2011-04-14 09:28:56

IIS 7.0

2010-05-18 18:16:28

IIS服務(wù)器

2010-05-17 11:17:01

IIS服務(wù)器

2010-05-17 09:09:45

2021-09-13 07:53:30

安全

2010-05-17 17:54:15

IIS服務(wù)器

2016-05-17 13:54:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)