Il motivo per cui è solo la compressione del file ASPX è che il codice che hai scritto è solo incorporato nel file ASPX. Un file ASPX è una richiesta separata da qualsiasi contenuto collegato che contiene. Quindi, se si dispone di una pagina ASPX che contiene:
<img src="www.example.com\exampleimg.jpg" alt="example" />
ciò equivarrebbe a 2 richieste (DNS lookup a parte) dal tuo browser per le risorse:
- per la pagina aspx e
- per l'immagine contenuta nella pagina di aspx.
Ogni richiesta ha il proprio vapore di risposta. Il codice che hai postato si collega solo al flusso di risposta ASPX, motivo per cui solo la tua pagina ASPX viene compressa.Righe 1 & 2 del vostro codice postato stanno essenzialmente prendendo il normale flusso di risposta della pagina e iniettando un codice "uomo medio" che in questo caso mangia e comprime il normale flusso di output con un flusso GZip e lo invia invece sul filo.
Righe 3 & 4 stanno configurando le intestazioni di risposta. Tutte le richieste e le risposte http hanno intestazioni inviate prima del contenuto. Questi impostano la richiesta/risposta in modo che il server e il client sappiano cosa viene inviato e come.
In questo caso, la riga 3 informa il browser del client che il flusso di risposta è compresso tramite gzip e che pertanto deve essere deselezionato dal browser client prima della visualizzazione.
E la riga 4 sta semplicemente accendendo l'intestazione Accept-Encoding della risposta. Questo sarebbe stato altrimenti assente dalla risposta.
Ci sono moduli collegabili che è possibile scrivere/ottenere che consentono di comprimere un multitide di altro tipo MIME come * .js e * .css ma è meglio usare solo la funzionalità di compressione integrata di IIS.
Non hai detto che verson di IIS che si sta utilizzando, ma se si trattasse di IIS 7.0, sarebbe necessario includere qualcosa di simile a quanto segue nella sezione <system.webserver>
di voi file web.config:
<httpCompression>
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" />
..
Richard
Ciao @ Ben, puoi dirmi come comprimere i miei file usando IIS, quali sono le impostazioni che devo eseguire, anche se non ho accesso alle configurazioni di IIS, ma io? Proverò a farlo. Per favore dimmi come comprimere i file usando IIS ?? Grazie! – Prashant
http://stackoverflow.com/a/6992948/8479 descrive la semplice modifica a web.config necessaria per IIS7 o versioni successive. – Rory