Bagaimana saya bisa mengaktifkan IIS7 untuk gzip file statis seperti js dan css dan bagaimana saya bisa menguji apakah IIS7 benar-benar gziping mereka sebelum mengirim ke klien?
sumber
Bagaimana saya bisa mengaktifkan IIS7 untuk gzip file statis seperti js dan css dan bagaimana saya bisa menguji apakah IIS7 benar-benar gziping mereka sebelum mengirim ke klien?
Anda dapat mengaktifkan kompresi GZIP sepenuhnya di Web.config
file Anda . Ini sangat berguna jika Anda menggunakan hosting bersama dan tidak dapat mengonfigurasi IIS secara langsung, atau Anda ingin konfigurasi Anda dijalankan di antara semua lingkungan yang Anda targetkan.
<system.webServer>
<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>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>
Untuk menguji apakah kompresi berfungsi atau tidak, gunakan alat pengembang di Chrome atau Firebug untuk Firefox dan pastikan tajuk respons HTTP diatur:
Content-Encoding: gzip
Perhatikan bahwa tajuk ini tidak akan ada jika kode responsnya 304 (Tidak Dimodifikasi). Jika demikian, lakukan penyegaran penuh (tahan shift atau kontrol saat Anda menekan tombol penyegaran) dan periksa lagi.
.js
tidak. Juga, coba tambahkanapplication/x-javascript
. Menggunakan bersama-sama dengan kucing jantan, maka dihapusdirectory
parameternya.Anda harus mengaktifkan fitur di panel kontrol Fitur Windows:
sumber
Gzip Global dalam HttpModule
Jika Anda tidak memiliki akses ke instance IIS akhir (shared hosting ...) Anda dapat membuat HttpModule yang menambahkan kode ini ke setiap acara HttpApplication.Begin_Request:
Pengujian
Kudos, tidak ada solusi yang dilakukan tanpa pengujian. Saya suka menggunakan plugin Firefox " Liveheaders " yang menunjukkan semua informasi tentang setiap pesan http antara browser dan server, termasuk kompresi, ukuran file (yang dapat Anda bandingkan dengan ukuran file di server).
sumber
di bawah windows 2012 r2 dapat ditemukan di sini:
sumber
Saya hanya perlu menambahkan fitur di fitur windows seperti yang disebutkan Charlie. Bagi orang yang tidak dapat menemukannya di windows 10 atau server 2012+ menemukannya seperti di bawah ini. Saya sedikit kesulitan
Windows 10
windows server 2012 R2
jendela server 2016
sumber
Jika Anda menggunakan YSlow dengan Firebug dan menganalisis kinerja halaman Anda, YSlow pasti akan memberi tahu Anda apa artefak pada halaman Anda yang tidak gzip!
sumber
Jika Anda juga mencoba untuk gzip halaman dinamis (seperti aspx) dan itu tidak berfungsi, itu mungkin karena opsi tidak diaktifkan (Anda perlu menginstal modul Kompresi Konten Dinamis menggunakan Fitur Windows):
http://support.esri.com/en/knowledgebase/techarticles/detail/38616
sumber
Cara mudah lain untuk menguji tanpa menginstal apa pun, juga tidak tergantung pada versi IIS. Rekatkan url Anda ke tautan ini - Pemeriksaan SEO
Untuk menambahkan ke web.config: http://www.iis.net/configreference/system.webserver/httpcompression
sumber
Coba Firefox dengan add-on Firebug terinstal. Saya menggunakannya; alat hebat untuk pengembang web.
Saya telah mengaktifkan kompresi Gzip juga di IIS7 saya menggunakan web.config.
sumber
Untuk semua orang miskin yang harus berjuang dengan Server Jerman / deutsche :)
sumber