HTTP: Was ist die bevorzugte Accept-Encoding für "gzip,deflate"?
Diese Frage ist in Bezug auf die Rangfolge für die Medien-Typen der HTTP-Header "Accept-Encoding", wenn alle sind gleich-Gewicht und wurde aufgefordert, durch dieser Kommentar auf meinem blog.
Hintergrund:
Den Accept-Encoding-header erwartet eine durch Kommata getrennte Liste von Medien-Typen der browser akzeptieren kann, z.B. gzip,deflate
Einen Faktor für die Qualität der kann auch angegeben werden, um die Präferenz zu anderen Medien-Typen wie z.B. im Fall von "gzip;q=.8,deflate", "deflate" wird bevorzugt - aber ist nicht relevant für diese Frage. NB: Ein Typ mit einem "q=0" bedeutet "nicht akzeptabel".
RFC2616 auch fest, dass die "spezifischen Bezug" für das media-type-definition sollte gewichtet werden, ersten. also "text/html;level=1" sollte verwendet werden, über "text/html" - das ist nicht relevant für die Frage auch.
Frage:
In dem folgenden Fall, welcher Medien-Typ hat Vorrang?
Accept-Encoding: gzip,deflate
Beide Arten haben eine gleichwertige Qualität Faktor 1, und beide Arten sind "akzeptabel", den browser - also entweder eine verwendet werden konnte. Ich würde immer davon ausgegangen, dass der erste Typ eingetragen werden sollte "bevorzugt", aber es scheint nicht zu einem bestimmten Beispiel oder die Vorliebe für diesen Fall in der RFC.
InformationsquelleAutor Dave Transom | 2010-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube irgendwo in der RFC, oder in einem verwandten RFC heißt es, dass die erste ist bevorzugt für alle Felder dieses formats.
Aber in dem speziellen Fall von gzip-vs zu entlüften, sollten Sie wahrscheinlich verwenden, entlüften Sie, wenn Sie können aufgrund der geringeren overhead (weniger Kopf-und Fußzeilen, und obwohl es hat noch einen adler32-Prüfsumme, es muss nicht eine crc32). Andere als die, die Sie sind genau die gleichen. Die eigentlichen Daten werden komprimiert in der gleichen Weise für beide. Dies bedeutet deflate ist schneller und führt zu einer kleineren Ausgabe. Diese beiden werden viel mehr wichtige auf einer Seite unter der schweren Last. Die meisten der zusätzlichen überschriften in gzip sind Sachen wie unix-style Datei-Berechtigungen, die nutzlos sind in diesem Kontext sowieso.
Wirklich sollten Kunden wollen bedient werden, gzip aufgrund der Zuverlässigkeit und der Server sollte wollen zu dienen, zu entlüften durch Leistung. Der zusätzliche Aufwand ist viel wichtiger, wenn es passiert Tausende Male pro Sekunde, als wenn es passiert, einmal für jede Seite, die Sie laden.
Auf meinen eigenen Seiten, die ich prüfen entlüften ersten und nutzen, dass, wenn ich kann, dann überprüfe ich für gzip. Wenn ich nicht verwenden können, entweder, ich sende einfach mal im Klartext. Ich weiß nicht, welche Sprache du verwendest, aber es ist über 5 Zeilen ASP.NET zu tun.
InformationsquelleAutor GEorge Helyar
Es ist keine client Präferenz hier. Such dir einfach was Sie (die server Seite) bevorzugen würde.
InformationsquelleAutor BalusC