Ho abilitato la compressione gzip in IIS 8.0 seguendo l'url Enabling Gzip in IIS on Windows 8 Sto chiamando i servizi di resto esterni dalla mia applicazione tramite jquery chiamata ajax e codice C#, attualmente il mio servizio web esterno non è compresso gzip. Se chiedo al mio partner di servizio di gzip la loro risposta, devo scrivere qualsiasi logica di decompressione nel mio codice sul lato jquery e il lato C# o il browser automaticamente decomprimono la risposta per me?GZIP viene decompresso automaticamente dal browser?
risposta
Tutti i browser moderni sono in grado di gestire una risposta codificata gzip. Infatti, se osservi le loro richieste, avranno un'intestazione che dice qualcosa sulla falsariga di Accept-Encoding: gzip
che è il loro modo di dire al server che possono gestire le risposte gzippate.
La parte importante è che il server può restituire sia gzip che le risposte non compresse a seconda dell'esistenza e del valore di tale intestazione. Se un client non invia l'intestazione Accept-Encoding
, non dovresti comprimerla. Se il client lo invia, puoi opzionalmente codificare la risposta usando gzip. Non tutti i contenuti devono essere compressi perché potrebbero già essere compressi e stai sprecando cicli di CPU. Le immagini JPEG sono di solito un buon esempio di questo. Molto probabilmente IIS sta prendendo una decisione intelligente anche qui e comprime solo ciò che è necessario, quando necessario.
È possibile verificare che IIS stia facendo quello che dovrebbe essere guardando le intestazioni di risposta che tornano dal server e cercando l'intestazione Content-Encoding: gzip
. Questo dice al client, o al browser, che il contenuto è codificato usando la compressione gzip e dovrebbe decomprimerlo in modo appropriato.
Tutte le richieste basate su browser (ad es. AJAX/jQuery, richieste regolari) verranno automaticamente decompresse senza ulteriori sforzi da parte dell'utente. Il browser è il cliente responsabile per determinare se può gestire gzip e aggiungerà l'intestazione Accept-Encoding
se lo fa. Il codice JavaScript riceverà la versione non compressa di esso nel gestore della risposta.
TL; DR: Accenderlo è solitamente una buona idea e non è necessario eseguire ulteriori operazioni.
Se la compressione gzip è abilitata sul server Web, ovvero, non nella logica dell'applicazione, il browser verrà decompresso automaticamente.
Infatti, se il browser non supporta la compressione, il server Web invierà i dati non compressi (queste informazioni sono contenute nelle intestazioni http di richiesta/risposta scambiate tra browser e server web). Basta essere consapevoli del fatto che la compressione è inefficace con JPEG e altri formati già compressi.
- 1. Quando l'intestazione dell'autorizzazione viene inviata automaticamente dal browser?
- 2. NSURLConnection: la risposta SOAP codificata gzip viene corrotta
- 3. nginx - etag mancante quando gzip viene utilizzato
- 4. È possibile rilevare JavaScript se il browser dell'utente supporta gzip?
- 5. Webpack lancia automaticamente il browser
- 6. È possibile caricare gzip compresso javascript senza un server web?
- 7. Forza gzip per decomprimere nonostante l'errore CRC
- 8. Come posso aggiornare automaticamente un browser Web?
- 9. movimentazione automaticamente le risposte gzip HTTP in Android
- 10. silverlight dal browser - icone
- 11. Elimina cookie dal browser?
- 12. È possibile comprimere javascript be decompresso
- 13. HTTP Scade l'intestazione non rispettata dal browser?
- 14. AFNetworking Enable GZIP
- 15. Chiamata Ajax annullata dal browser
- 16. AppEngine compressione gzip
- 17. scrivere un file gzip dal frame di dati
- 18. Spring gzip vs Tomcat gzip
- 19. Cambia automaticamente l'icona dell'estensione del browser Safari?
- 20. Il browser Android ridimensiona automaticamente il testo
- 21. supporto gzip in Spark
- 22. decompressione GZIP C# OutOfMemory
- 23. rimuovere i cookie dal browser
- 24. OutputCache VaryByContentEncodings gzip non funziona
- 25. Perché la direttiva sulla lunghezza minima gzip non viene rispettata?
- 26. iPhone e gzip
- 27. rimozione dei punti di cronologia dal browser
- 28. File GZIP Lunghezza totale in C#
- 29. come accedere all'IFA dal browser su iOS6
- 30. Mostra tastiera automaticamente quando viene caricato UISearchController
Grazie mille per la risposta. Meravigliosa risposta Questo mi aiuta molto :) – user5075511