2012-02-07 13 views
36

Właśnie szukałem około gzip i Deflate, i dowiedziałem się, że Deflate jest lepszy.Dlaczego główne strony internetowe używają gzip?

Ale kiedy sprawdziliśmy nagłówki odpowiedzi z Google, Facebook i Stack Exchange Network, wszystkie z nich były przy użyciu GZIP. Dlaczego używają gzip zamiast Deflate?

+3

Podobno apache wysyła domyślnie gzip: http://stackoverflow.com/a/3577932/82769; brzmi jak różnica jest dokładnie 18 bajtów na żądanie, więc nie jest naglącym problemem dla większości z nas. –

Odpowiedz

103

Jest to najwyraźniej spowodowane nieporozumieniem wynikającym z wyboru nazwy "Deflate". Średnia http wyraźnie stwierdza, że ​​"korekta" naprawdę oznacza format zlib:

The "zlib" format defined in RFC 1950 [31] in combination with 
    the "deflate" compression mechanism described in RFC 1951 [29]. 

Jednak wczesne serwerów Microsoft będzie nieprawidłowo dostarczania surowca deflate dla "opróżnić" (czyli po prostu RFC 1951 danych bez zlib RFC 1950 owijki). Powodowało to problemy, przeglądarki musiały wypróbować je w obie strony, a ostatecznie po prostu bardziej niezawodne było używanie tylko gzip.

Wpływ na szerokość pasma i czas wykonania, aby użyć gzip zamiast "Deflate" (zlib), jest względnie mały. Tak więc jesteśmy i tam, prawdopodobnie pozostaniemy.

Różnica to 12 dodatkowych bajtów dla gzip i nieco więcej czasu procesora, aby obliczyć CRC zamiast Adler-32.

+37

Nic nie przypomina otrzymywania odpowiedzi prosto z ust Konia! Dzięki Mark. –

+0

zobacz jeszcze raz Marka! – lgw150

Powiązane problemy