共用方式為


靜態類型 <staticTypes>

概觀

元素 <staticTypes><httpCompression> 元素包含專案集合 <add> ,這些元素會將唯一的MIME類型新增至IIS 7將靜態壓縮的類型清單。

注意

與將特定擴展名定義為「靜態內容」的 IIS 6.0 HcFileExtensions Metabase 屬性不同,IIS 7 會使用 <staticTypes> 元素來指定哪些 MIME 類型 IIS 7 會以靜態方式壓縮,而且它會使用 元素中的 <handlers> 對應來指定哪些擴展名參照靜態或動態內容。

相容性

版本 備註
IIS 10.0 <staticTypes> 在 IIS 10.0 中修改專案。
IIS 8.5 專案 <staticTypes> 未在 IIS 8.5 中修改。
IIS 8.0 專案 <staticTypes> 未在 IIS 8.0 中修改。
IIS 7.5 專案 <staticTypes> 未在 IIS 7.5 中修改。
IIS 7.0 元素 <staticTypes><httpCompression> 元素是在 IIS 7.0 中引進的。
IIS 6.0 元素 <staticTypes> 有點類似於 IIS 6.0 HcFileExtensions Metabase 屬性。

設定

HTTP 壓縮通常會在 IIS 7 和更新版本的預設安裝上使用。 不過,預設只會安裝靜態壓縮。 若要安裝靜態或動態壓縮,請使用下列步驟。

