Contenuti compressi con gzip previsti
-
10-07-2019 - |
Domanda
Ho attivato la compressione gzip sul mio sito Web e testato con i seguenti strumenti:
- http://www.whatsmyip.org/http_compression/
- http://www.gidnetwork.com/tools/gzip-test.php
- http://web-sniffer.net/
Tuttavia, Firefox e tutte le sue estensioni (Firebug, Yslow e Google Page Speed) affermano di ricevere contenuti non compressi.
text / html è compresso da ob_gzhandler di php, che si preoccupa anche delle intestazioni.
Non uso proxy.
Cosa sto sbagliando?
Soluzione
Non è proprio la risposta che potresti aspettarti, ma hai provato a non comprimere i dati con PHP, ma con Apache?
Questo può essere fatto usando mod_deflate
.
Un paio di cose:
- significherebbe meno calcoli per PHP
- significherebbe anche (e questa è la parte più bella ;-) ) in cui i tuoi file CSS / JS potrebbero essere compressi; considerando le dimensioni di questi, al giorno d'oggi, potrebbe non essere una brutta cosa comprimerli ...
Come sidenote: per aiutarci a capire cosa non va nella compressione di PHP, potresti fornire maggiori informazioni? Come l'URL del tuo sito (se è pubblico) e un po 'di codice?
MODIFICA ora che abbiamo l'URL : http://ego.pestaa.hu /
Quando vado a quella pagina, le intestazioni della risposta sono le seguenti:
HTTP/1.x 200 OK
Date: Sat, 01 Aug 2009 21:53:37 GMT
Server: Apache
X-Powered-By: PHP/5.2.6
**Content-Encoding: gzip**
Vary: Accept-Encoding
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
(utilizzando firefox 3.5 con estensione LiveHTTPHeaders)
I tre siti di test che hai indicato dicono anche che la tua pagina è compressa con gzip.
Hai trovato il problema?
Sei sicuro che questo non provenga dal tuo browser e che non invierebbe la seguente intestazione nella richiesta:
Accept-Encoding: gzip,deflate
MODIFICA dopo l'altra risposta
Citazione dai commenti:
la fonte del problema probabilmente non lo è il mio sito web ma il mio isp / browser / router. Uno di questi può decomprimere ogni componente prima che raggiunga interno processi.
Oh, se il problema non è il tuo sito web, penso di aver capito male la domanda - mi dispiace per questo :-( Pensavo che non sapessi come server gzipare il contenuto dal tuo sito web.
E penso di non essere l'unico, tra
Se il problema non ha nulla a che fare con la configurazione del tuo sito Web, due possibilità:
- forse una configurazione errata di firefox? Se vai su
about: config
, cosa dicenetwork.http.accept-encoding
? Per me, ègzip,deflate
- se il problema proviene dal tuo ISP o qualcosa del genere, non c'è niente che nessuno possa fare ...
Altri suggerimenti
Prova il plug-in Live Http firefox oltre agli altri. Apre una finestra che mostra le intestazioni esatte di richiesta / risposta mentre vanno avanti e indietro, quindi sai senza dubbio qual è la codifica accetta e codifica risposta.
Hai provato ad abilitare gzip in Apache / il tuo server web invece / pure?
- Sei sicuro di provare gli stessi URL con le estensioni di Firefox?
- L'uso di ob_gzhandler in PHP comprime l'output delle tue pagine php, ma YSlow e altri ti avvertono anche dei file css / javascript non compressi.
- Verifica che il browser stia inviando le intestazioni corrette. Un browser di solito invia la codifica " Accept: gzip " intestazione per indicare allo script / server web che accetta contenuto compresso. Gli script di test lo invieranno sicuramente, ma il tuo browser potrebbe non farlo.