Url-адрес сжатия <URLCompression>
Общие сведения
Элемент <urlCompression>
задает следующие параметры для статического и динамического сжатия содержимого в IIS 7 и более поздних версиях:
- Атрибут
<urlCompression>
doDynamicCompression элемента включает или отключает динамическое сжатие содержимого на уровне сайта, приложения или папки. - Атрибут
<urlCompression>
doStaticCompression элемента включает или отключает сжатие статического содержимого на уровне сайта, приложения или папки. - Атрибут 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),веб-сервер, затем — Производительность, а затем выберите Сжатие статического содержимого и (или) Динамическое сжатие содержимого. Щелкните Далее.
. - На странице Выбор компонентов нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
- На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите пункт панель управления.
- В панель управления щелкните Программы и компоненты, а затем — Включить или выключить компоненты Windows.
- Разверните узел Службы IIS, Веб-службы, Функции производительности, а затем выберите Динамическое сжатие содержимого и (или) Сжатие статического содержимого.
- Нажмите кнопку ОК.
- Щелкните Закрыть.
Windows Server 2008 или Windows Server 2008 R2
- На панели задач нажмите кнопку Пуск, наведите указатель мыши на пункт Администрирование, а затем щелкните диспетчер сервера.
- В области иерархии диспетчер сервера разверните узел Роли, а затем щелкните Веб-сервер (IIS) .
- В области Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
- На странице Выбор служб ролеймастера добавления служб ролей выберите Динамическоесжатие содержимого , если требуется установить динамическое сжатие, и Сжатие статического содержимого , если требуется установить статическое сжатие, а затем нажмите кнопку Далее.
- На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
- На странице Результаты нажмите кнопку Закрыть.
Windows Vista или Windows 7
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- В панель управления щелкните Программы и компоненты, а затем — Включить или отключить компоненты Windows.
- Разверните узел Службы IIS, Затем — Службы Интернета, а затем Функции производительности.
- Выберите Http Compression Dynamic (Динамическое сжатие HTTP), если требуется установить динамическое сжатие, и Статическое сжатие содержимого , если вы хотите установить статическое сжатие.
- Нажмите кнопку ОК.
Инструкции
Включение или отключение статического и динамического сжатия для сайта или приложения
Откройте диспетчер служб IIS.
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, инструменты, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
В области Подключения перейдите к подключению, сайту, приложению или каталогу, для которых требуется включить сжатие.
В области Главная дважды щелкните Сжатие.
В области Сжатие проверка поля для включения статического или динамического сжатия или удалите метки проверка, чтобы отключить статическое или динамическое сжатие.
Выполнив описанные выше действия, нажмите кнопку Применить в области Действия .
Включение или отключение статического и динамического сжатия для сервера
Откройте диспетчер служб IIS.
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, инструменты, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения выделите имя сервера.
На домашней панели сервера дважды щелкните Сжатие.
В области Сжатие проверка поля для включения статического или динамического сжатия или удалите проверка метки, чтобы отключить статическое или динамическое сжатие.
Выполнив описанные выше действия, нажмите кнопку Применить в области Действия .
Настройка staticCompressionIgnoreHitFrequency
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения выберите сервер и дважды щелкните редактор конфигурации.
В редакторе конфигурации в разделе выберите system.webServer, а затем — httpCompression.
Для staticCompressionIgnoreHitFrequency введите
True
, чтобы отключить поведение, согласно которому статический файл сжимается только в том случае, если он попадает определенное количество раз в течение определенного периода времени, или введитеFalse
, чтобы включить поведение.
В области Действия нажмите кнопку Применить.
Конфигурация
Атрибуты
Атрибут | Описание |
---|---|
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()
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по