HTTP: Quel est le meilleur Accept-Encoding pour “gzip,deflate”?
Cette question est à propos de l'ordre de priorité des types de médias de l'en-Tête HTTP "Accept-Encoding" quand tous sont de même poids et a été invité par ce commentaire sur mon blog.
De fond:
L'-tête Accept-Encoding prend une liste séparée par des virgules de types de médias le navigateur peut accepter par exemple, gzip,deflate
Un facteur de qualité peut également être spécifié à donner la préférence à d'autres types de médias, par exemple en cas de "gzip;q=.8,dégonfler", deflate est préféré - mais est pas pertinente à cette question. NB: un type avec UN "q=0" signifie "pas acceptable".
RFC2616 indique également que le "plus spécifique de référence" pour les médias-de la définition de type doivent être pondérées en premier. c'est à dire "text/html;niveau=1" doit être sur "text/html" - ce n'est pas pertinente pour la question aussi.
Question:
Dans le cas suivant, les médias de type a préséance?
Accept-Encoding: gzip,deflate
Les deux types ont un équivalent facteur de qualité de 1, et les deux types sont "acceptables" pour le navigateur - si une des deux pourrait être utilisé. J'avais toujours supposé que le premier type d'entrée doit être "préféré", mais il ne semble pas être un exemple ou la préférence pour ce cas particulier dans le RFC.
OriginalL'auteur Dave Transom | 2010-07-11
Vous devez vous connecter pour publier un commentaire.
Je crois que quelque part dans le RFC, ou dans une RFC, il dit que le premier est préféré pour tous les champs de ce format.
Toutefois, dans le cas particulier de gzip vs dégonfler, vous devriez probablement utiliser dégonfler si vous pouvez en raison de la baisse des frais généraux (moins les en-têtes et pieds de page, et même si elle a encore un adler32 de la somme de contrôle, il n'a pas un crc32 sur le dessus). Sauf qu'ils sont exactement la même. Les données sont compressées de la même manière pour les deux. Cela signifie dégonfler est à la fois plus rapide et produit une petite sortie. Ces deux devenir beaucoup plus important sur une page sous une lourde charge. La plupart de ces en-têtes dans gzip sont des choses comme le style unix autorisations de fichier, qui sont inutiles dans ce contexte, de toute façon.
Vraiment les clients veulent être servis gzip en raison de la fiabilité et de serveurs que vous voulez servir dégonfler en raison de la performance. Les frais généraux supplémentaires est beaucoup plus important quand il arrive des milliers de fois par seconde que lorsqu'il se produit une seule fois pour chaque page que vous chargez.
Sur mon propre site, je vérifie pour dégonfler premier et utiliser que si je peux, puis je vérifier pour gzip. Si je ne peux pas l'utiliser, je viens de l'envoyer en texte brut. Je ne sais pas quelle est la langue que vous utilisez, mais c'est sur 5 lignes de ASP.NET de le faire.
OriginalL'auteur GEorge Helyar
Il n'est pas côté client préférence ici. Il suffit de choisir un ce vous (côté serveur) préférez.
OriginalL'auteur BalusC