文章編號: 247389 - 上次校閱: 2006年11月23日 - 版次: 3.2

IIS: 如何停用特定的 MIME 類型的快取

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

結論

網站系統管理員可能需要定期停用快取經常變更的內容。 本文將告訴您,停用快取的文件類型的方法。

其他相關資訊

MIME 代表 「 多用途網際網路郵件延伸,"這是指一種設定瀏覽器或郵件用戶端來檢視檔案位於多個格式根據 「 MIME 類型 」 標準。"MIME 對應 」 是用網際網路資訊伺服器 (IIS) 」 對應"檔案由其特定的 MIME 類型的擴充功能的程序。比方說具有副檔名.htm 檔案有"文字/html"的 MIME 類型,具有副檔名.gif 檔案含有的"影像/gif"的 MIME 類型。

當要求由特定的檔案在用戶端時,IIS 會使用 MIME 對應來決定要告訴用戶端會收到正確的 MIME 類型。IIS 包含大型清單的預設 MIME 類型可供使用,會傳回"應用程式/八位元-串流 」 的任何未明確對應的副檔名的 MIME 類型。

停用技巧的快取

  • 停用指定的 MIME 類型的快取最簡單的方法,就是建立根據型別,以停用],然後設定那些資料夾自訂標頭的資料夾。 比方說下列步驟會停用快取影像資料夾中的檔案:

    1. 建立名為 Images 您 Wwwroot 資料夾下的資料夾。
    2. 開啟 [網際網路服務管理員 (ISM)。
    3. 尋找影像資料夾在您的預設網站下。
    4. 用滑鼠右鍵按一下 [Images] 資料夾,然後選取 [內容]。
    5. 選取 [HTTP 表頭] 索引標籤。
    6. 按一下 [自訂 HTTP 表頭 區段中的 [新增]。
    7. 將具名值為 無快取快取控制 標頭。
    8. 按一下 [確定] 以套用變更。
    在建立內容時在此資料夾中儲存任何檔案將不會再快取。 使用經常更新的圖像時,這就特別有用。
  • 下列步驟描述 不支援 的方法的 tricking IIS 使用 Windows 指令碼主機 (WSH) 和 Active Directory 服務介面 (ADSI) 到傳回特定的 MIME 類型的 「 無快取 」 標頭,在這種情況下.gif 檔案,藉由修改 IIS Metabase 整個 Web 伺服器。


    Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。
    https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)
    如需有關可用支援選項,以及有關如何連絡 Microsoft 的詳細資訊,請造訪下列 Microsoft 網站]:
    http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (http://support.microsoft.com/default.aspx?scid=fh;en-us;cntactms)


    1. 將下列的 WSH 程式碼儲存在 %SystemDrive % \InetPub\AdminScripts 資料夾作為 MimeChange.vbs
      Option Explicit
      
      Dim boolFound
      Dim intCount
      Dim intMimeMap
      Dim objMimeMap
      Dim varMimeMap
      Dim varMimeExt
      Dim varMimeTyp
      
      ' specify the extension and MIME type to work with
      varMimeExt = ".gif"
      ' NOTE - this entry stores an extra HTTP header with the MIME information
      ' this "tricks" IIS into sending the extra cache control header
      varMimeTyp = "image/gif" & vbCrLf & "Cache-Control: no-cache"
      
      ' create the ADSI object & current MIME map at that path
      Set objMimeMap = GetObject("IIS://localhost/w3svc")
      varMimeMap = objMimeMap.GetEx("MimeMap")
      
      ' get the MIME map count & set search status to false
      intCount = UBound(varMimeMap) + 1
      boolFound = False
      
      ' loop through MIME map searching for existing extension information
      For intMimeMap = 0 to intCount - 1
        If varMimeMap(intMimeMap).Extension = varMimeExt Then
          boolFound = True
          Exit For
        End If
      Next
      
      ' if no extension information is found, create the new mapping
      If boolFound = False Then
        intMimeMap = intCount
        ReDim Preserve varMimeMap(intMimeMap)
        Set varMimeMap(intMimeMap) = CreateObject("MimeMap")
        varMimeMap(intMimeMap).Extension = varMimeExt
      End If
      
      ' store the new information in the MIME map
      varMimeMap(intMimeMap).MimeType = varMimeTyp
      objMimeMap.PutEx 2,"MimeMap",varMimeMap
      objMimeMap.SetInfo
      							
    2. 執行下列命令以修改中繼庫: CSCRIPT %SystemDrive%\InetPub\AdminScripts\MimeChange.vbs

      未來的要求,如.gif 檔案將會立即傳回與所要的 「 無快取 」 標頭。

這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 5.0
關鍵字:?
kbmt kbhowto KB247389 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:247389? (http://support.microsoft.com/kb/247389/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。