Domanda

Sto tentando di servire risorse statiche (css e javascript) come cache file compresso con gzip per motivi di prestazioni.

L'aspetto di pagine in formato gzip quando viene eseguito il rendering, il Content-Encoding è impostato correttamente gzip secondo LiveHTTPHeaders, e, soprattutto, il contenuto compresso con gzip è passare il GIDZipTest pagina (http://www.gidnetwork.com/tools/gzip-test.php) bene.Ecco un esempio di output del test:

Pagina Web compressa?Sì

Tipo di compressione?gzip

Dimensioni, Markup (byte) 18,286

Dimensione File (in bytes) 4,427

Compressione % 75.8

----

ResponseHeaders

di stato HTTP/1.0 200 OK

pragma no-cache cache-control privato, max-age=86500

scade Mon, 24 Aug 2009 04:34:14 GMT

x-amz-acl pubbliche-leggi

content-type text/css

content-md5 hqJaTBS3OzDFet/QHsd+ Qg==

content-encoding gzip

data Wed, 19 Aug 2009 04:34:14 GMT

server -- il mio server --

content-length 4427

L'intestazione di codifica del contenuto è in grassetto, e tutte le altre intestazioni sono come previsto.

La pagina di prova mostra anche il non compresso sorgente della pagina, ed è sempre esattamente come mi sarei aspettato di essere non compresso, e ho anche cercato di copiarlo e incollarlo da rendere da parte del browser, e funziona, quindi il problema deve essere nella attuale fase di riconoscere che la pagina è compresso con gzip e decompressione esso.

E questo non è un browser specifico.In FF, Webkit, e CIOÈ, questi file sono compressi con gzip non essere scompattato correttamente.Ho provato di tutto, mi vengono in mente, ma sono veramente perplesso.

È stato utile?

Soluzione

Forse avete qualcos'altro gzipping il file una seconda volta, ma solo per HTTP 1.1 client che elencano in Accept-Encoding, come la maggior parte dei browser. GIDZipTest sta inviando http 1.0 richieste, e gzipping a 1,0 clienti è rischioso perché HTTP 1.0 non dispone di un campo Accept-Encoding per i clienti per indicare che codifiche sostengono, in modo che farebbe senso per il secondo compressore (se ce n'è uno ) di non gzip a 1,0 clienti. Se questo è il caso, GIDZipTest otterrebbe una risposta singola gzip mentre i browser sarebbe ottenere una risposta a due gzip (cattivo). Questo è solo una possibilità però. Raro, ma succede.

Se questo non è tutto, si dovrebbe davvero dare più informazioni, come un URL di una pagina esporre il problema.

Altri suggerimenti

Ho debug di un problema simile sopra l'ultimo paio di giorni.Tutto il codice html, css e js file nel mio progetto sono gzip sotto.Ha funzionato bene fino a firefox 3.5 è lungo.Firefox 3.0 e l'IE 7+8 non ha avuto alcun problema.Oh, e Opera 9+10 e Chrome si strozza la codifica.

I sintomi sono stati html e css file vengono riconosciuti correttamente, solo js file avuto il problema.Firebug mi da questo messaggio di errore:

Etichetta Non Valida

Content-Encoding:gzip

La soluzione per me è stato quello di rimuovere il doctype.Ho provato allentato e stretto e né funziona.Ma vorrei sapere che cosa il corretto doctype è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top