Question

Nous savons déjà dégonfler le codage est un gagnant sur gzip par rapport à la vitesse de codage, taille de décodage et de compression.

Alors, pourquoi ne pas les grands sites (que je peux trouver) envoyer (quand j'utilise un navigateur qui accepte)?

Yahoo prétend dégonfler est "moins efficace". Pourquoi?

Je maintiens le logiciel serveur HTTP qui préfère se dégonfler, donc je voudrais savoir s'il y a vraiment une bonne raison de ne pas continuer à le faire.

Était-ce utile?

La solution

Il y a une certaine confusion au sujet de la dénomination entre les spécifications et le HTTP:

  • DEFLATE tel que défini par RFC 1951 est format de données compressées .
  • ZLIB tel que défini par RFC 1950 est format de données compressées qui utilise le DEFLATE format de données.
  • GZIP tel que défini par RFC 1952 est format de fichier qui utilise le DEFLATE format de données compressées.

HTTP utilise un d'appellation:

  
      
  • gzip Un format de codage produit comme décrit dans la RFC 1952 par le programme de compression de fichier "gzip" (GNU zip) [25]. Ce format est un Lempel-Ziv (LZ77) avec un CRC 32 bits.

  •   
  • deflate Le format "zlib" défini dans la RFC 1950 [31] en combinaison avec le mécanisme de compression "deflate" décrit dans le RFC 1951 [29].

  •   

Donc, pour résumer:

  • gzip est GZIP format de fichier.
  • deflate est en fait le ZLIB format de données. (Mais certains clients n'acceptent aussi la réelle DEFLATE format de données pour deflate.)

Voir aussi cette réponse sur la question Quelle est la différence entre le « gzip » et "dégonfler" HTTP 1.1 encodages :

  

Quelle est la différence entre le "gzip" et "dégonfler" HTTP 1.1 encodages?

     

"gzip" est le format gzip et "dégonfler" est le format zlib. Ils auraient probablement dû appelé le second « zlib » au lieu d'éviter toute confusion avec le dégonflement brut format de données compressées. Alors que le protocole HTTP 1.1 RFC 2616 pointe sur la spécification zlib dans la RFC 1950 pour le codage de transfert « dégonfler », il y a eu des rapports de serveurs et les navigateurs qui produisent de manière incorrecte ou attendent des données de dégonflage brut par le dégonfler specficiation dans la RFC 1951, notamment Microsoft . Ainsi, même si le codage de transfert « dégonfler » en utilisant le format zlib serait l'approche plus efficace (et en fait exactement ce que le format zlib a été conçu pour), en utilisant le codage de transfert « gzip » est probablement plus fiable en raison d'un mauvais choix de le nom de la part du HTTP 1.1 auteurs.

Autres conseils

D'après mon test minimal, il apparaît le plus HTTPds soit:

  1. ne supportent pas dégonfler sur la volée: le mod_deflate d'Apache (une suprise), GWS
  2. ou préférez envoyer gzip: IIS, mod_compress de lighttpd

Donc, pour envoyer dégonfler sur le serveur le plus populaire (Apache), vous devez maintenir les fichiers pré-codés et utiliser mod_negotiate (vous pourriez même avoir à utiliser des cartes de type à préférer dégonfler).

Je suppose que, en raison de ce tracas, dégonfler est tout simplement rarement utilisé, et donc des bugs sont plus susceptibles à exister dans le client dégonfler le soutien que dans le soutien gzip.

Consultez ce site pour plus d'informations: http: //web.archive. org / web / 20120321182910 / http: //www.vervestudios.co/projects/compression-tests


Deflate, par spécification, est en fait zlib (un format de compression développé spécifiquement pour la diffusion de contenu sur le web). ..which est un wrapper autour de dégonfler.

Internet Explorer, cependant, met en œuvre de façon incorrecte HTTP 1.1 dégonfler (zlib) comme dégonfler premières. Donc, si votre serveur envoie HTTP 1.1 dégonfler (zlib) correcte pour IE il étrangle.

Je l'ai fait des recherches sur le sujet un peu et il semble sûr d'envoyer TOUJOURS cru dégonfler aux navigateurs modernes ... juste assurez-vous qu'il est, en fait, cru et non zlib.

Consultez cet article pour plus d'informations> Gzip vs Deflate (zlib) revisité .

Je pense qu'il ya une bonne raison de continuer à envoyer dégonfler sur gzip.

Pour autant que je sais (disclaimer: et je ne suis pas un expert ici, tout ce que j'ai entendu), gzip utilise le même algorithme que deflate mais il a plus de choses d'en-tête que faire ont une taille plus grande (par rapport à deflate). Cependant, je pense que deflate est prise en charge par moins de clients et les mandataires.

Je me suis demandé la même chose :). Je pense que ce serait peut-être à voir avec la compatibilité des navigateurs plus anciens (éventuellement anciens). Je lis quelque part que les anciens navigateurs sont plus susceptibles de se glisser sur au contenu dégonflé que mod_gzipped dans certains cas (?), Mais googler cela m'a amené à conclure qu'il est probablement préférable d'arrêter googler.

ActionScript 3 a un support natif de dégonflage, mais pour gzip vous devez utiliser une bibliothèque externe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top