Статические типы <staticTypes>
Обзор
Элемент <staticTypes>
элемента <httpCompression>
содержит коллекцию <add>
элементов, которые добавляют уникальные типы MIME в список типов, которые IIS 7 будет сжимать статически.
Примечание.
В отличие от свойства метабазы IIS 6.0 HcFileExtensions , определяющего определенные расширения имени файла как "статическое содержимое", 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 . |
Настройка
Сжатие HTTP обычно доступно для установки IIS 7 и более поздних версий. Однако по умолчанию устанавливается только статическое сжатие. Чтобы установить статическое или динамическое сжатие, выполните следующие действия.
Windows Server 2012 или Windows Server 2012 R2
- На панели задач щелкните Диспетчер сервера.
- В диспетчер сервера щелкните меню "Управление" и выберите пункт "Добавить роли и компоненты".
- В мастере добавления ролей и компонентов нажмите кнопку "Далее". Выберите тип установки и нажмите кнопку "Далее". Выберите целевой сервер и нажмите кнопку "Далее".
- На странице ролей сервера разверните веб-сервер (IIS), разверните веб-сервер, разверните узел Производительность, а затем выберите сжатие статического содержимого и (или) динамическое сжатие содержимого. Нажмите кнопку Далее.
. - На странице Выбор функций (Select features) нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки щелкните Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель на левый нижний угол, щелкните правой кнопкой "Пуск" и щелкните панель управления.
- В панель управления щелкните "Программы и компоненты", а затем выберите "Включить или отключить функции Windows".
- Разверните службы IIS, разверните веб-службы World Wide, разверните функции производительности, а затем выберите динамическое сжатие содержимого и (или) сжатие статического содержимого.
- Щелкните OK.
- Нажмите кнопку Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку "Пуск", наведите указатель на администрирование и щелкните диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел "Роли" и выберите веб-сервер (IIS).
- В области веб-сервера (IIS) прокрутите страницу до раздела "Службы ролей" и нажмите кнопку "Добавить службы ролей".
- На странице "Выбор служб ролей" мастера добавления служб ролей выберите динамическое сжатие содержимого, если требуется установить динамическое сжатие и сжатие статического содержимого, если требуется установить статическое сжатие, а затем нажмите кнопку "Далее".
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
- В панель управления щелкните "Программы и компоненты", а затем нажмите кнопку "Включить или отключить компоненты Windows".
- Разверните службы IIS, а затем веб-службы World Wide, а затем функции производительности.
- Если вы хотите установить динамическое сжатие и сжатие статического содержимого, выберите "Динамический сжатие HTTP", если требуется установить статическое сжатие.
- Щелкните OK.
Инструкции
Пользовательский интерфейс для настройки статических типов контента для IIS 7 отсутствует. Примеры установки статических типов контента программным образом см. в разделе "Примеры кода" этого документа.
Настройка
Атрибуты
Нет.
Дочерние элементы
add |
Необязательный элемент. Добавляет тип MIME в коллекцию статических типов MIME. |
---|---|
remove |
Необязательный элемент. Удаляет ссылку на тип MIME из коллекции статических типов MIME. |
clear |
Необязательный элемент. Удаляет все ссылки на типы MIME из коллекции статических типов MIME. |
Образец конфигурации
Следующий элемент по умолчанию <httpCompression>
настраивается в файле ApplicationHost.config в IIS 7. Этот раздел конфигурации наследует параметры конфигурации по умолчанию, если этот элемент не используется <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>
Пример кода
Следующие примеры кода добавляют типы MIME для документов Office 2003 в список статических типов сжатия.
( [> ! ПРИМЕЧАНИЕ]
Документы 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()