Su Windows, ho riscontrato questo comportamento durante il tentativo di abilitare temporaneamente la compressione del contenuto nel mio ambiente di sviluppo per ottenere una comprensione approssimativa del carico utile totale di una pagina nella mia applicazione.
Posso confermare che ESET NOD32 Antivirus si comporta nel modo in cui @bugs_ descrive nella sua risposta a questa domanda e posso anche confermare che l'esecuzione di Fiddler4 ha lo stesso effetto. Tuttavia, sia la chiusura Fiddler e disabilitazione della scansione HTTP di NOD32 non ha risolto il problema, per farlo, ho dovuto disattivare l'utilizzo di 'sendfile' nel mio connettore come segue:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
compression="on" compressionMinSize="8192" useSendfile="false"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"
redirectPort="8443" />
L'attributo importante, qui, è useSendfile="false"
Sto usando Apache Tomcat 8, sotto Windows.La documentazione di Tomcat (http://tomcat.apache.org/tomcat-8.0-doc/config/http.html) dice quanto segue riguardo useSendfile
:
Utilizzare questo attributo per abilitare o disabilitare la funzionalità sendfile. Il valore predefinito è true. Si noti che l'uso di sendfile disabilita qualsiasi compressione che Tomcat potrebbe altrimenti avere eseguito sulla risposta.
E questo su compression
:
v'è un compromesso tra l'utilizzo di compressione (salvare la larghezza di banda) e utilizzando la funzione sendfile (salvare i cicli di CPU). Se il connettore supporta la funzione sendfile, ad es. il connettore NIO, usando sendfile avrà la precedenza sulla compressione. I sintomi saranno che i file statici maggiori di 48 Kb saranno inviati non compressi. È possibile disattivare sendfile impostando l'attributo useSendfile del connettore, come documentato di seguito, o modificare la soglia di utilizzo del sendfile nella configurazione di DefaultServlet nel conf/web.xml predefinito o nel web.xml della propria applicazione web.
non hanno mai visto una tale forma, sarà interessante se qualche soluzione è apparsa. Solo per te informazioni: sul nostro progetto usiamo in questo modo http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html – Dewfy
La tua istanza Tomcat è preceduta da Apache sulla porta 80 o è Tomcat ha avuto accesso direttamente alla porta 8080? –
hi david..un right..it è preceduto da apache sulla porta 80 e questo è il motivo per cui ottengo file non compressi ... quando accedo al mio tomcat sulla porta 8080, ottengo file compressi .... grazie per il puntamento io nella giusta direzione .. –