정적 형식 <추가>
개요
<add>
요소의 <staticTypes>
요소는 IIS 7이 정적으로 압축할 형식 목록에 고유한 MIME 형식을 추가합니다.
참고 항목
특정 파일 이름 확장명을 "정적 콘텐츠"로 정의한 IIS 6.0 HcFileExtensions 메타베이스 속성과 달리 IIS 7은 요소를 사용하여 <staticTypes>
IIS 7이 정적으로 압축할 MIME 형식을 지정하고 요소의 <handlers>
매핑을 사용하여 정적 또는 동적 콘텐츠를 참조하는 파일 이름 확장명을 지정합니다.
호환성
버전 | 주의 |
---|---|
IIS 10.0 | <add> IIS 10.0에서 요소가 수정되지 않았습니다. |
IIS 8.5 | <add> IIS 8.5에서 요소가 수정되지 않았습니다. |
IIS 8.0 | <add> IIS 8.0에서는 요소가 수정되지 않았습니다. |
IIS 7.5 | <add> IIS 7.5에서는 요소가 수정되지 않았습니다. |
IIS 7.0 | <add> 요소의 <staticTypes> 요소는 IIS 7.0에서 도입되었습니다. |
IIS 6.0 | 요소는 <staticTypes> IIS 6.0 HcFileExtensions 메타베이스 속성과 다소 유사합니다. |
설정
HTTP 압축은 일반적으로 IIS 7 이상의 기본 설치에서 사용할 수 있습니다. 그러나 기본적으로 정적 압축만 설치됩니다. 정적 또는 동적 압축을 설치하려면 다음 단계를 사용합니다.
Windows Server 2012 또는 Windows Server 2012 R2
- 작업 표시줄에서 서버 관리자를 클릭합니다.
- 서버 관리자 관리 메뉴를 클릭한 다음 역할 및 기능 추가를 클릭합니다.
- 역할 및 기능 추가 마법사에서 다음을 클릭합니다. 설치 유형을 선택하고 다음을 클릭합니다. 대상 서버를 선택하고 다음을 클릭합니다.
- 서버 역할 페이지에서 IIS(웹 서버)를 확장하고, 웹 서버를 확장하고, 성능을 확장한 다음, 정적 콘텐츠 압축 및/또는 동적 콘텐츠 압축을 선택합니다. 다음을 클릭합니다.
. - 기능 선택 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows 8 또는 Windows 8.1
- 시작 화면에서 포인터를 왼쪽 아래 모서리로 이동하고 시작 단추를 마우스 오른쪽 단추로 클릭한 다음 제어판 클릭합니다.
- 제어판 프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스 확장하고, World Wide Web Services를 확장하고, 성능 기능을 확장한 다음, 동적 콘텐츠 압축 및/또는 정적 콘텐츠 압축을 선택합니다.
- 확인을 클릭합니다.
- 닫기를 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 서버 관리자 클릭합니다.
- 서버 관리자 계층 구조 창에서 역할을 확장한 다음 웹 서버(IIS)를 클릭합니다.
- 웹 서버(IIS) 창에서 Role Services 섹션으로 스크롤한 다음 역할 서비스 추가를 클릭합니다.
- 역할 서비스 추가 마법사의 역할 서비스 선택 페이지에서 정적 압축을 설치하려는 경우 동적 압축 및 정적 콘텐츠 압축을 설치하려면 동적 콘텐츠 압축을 선택하고 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- Results(결과) 페이지에서 Close(닫기)를 클릭합니다.
Windows Vista 또는 Windows 7
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 제어판 프로그램 및 기능을 클릭한 다음 Windows 기능 켜기 또는 끄기를 클릭합니다.
- 인터넷 정보 서비스 확장한 다음, World Wide Web Services, 성능 기능을 확장합니다.
- 정적 압축을 설치하려는 경우 동적 압축 및 정적 콘텐츠 압축을 설치하려면 Http 압축 동적을 선택합니다.
- 확인을 클릭합니다.
방법
IIS 7의 정적 콘텐츠 형식을 설정하기 위한 사용자 인터페이스는 없습니다. 정적 콘텐츠 형식을 프로그래밍 방식으로 설정하는 방법에 대한 예제는 이 문서의 코드 샘플 섹션을 참조하세요.
구성
특성
특성 | 설명 |
---|---|
enabled |
필수 부울 특성입니다. 새 MIME 형식이 정적 압축을 사용할 수 있는지 여부를 지정합니다. 기본값은 true 입니다. |
mimeType |
필수 문자열 특성입니다. 정적 압축을 사용하는 콘텐츠 형식이라고도 하는 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()