Nie będę opisywał ani sensu stosowania, ani zalet / wad mechanizmu kompresji HTTP. Opiszę jedynie sposób na implementację tego rozwiązania na serwerze IIS 6.
1. Włączanie kompresji dla witryn w IIS
Przechodzimy do „Menedżera internetowych usług informacyjnych (IIS)„. Klikamy prawym klawiszem na „Witryny sieci Web” i wybieramy polecenie „Właściwości„. Klikamy na zakładkę „Usługa„.
W sekcji „Kompresja protokołu HTTP” zaznaczamy pola:
- Kompresuj pliki aplikacji,
- Kompresuj pliki statyczne.
Możemy dodatkowo ograniczyć maksymalny rozmiar katalogu tymczasowego do wybranej przez nas wartości. W przypadku gdy włączymy tą opcję, a rozmiar katalogu osiągnie podaną wartość starsze pliki tymczasowe będą zastępowane nowymi.
2. Dodawanie rozszerzenia usługi Web
Przechodzimy do „Menedżera internetowych usług informacyjnych (IIS)„. Klikamy prawym klawiszem na „Rozszerzenia usługi sieci Web” i wybieramy polecenie „Dodaj nowe rozszerzenie usługi sieci Web„.
Podajemy nazwę rozszenia, np. HTTP Compression.
Klikamy na przycisk „Dodaj” i wskazujemy plik: C:\WINDOWS\system32\inetsrv\gzip.dll
Uwaga: ścieżka do pliku gzip.dll może ulec zmianie w zależności od systemu.
Zaznaczamy „Ustaw stan rozszerzenia na ‘dozwolone’” i klikamy na „OK„.
3. Konfigurowanie rozszerzeń podlegających kompresji
Przechodzimy do katalogu c:\Windows\System32\inetsrv .
Na wszelki wypadek wykonujemy kopię pliku MetaBase.xml, a następnie otwieramy oryginalny plik do edycji.
Odnajdujemy sekcję „IIsCompressionScheme” dotyczacą kompresji gzip, czyli sekcję z atrybutem „Location” ustawionym na wartość „/LM/W3SVC/Filters/Compression/gzip„.
Odnajdziemy sekcję podobną do poniższej:
W atrybucie "HcScriptFileExtensions" konfigurujemy pliki o jakim rozszeżeniu mają podlegać kompresji HTTP.
Zapisujemy zmodyfikowany plik i od tej pory możemy cieszyć się dobrodziejstwami kompresji HTTP.
1. Włączanie kompresji dla witryn w IIS
Przechodzimy do „Menedżera internetowych usług informacyjnych (IIS)„. Klikamy prawym klawiszem na „Witryny sieci Web” i wybieramy polecenie „Właściwości„. Klikamy na zakładkę „Usługa„.
W sekcji „Kompresja protokołu HTTP” zaznaczamy pola:
- Kompresuj pliki aplikacji,
- Kompresuj pliki statyczne.
Możemy dodatkowo ograniczyć maksymalny rozmiar katalogu tymczasowego do wybranej przez nas wartości. W przypadku gdy włączymy tą opcję, a rozmiar katalogu osiągnie podaną wartość starsze pliki tymczasowe będą zastępowane nowymi.
2. Dodawanie rozszerzenia usługi Web
Przechodzimy do „Menedżera internetowych usług informacyjnych (IIS)„. Klikamy prawym klawiszem na „Rozszerzenia usługi sieci Web” i wybieramy polecenie „Dodaj nowe rozszerzenie usługi sieci Web„.
Podajemy nazwę rozszenia, np. HTTP Compression.
Klikamy na przycisk „Dodaj” i wskazujemy plik: C:\WINDOWS\system32\inetsrv\gzip.dll
Uwaga: ścieżka do pliku gzip.dll może ulec zmianie w zależności od systemu.
Zaznaczamy „Ustaw stan rozszerzenia na ‘dozwolone’” i klikamy na „OK„.
3. Konfigurowanie rozszerzeń podlegających kompresji
Przechodzimy do katalogu c:\Windows\System32\inetsrv .
Na wszelki wypadek wykonujemy kopię pliku MetaBase.xml, a następnie otwieramy oryginalny plik do edycji.
Odnajdujemy sekcję „IIsCompressionScheme” dotyczacą kompresji gzip, czyli sekcję z atrybutem „Location” ustawionym na wartość „/LM/W3SVC/Filters/Compression/gzip„.
Odnajdziemy sekcję podobną do poniższej:
| XML | | kopiuj kod | | ? |
| 01 | <IIsCompressionScheme |
| 02 | Location ="/LM/W3SVC/Filters/Compression/gzip" |
| 03 | HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" |
| 04 | HcCreateFlags="1" |
| 05 | HcDoDynamicCompression="TRUE" |
| 06 | HcDoOnDemandCompression="TRUE" |
| 07 | HcDoStaticCompression="TRUE" |
| 08 | HcDynamicCompressionLevel="0" |
| 09 | HcFileExtensions="htm |
| 10 | html |
| 11 | txt" |
| 12 | HcOnDemandCompLevel="10" |
| 13 | HcPriority="1" |
| 14 | HcScriptFileExtensions="asp |
| 15 | dll |
| 16 | exe" |
| 17 | > |
| 18 | </IIsCompressionScheme> |
W atrybucie "HcScriptFileExtensions" konfigurujemy pliki o jakim rozszeżeniu mają podlegać kompresji HTTP.
Zapisujemy zmodyfikowany plik i od tej pory możemy cieszyć się dobrodziejstwami kompresji HTTP.