URL-адрес сжатия <URLCompression>
Обзор
Элемент <urlCompression>
задает следующие параметры для сжатия статического и динамического содержимого в IIS 7 и более поздних версиях:
- Атрибут doDynamicCompression элемента включает или отключает динамическое сжатие содержимого
<urlCompression>
на уровне сайта, приложения или папки. - Атрибут doStaticCompression элемента включает или отключает сжатие статического содержимого
<urlCompression>
на уровне сайта, приложения или папки. - Атрибут dynamicCompressionBeforeCache указывает, будут ли СЛУЖБЫ IIS динамически сжимать содержимое, которое не было кэшировано. Если атрибут dynamicCompressionBeforeCache имеет значение true, службы IIS динамически сжимают ответ при первом выполнении запроса и помещает содержимое в очередь для сжатия. Последующие запросы обрабатываются динамически, пока сжатый ответ не будет добавлен в каталог кэша. После добавления сжатого ответа в каталог кэша кэша кэшированный ответ отправляется клиентам для последующих запросов. Если dynamicCompressionBeforeCache имеет значение false, службы IIS возвращают несжатый ответ, пока сжатый ответ не будет добавлен в каталог кэша.
Примечание.
Если атрибут dynamicCompressionBeforeCache имеет значение true, если ответ кэша выходных данных удален, динамическое сжатие не будет выполнено до того, как ответ будет помещен в выходной кэш. Однако если атрибут doDynamicCompression имеет значение true, динамическое сжатие по-прежнему происходит после того, как выходной кэш был заполнен ответом.
Совместимость
Версия | Примечания. |
---|---|
IIS 10.0 | Элемент <urlCompression> не был изменен в IIS 10.0. |
IIS 8.5 | Элемент <urlCompression> не был изменен в IIS 8.5. |
IIS 8.0 | Элемент <urlCompression> не был изменен в IIS 8.0. |
IIS 7.5 | В IIS 7.5 значение по умолчанию атрибута doDynamicCompression изменилось с false на true. |
IIS 7.0 | Элемент <urlCompression> появился в IIS 7.0. |
IIS 6,0 | Элемент <urlCompression> заменяет следующие свойства метабазы IIS 6.0:
|
Настройка
Сжатие 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 (IIS):
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
Если вы используете Windows 8 или Windows 8.1:
- Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
- Щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку "Пуск", наведите указатель на администрирование и щелкните диспетчер службы IIS (IIS).
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
- Дважды щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
В области "Подключения" перейдите к подключению, сайту, приложению или каталогу, для которого требуется включить сжатие.
В области "Главная" дважды щелкните "Сжатие".
В области сжатия установите флажки, чтобы включить статическое или динамическое сжатие, или удалить флажки, чтобы отключить статическое или динамическое сжатие.
Завершив описанные выше действия, нажмите кнопку "Применить " на панели "Действия ".
Включение или отключение статического и динамического сжатия для сервера
Откройте диспетчер службы IIS (IIS):
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
Если вы используете Windows 8 или Windows 8.1:
- Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
- Щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку "Пуск", наведите указатель на администрирование и щелкните диспетчер службы IIS (IIS).
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку "Пуск" и щелкните панель управления.
- Дважды щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
В области "Подключения" выделите имя сервера.
На домашней панели сервера дважды щелкните сжатие.
В области сжатия установите флажки, чтобы включить статическое или динамическое сжатие, или удалить флажки, чтобы отключить статическое или динамическое сжатие.
Завершив описанные выше действия, нажмите кнопку "Применить " на панели "Действия ".
Настройка staticCompressionIgnoreHitFrequency
Откройте диспетчер службы IIS (IIS):
Если вы используете Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, щелкните "Сервис" и щелкните диспетчер службы IIS (IIS).
Если вы используете Windows 8.1:
- Удерживайте клавишу Windows, нажимайте букву X и щелкните панель управления.
- Щелкните "Администрирование" и дважды щелкните диспетчер службы IIS (IIS).
В области "Подключения" выберите сервер и дважды щелкните редактор конфигурации.
В редакторе конфигурации в разделе выберите system.webServer и выберите httpCompression.
Для staticCompressionIgnoreHitFrequency введите
True
, чтобы отключить поведение, которое сжимается статический файл, только если он попадает в определенное количество раз за определенный период времени или введитеFalse
, чтобы включить поведение.
В области Действия нажмите кнопку Применить.
Настройка
Атрибуты
Атрибут | Description |
---|---|
doDynamicCompression |
Дополнительный логический атрибут. Указывает, включена ли динамическое сжатие для URL-адресов. Примечание. В IIS 7.0 использование динамического сжатия было отключено по умолчанию из-за увеличения использования процессора, что может снизить общую производительность веб-сервера. В IIS 7.5 изменения были внесены в динамическое сжатие, что привело к повышению производительности, поэтому динамическое сжатие включено по умолчанию в IIS 7.5 и более поздних версиях. Значение по умолчанию — true . |
doStaticCompression |
Дополнительный логический атрибут. Указывает, включена ли статическое сжатие для URL-адресов. Значение по умолчанию — true . |
dynamicCompressionBeforeCache |
Дополнительный логический атрибут. Указывает, динамически ли сжимается текущий доступный ответ, прежде чем он будет помещен в выходной кэш. Значение по умолчанию — false . |
Дочерние элементы
Нет.
Образец конфигурации
Следующий пример конфигурации включает статическое сжатие и отключает динамическое сжатие для веб-сайта по умолчанию.
<configuration>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
</system.webServer>
</configuration>
Пример кода
В следующих примерах кода включена статическая сжатие и отключена динамическая сжатие для веб-сайта по умолчанию.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doDynamicCompression:"False"
appcmd.exe set config "Default Web Site" -section:system.webServer/urlCompression /doStaticCompression:"True"
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.GetWebConfiguration("Default Web Site");
ConfigurationSection urlCompressionSection = config.GetSection("system.webServer/urlCompression");
urlCompressionSection["doStaticCompression"] = true;
urlCompressionSection["doDynamicCompression"] = false;
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.GetWebConfiguration("Default Web Site")
Dim urlCompressionSection As ConfigurationSection = config.GetSection("system.webServer/urlCompression")
urlCompressionSection("doStaticCompression") = True
urlCompressionSection("doDynamicCompression") = False
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site");
urlCompressionSection.Properties.Item("doStaticCompression").Value = true;
urlCompressionSection.Properties.Item("doDynamicCompression").Value = false;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set urlCompressionSection = adminManager.GetAdminSection("system.webServer/urlCompression", "MACHINE/WEBROOT/APPHOST/Default Web Site")
urlCompressionSection.Properties.Item("doStaticCompression").Value = True
urlCompressionSection.Properties.Item("doDynamicCompression").Value = False
adminManager.CommitChanges()