Domanda

Sappiamo già sgonfiare codifica è un vincitore rispetto gzip rispetto alla velocità di codifica, decodifica e compressione formato.

Quindi, perché non fare grandi siti (che posso trovare) inviarlo (quando uso di un browser che accetta)?

Yahoo sostiene sgonfiare è "meno efficace". Perché?

Io sostengo software del server HTTP che preferisce sgonfiarsi, quindi mi piacerebbe sapere se c'è qualche buona ragione per non continuare a farlo.

È stato utile?

Soluzione

C'è una certa confusione circa la denominazione tra le specifiche e il HTTP:

  • DEFLATE come definito dalla RFC 1951 è un formato dati compresso .
  • ZLIB come definito dalla RFC 1950 è un formato dati compresso che utilizza il DEFLATE formato dati.
  • GZIP come definito dalla RFC 1952 è un formato di file che utilizza il DEFLATE formato compresso dei dati.

Ma la HTTP utilizza una denominazione diversa :

  
      
  • gzip Un formato di codifica prodotto dal compressione file di programma "gzip" (GNU zip) come descritto nella RFC 1952 [25]. Questo formato è un Lempel-Ziv (LZ77) con un CRC a 32 bit.

  •   
  • deflate Il formato "zlib" definito in RFC 1950 [31] in combinazione con il meccanismo di compressione "sgonfia" descritto nella RFC 1951 [29].

  •   

Quindi, per riassumere:

  • gzip è il GZIP formato di file.
  • deflate è in realtà il ZLIB formato dei dati. (Ma alcuni clienti non accettano anche l'attuale DEFLATE formato dati per deflate.)

questa risposta sulla questione Qual è la differenza tra il "gzip" e "sgonfia" HTTP 1.1 codifiche :?

  

Qual è la differenza tra il "gzip" e "sgonfiare" HTTP 1.1 codifiche?

     

"gzip" è il formato gzip, e "sgonfiare" è il formato zlib. Essi dovrebbero probabilmente hanno chiamato il secondo "zlib" invece per evitare confusione con il formato dei dati compressi RAW sgonfiare. Mentre l'HTTP 1.1 RFC 2616 sottolinea giustamente alla specifica zlib in RFC 1950 per la codifica di trasferimento "sgonfia", ci sono state segnalazioni di server e browser che producono in modo errato o si aspettano i dati sgonfiare prime per la specficiation sgonfiare nella RFC 1951, in particolare Microsoft . Così, anche se il trasferimento di codifica "sgonfiare" utilizzando il formato zlib sarebbe l'approccio più efficiente (e di fatto esattamente ciò che il formato di zlib è stato progettato per), utilizzando la codifica di trasferimento "gzip" è probabilmente più affidabile a causa di una sfortunata scelta di nome da parte del HTTP 1.1 autori.

Altri suggerimenti

Dal mio test minima risulta più HTTPds uno:

  1. non supportano sgonfiare on-the-fly: mod_deflate di Apache (una sorpresa), GWS
  2. o preferiscono inviare gzip: IIS, di lighttpd mod_compress

Quindi, per inviare sgonfiarsi sul server più popolare (Apache), è necessario mantenere i file pre-codificato e utilizzare mod_negotiate (si potrebbe anche essere necessario utilizzare tipo-mappe per preferire sgonfiare).

Direi, a causa di questo fastidio, sgonfiare è solo utilizzato raramente, e quindi insetti sono più probabile di esistere nel client di sgonfiare il supporto di supporto gzip.

Controlla questo sito per ulteriori informazioni: http: //web.archive. org / web / 20120321182910 / http: //www.vervestudios.co/projects/compression-tests


Deflate, per spec, è in realtà zlib (un formato di compressione sviluppato specificatamente per lo streaming di contenuti attraverso il web). ..che è un wrapper per sgonfiare.

Internet Explorer, tuttavia, implementa in modo non corretto HTTP 1.1 deflate (zlib) come sgonfiare crudo. Così, se il server invia corretto HTTP contenuti 1.1 deflate (zlib) per IE che soffoca.

Ho studiato l'argomento un po 'e sembra sicuro per inviare sempre raw sgonfiare per i browser moderni ... basta assicurarsi che la sua è, infatti, raw e non zlib.

Controlla questo articolo per ulteriori informazioni> Gzip vs Deflate (zlib) rivisitato .

Quindi penso che ci sia una buona ragione per continuare a inviare sgonfiare sopra gzip.

Per quanto ne so (disclaimer: e io non sono un esperto qui, solo quello che ho sentito), gzip utilizza lo stesso algoritmo deflate ma ha più di intestazione cose che fanno avere una dimensione maggiore (relativa a deflate). Tuttavia, penso che deflate è supportata da meno clienti e proxy.

Mi chiedevo la stessa cosa :). Penso che potrebbe essere a che fare con la compatibilità dei vecchi (possibilmente antichi) i browser. Ho letto da qualche parte che i browser più vecchi sono più propensi a strisciare fuori a contenuti sgonfio che mod_gzipped in alcuni casi (?), Ma googling questo mi ha portato a concludere che è probabilmente meglio per fermare googling.

ActionScript 3 ha il supporto nativo sgonfiare, ma per gzip è necessario utilizzare una libreria esterna

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