468x60

sabato 28 gennaio 2012

Compressione contenuti Vaadin

Di solito è una buona cosa comprimere con gzip tutto il traffico http in chiaro di Vaadin, per la velocità e in modo da minimizzare la quantità di dati trasferiti. Per farlo bisogna configurare il server, ed è un concetto applicabile in generale e non solo per Vaadin.

Quando la compressione gzip è abilitata, il server comprime i dati inviati al browser, spesso con conseguente riduzione notevole della dimensione dei dati trasferiti e quindi del tempo di download.

Non vogliamo comprimere roba che è già molto compressa, come ad esempio i file JPEG, perciò dobbiamo fare in modo che il server conosca quali mime-type vogliamo comprimere. Di solito il server è preconfigurato per comprimere alcuni tipi noti, come HTML e CSS, ma un mime-type che di solito manca è quello utilizzato per la comunicazione JSON che utilizza Vaadin, cioè application/json.

Vediamo come configurare Tomcat

In Tomcat, è necessario configurare il connettore per avere compression="on" ed impostare compressableMimeType con l'appropriato mime-type (il default di Tomcat 7 è "text/html, text/xml, text/plain", ed effettivamente manca application/json). Inoltre, è possibile impostare il compressionMinSize per soddisfare le raccomandazioni di Google. E' possibile farlo nel file server.xml:

<Connector port="8080"
   …OTHER STUFF...
   compression="on"
   compressionMinSize="500"
   compressableMimeType="text/html,text/xml,text/plain,application/javascript,application/json"/>

Buon utilizzo!

Nessun commento:

Posta un commento

468x60

Cerca su Google

Cerca nel Blog con Google