2012-06-05 17 views
6

Ho un'applicazione jsf (mojarra 2.1.8, primefaces 3.3) in esecuzione su tomcat 6. Mentre analizzo la pagina in firebug con google page-speed, mi sono reso conto che avrei potuto ottimizzare alcune cose con gzip-compression .compressione gzip per roba jsf

Compressing the following resources with gzip could reduce their transfer size by 371,1KiB (74% reduction). 

Compressing http://localhost:8080/someApp/javax.faces.resource/jquery/jquery.js.jsf?ln=primefaces could save 72,5KiB (74% reduction). 
Compressing http://localhost:8080/someApp/javax.faces.resource/theme.css.jsf?ln=primefaces-aristo could save 53,4KiB (71% reduction). 
Compressing http://localhost:8080/someApp/javax.faces.resource/jsf.js.jsf?ln=javax.faces could save 49,6KiB (78% reduction). 
... 

ho già attivato la compressione nel mio server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" 
     compression="on" 
     noCompressionUserAgents="gozilla, traviata" 
     compressableMimeType="text/html,text/xml,text/plain,application/javascript,application/json,text/javascript"/> 

Ma non comprime i file menzionati sopra elencati.

Cos'altro devo fare per far funzionare la compressione?

Jonny

+0

Quali sono i tipi MIME del vostro .js.jsf e risorse .css.jsf? Quale cliente stai usando per il test? –

+0

Ciao Christoper, grazie per la tua risposta. Queste risorse sono fornite/aggiunte da Primefaces al volo. .js.jsf ha application/javascript (elencato in compressableMimeType) e .css.jsf ha text/css (ok, non è elencato in compressableMimeType). Il mio cliente: l'ultimo browser Chrome su WinXP. Jonny – user871611

+0

Ottieni la giusta intestazione Content-Type nella risposta quando richiedi tali risorse dal server? Hai anche un'intestazione Content-Length? –

risposta

6

tuo server.xml è tutto bene. Molto probabilmente il tuo problema concreto è che hai modificato il file server.xml errato. In un IDE come Eclipse, l'installazione originale del server Tomcat viene mantenuta per impostazione predefinita. Invece, Eclipse crea una copia di tutti i suoi file di configurazione nel progetto Server e utilizza i metadati dello spazio di lavoro per distribuire le applicazioni web e, in definitiva, solo il motore del server Tomcat è stato utilizzato dall'installazione di Tomcat.

Assicurarsi che si sta modificando il file giusto server.xml, quello in Server progetto: file

enter image description here

di Tomcat /conf/server.xml viene utilizzato solo quando si avvia al di fuori di Eclipse, o quando si dire ad Eclipse di avere il pieno controllo sull'installazione di Tomcat. Per fare ciò, fai doppio clic sulla voce del server Tomcat nei server Server e modifica le posizioni del server di conseguenza.

enter image description here

+0

Ciao BalusC, grazie per informazioni dettagliate. Stavo modificando il server.xml giusto nel mio progetto Server. Il testo/html è gziped, ma non la roba di css e js. Mi fa impazzire :). Jonny – user871611

+1

Non hai un 'text/css' nella tua lista' compressableMimeType'. Sei sicuro di avere la risposta giusta? Le risposte sulle richieste di verifica della cache come 304 "Not Modified" sono ovviamente NON gzip. – BalusC

+0

Ciao BalusC, ho già aggiunto il testo/css-compressableMimeType. Ma tu hai risposto al mio problema nella seconda parte del tuo commento. Ho svuotato il mio cache e ora funziona ". Grazie mille BalusC – user871611

Problemi correlati