2009-05-18 6 views
6

EDIT Ho riscontrato che il problema è in realtà php minify. Questo stava inviando il contenuto sgonfiato invece di Apache. Troverò di più su questo.Abilita mod_deflate per inviare codifica del contenuto: gzip

Secondo High Performance Web Sites, se abilito mod_deflate in Apache 2.x, aggiungendo la seguente riga, è necessario inviare gzip/contenuti delfated: -

AddOutputFilterByType DEFLATE text/html text/css application/x-javascript 

Il libro dice anche che gzip è più efficace deflate.

Ho abilitato in httpd.conf aggiungendo la stessa riga. Ma Apache invia Content-Encoding: deflate.

ho provato con CURL utilizzando: -

curl -i -H "Accept-Encoding: gzip" "http://192.168.1.33/s.js" >> e:\curl_log.txt 

Esso restituisce 'compressi con gzip' contenuti. Ma quando invio il comando: -

curl -i -H "Accept-Encoding: gzip, deflate" "http://192.168.1.33/s.js" >> e:\curl_log.txt 

Restituisce contenuto "sgonfiato".

Quindi, se il browser supporta sia deflazionato che gzip, Apache invia sgonfiato. Come dire ad Apache di preferire gzip su deflate?

FYI: -

risposta

0

Vedi http://httpd.apache.org/docs/2.0/mod/mod_deflate.html per tutti i dettagli scabrosi - - sei sicuro di non avere occorrenze di no-gzip altrove nella configurazione? Cosa succede quando modifichi il tuo "browser", ad es. utilizzando wget con vari valori per -U?

0

ho il sospetto tutto ciò che si sta utilizzando per test non è l'invio di ...

Accept-Encoding: gzip

... nell'intestazione della richiesta.

+1

per un semplice test: wget --header = "Accept-Encoding: gzip" http: // yoursite.com – SpliFF

2

Come vedo la causa è stata già trovata. Per aiutare ulteriormente a uscire da possibili confusioni:

  • mod_deflate nonostante il suo nome al momento supporta solo gzip.

  • gzip è più "efficace" per i seguenti motivi

sgonfiare - nonostante il suo nome la compressione zlib (RFC 1950) deve essere utilizzato (in combinazione con la compressione deflate (RFC 1951)) come descritto nella RFC 2616. L'implementazione nel mondo reale sembra tuttavia variare tra la compressione di zlib e la compressione (grezza) di deflate [3] [4]. A causa di questa confusione, gzip si è posizionato come il metodo predefinito più affidabile (marzo 2011).

gzip e zlib sono formati di file/flusso che, per impostazione predefinita, avvolgono lo svuotamento e, tra le altre cose, aggiungono un checksum che li rende più sicuri e un po 'più lenti. L'aumento delle dimensioni, d'altra parte, non dovrebbe essere di alcuna preoccupazione.

anche vedere HTTP_compression - Wikipedia