Nel Firebug l'intestazione della richiesta ha la seguente voce:
Accept-Encoding: gzip, sgonfiareapplicazione IIS manca Content-Encoding - gzip nell'intestazione di risposta
Ma non c'è:
Content-Encoding: gzip
Nell'intestazione di risposta.
Indipendentemente da qualsiasi cosa che ho provato, in seguito a un numero di risposte su SO e altri siti, niente sembra funzionare! Né i file statici né quelli dinamici vengono compressi, o almeno se non ci sono codifiche del contenuto: il valore gzip ritorna nell'intestazione della risposta.
Ecco un esempio di mie impostazioni web.config:
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" minFileSizeForComp="150" staticCompressionIgnoreHitFrequency="true">
<remove name="gzip" />
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="8" dynamicCompressionLevel="8" />
</httpCompression>
ho ignorato la frequenza colpo
staticCompressionIgnoreHitFrequency="true
"
ho confermato che IIS è infatti la compressione dei file che ho può vedere in:
C: \ inetpub \ temp \ IIS Temporary Compressed Files
Come sp ecified qui: set up gzip in IIS 8 windows 8
ho assicurato che la compressione statica e dinamica è attivato nelle caratteristiche di Windows> Internet Information Services> WWW Servizi> Performance Caratteristiche
Ho anche provato l'approccio di questo tipo:
IIS 7.5 Compression creates compressed file but returns the non-compressed one
Edit 1:
versione di IIS è 10, ma ho anche provato questo su IIS 8.5
Edit 2:
ora ho anche provato vari file di configurazione si trovano a questo link: https://github.com/h5bp/server-configs-iis/ che fornisce quella che appare come alcune 'best practice' file web.config.
Non risolto
Edit 3:
Sulla base @ ingresso di Nkosi ho creato una nuova applicazione Asp.net MVC e configurato utilizzando tutte queste opzioni che ho provato. Ecco l'intestazione grezza che ho ricevuto da Fiddler:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: text/javascript; charset=UTF-8
Expires: Wed, 20 Jul 2016 18:22:47 GMT
Last-Modified: Wed, 20 Jul 2016 18:22:47 GMT
Server: Microsoft-HTTPAPI/2.0
Date: Wed, 20 Jul 2016 18:22:47 GMT
Come si può vedere, non Content-Encoding: Gzip
Non risolto
Edit 4:
I Ho provato questo approccio aggiungendo il codice all'evento BeginRequest nella sezione Global.asax: https://stackoverflow.com/a/27185575/392591
Non risolto
Edit 5:
Così ho appena provato che permette il tracciamento sulla base di questa risposta su SO: https://stackoverflow.com/a/33182525/392591
Nessun guasto, ma ho notato proprio in fondo del file di traccia c'è una sezione chiamata GENERAL_RESPONSE_HEADERS ed ecco che cosa prevede:
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
X-Powered-By: My Little Pony
X-UA-Compatible: IE=Edge,chrome=1
e questo è per ogni file di tipo statico.
Comunque ho appena trovato la seguente nel file di traccia:
8. STATIC_COMPRESSION_START 08:04:03.552
9. STATIC_COMPRESSION_NOT_SUCCESS Reason="NOT_FREQUENTLY_HIT" 08:04:03.552
10. STATIC_COMPRESSION_END 08:04:03.552
La compressione non Successo per la ragione non ha colpito frequenti ... Strano perché ho sicuramente l'opzione Ignora frequenza Hit impostata su true!
Così ho appena andato in IIS Manager e sul server ho impostare la frequenza Hit Ignora per vera (cioè applicationHost.config) ed è cambiato l'output file di traccia al seguente:
8. STATIC_COMPRESSION_START 08:19:17.489
9. STATIC_COMPRESSION_SUCCESS 08:19:17.489
10. STATIC_COMPRESSION_END 08:19:17.489
sono tornato e lo ha spento nell'applicazione Host.config e è tornato a una Static Compression Not Success, quindi questo sicuramente fa la differenza. Tuttavia, quando guardo FireBug, è ancora in consegna il file non compresso e nessuna intestazione di risposta Codifica contenuti GZIP.
Un altro bit interessante che ho notato nella Traccia richiesta non riuscita sono gli ultimi due GENERAL_FLUSH_RESPONSE_END e GENERAL_REQUEST_END entrambi i quali mostrano il mio file Bootstrap.css che ha inviato 17903 byte, approssimativamente 18kb, corrispondente alla versione compressa del file che vedo in la mia cartella File temporanei compressi di IIS. Quindi il file viene fisicamente compresso e in base alle tracce di Failed Request sta inviando il contenuto giusto ... ma il browser preleva invece il file completo da 117 kb?
Non risolto
Sto usando IIS10 e il mio web.config ha ' ' solo. Quando eseguo il test delle richieste da un browser (Firefox, IE11, Edge, Google Chrome) a una semplice applicazione MVC. Tutte le richieste hanno 'Accept-Encoding: gzip, deflate' e le risposte restituiscono' Content-Encoding: gzip' –
Nkosi
Vedere [this] (http://stackoverflow.com/questions/702124/enable-iis7-gzip). Forse hai bisogno di abilitare la funzione gzip sul server. –
@LucasSegers - La funzionalità è definitivamente abilitata. – Jacques