Windows Server 2012 或 Windows Server 2012 R2

  1. 在工作列上,按一下 [伺服器管理員]
  2. 伺服器管理員 中,按兩下 [管理] 功能表,然後按下 [新增角色和功能]。
  3. 在 [ 新增角色和功能 精靈] 中,按 [ 下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [下一步]。
  4. 在 [伺服器角色] 頁面上,依序展開 [網頁伺服器]、[網頁伺服器] 和 [效能],然後選取 [靜態內容壓縮] 和/或 [動態內容壓縮]。 按一下 [下一步] 。
    醒目提示動態內容壓縮選項的螢幕快照。 .
  5. 在 [選取功能] 頁面上,按一下 [下一步]
  6. 在 [確認安裝選項] 頁面上,按一下 [安裝]
  7. 在 [結果] 頁面上,按一下 [關閉]

Windows 8 或 Windows 8.1

  1. 在 [開始] 畫面上,將指標一路移至左下角,以滑鼠右鍵按兩下 [開始] 按鈕,然後按兩下 [控制台]。
  2. 控制台 中,按兩下 [程式和功能],然後按兩下 [開啟或關閉 Windows 功能]。
  3. 依序展開 [網際網路資訊服務]、[萬維網服務]、[效能功能],然後選取 [動態內容壓縮] 和/或 [靜態內容壓縮]。
    正在選取並反白顯示靜態內容壓縮資料夾的螢幕快照。
  4. 按一下 [確定]
  5. 按一下 [關閉] 。

Windows Server 2008 或 Windows Server 2008 R2

  1. 在任務欄上,按兩下 [開始],指向 [系統管理工具],然後按兩下 [伺服器管理員]。
  2. [伺服器管理員 階層] 窗格中,展開 [角色],然後按兩下 [網頁伺服器] [IIS]。
  3. 在 [Web 伺服器 (IIS)] 窗格中,捲動至 [角色服務] 區段,然後按兩下 [新增角色服務]。
  4. 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,如果您想要安裝動態壓縮和靜態內容壓縮,如果您想要安裝靜態壓縮,請選取 [動態內容壓縮],然後按 [下一步]。
    醒目提示並選取動態內容壓縮選項的螢幕快照。
  5. 在 [確認安裝選項] 頁面上,按一下 [安裝]
  6. 在 [結果] 頁面上,按一下 [關閉]

Windows Vista 或 Windows 7

  1. 在任務欄上,按兩下 [開始],然後按兩下 [控制台]。
  2. 控制台 中,按兩下 [程式和功能],然後按兩下 [開啟或關閉 Windows 功能]。
  3. 依序展開 [網際網路資訊服務]、[萬維網服務] 和 [效能功能]。
  4. 如果您想要安裝動態壓縮,請選取 [Http Compression Dynamic],如果您想要安裝靜態壓縮,請選取 [靜態內容壓縮]。
    選取並反白顯示 H T T P 壓縮動態資料夾的螢幕快照。
  5. 按一下 [確定]

作法

沒有使用者介面可設定 IIS 7 的靜態內容類型。 如需如何以程式設計方式設定靜態內容類型的範例,請參閱 本檔的<程式代碼範例 >一節。

組態

屬性

無。

子元素

add 選擇性項目。

將MIME類型新增至靜態MIME類型的集合。
remove 選擇性項目。

從靜態MIME類型集合中移除MIME類型的參考。
clear 選擇性項目。

從靜態MIME類型集合中移除MIME類型的所有參考。

組態範例

下列預設 <httpCompression> 元素是在 IIS 7 的 ApplicationHost.config 檔案中設定。 除非您使用 元素,否則此組態區段會繼承預設組 <clear> 態設定。

<httpCompression
      directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
   <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
   <dynamicTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="message/*" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="*/*" enabled="false" />
   </dynamicTypes>
   <staticTypes>
      <add mimeType="text/*" enabled="true" />
      <add mimeType="message/*" enabled="true" />
      <add mimeType="application/javascript" enabled="true" />
      <add mimeType="*/*" enabled="false" />
   </staticTypes>
</httpCompression>

範例程式碼

下列程式代碼範例會將 Office 2003 檔的 MIME 類型新增至靜態壓縮類型清單。

( [> !注意]

Office 2007 檔使用內建壓縮,因此不需要由 IIS 壓縮。

AppCmd.exe

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/msword',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-powerpoint',enabled='True']" /commit:apphost

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/vnd.ms-excel',enabled='True']" /commit:apphost

注意

當您使用 AppCmd.exe 來設定這些設定時,請務必將認可參數apphost設定為 。 這會將組態設定認可到 ApplicationHost.config 檔案中的適當位置區段。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection httpCompressionSection = config.GetSection("system.webServer/httpCompression");
         ConfigurationElementCollection staticTypesCollection = httpCompressionSection.GetCollection("staticTypes");

         ConfigurationElement addElement = staticTypesCollection.CreateElement("add");
         addElement["mimeType"] = @"application/msword";
         addElement["enabled"] = true;
         staticTypesCollection.Add(addElement);

         ConfigurationElement addElement1 = staticTypesCollection.CreateElement("add");
         addElement1["mimeType"] = @"application/vnd.ms-powerpoint";
         addElement1["enabled"] = true;
         staticTypesCollection.Add(addElement1);

         ConfigurationElement addElement2 = staticTypesCollection.CreateElement("add");
         addElement2["mimeType"] = @"application/vnd.ms-excel";
         addElement2["enabled"] = true;
         staticTypesCollection.Add(addElement2);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim httpCompressionSection As ConfigurationSection = config.GetSection("system.webServer/httpCompression")
      Dim staticTypesCollection As ConfigurationElementCollection = httpCompressionSection.GetCollection("staticTypes")

      Dim addElement As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement("mimeType") = "application/msword"
      addElement("enabled") = True
      staticTypesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement1("mimeType") = "application/vnd.ms-powerpoint"
      addElement1("enabled") = True
      staticTypesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = staticTypesCollection.CreateElement("add")
      addElement2("mimeType") = "application/vnd.ms-excel"
      addElement2("enabled") = True
      staticTypesCollection.Add(addElement2)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST");
var staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection;

var addElement = staticTypesCollection.CreateNewElement("add");
addElement.Properties.Item("mimeType").Value = "application/msword";
addElement.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement);

var addElement1 = staticTypesCollection.CreateNewElement("add");
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint";
addElement1.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement1);

var addElement2 = staticTypesCollection.CreateNewElement("add");
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel";
addElement2.Properties.Item("enabled").Value = true;
staticTypesCollection.AddElement(addElement2);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set httpCompressionSection = adminManager.GetAdminSection("system.webServer/httpCompression", "MACHINE/WEBROOT/APPHOST")
Set staticTypesCollection = httpCompressionSection.ChildElements.Item("staticTypes").Collection

Set addElement = staticTypesCollection.CreateNewElement("add")
addElement.Properties.Item("mimeType").Value = "application/msword"
addElement.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement)

Set addElement1 = staticTypesCollection.CreateNewElement("add")
addElement1.Properties.Item("mimeType").Value = "application/vnd.ms-powerpoint"
addElement1.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement1)

Set addElement2 = staticTypesCollection.CreateNewElement("add")
addElement2.Properties.Item("mimeType").Value = "application/vnd.ms-excel"
addElement2.Properties.Item("enabled").Value = True
staticTypesCollection.AddElement(addElement2)

adminManager.CommitChanges()