Przeglądarka może wysłać nagłówek „Accept Encoding”, który mówi, że może akceptować różne rodzaje kodowania. Zwykle jest to „gzip, deflate”. (Google Chrome ma dziwny format o nazwie „sdch”, który możesz po prostu zignorować). Następnie, jeśli otrzymasz ten nagłówek z przeglądarki, możesz, jeśli chcesz, odesłać skompresowaną zawartość za pomocą gzip lub deflate. Kiedy to zrobisz, oczywiście musisz powiedzieć przeglądarce, co zrobiłeś, więc dodajesz nagłówek „Kodowanie treści” do swoich wiadomości wychodzących.
Zarówno formaty gzip, jak i deflate są zdefiniowane w RFC (dokumenty standardów internetowych). Nie ma opcji „zip”, chociaż w niektórych przeglądarkach może być opcja „bzip2”.
Teraz twoim problemem jest zakodowanie swoich rzeczy w tym formacie i odesłanie ich z powrotem. Jeśli używasz Apache'a, istnieją sposoby, aby ustawić go tak, aby robił to automatycznie (mod_deflate itp.). Jeśli wysyłasz obrazy, pamiętaj, że większość formatów obrazów, takich jak JPEG, PNG, GIF itp., Jest już skompresowanych, więc nie zyskujesz na ich kompresji. Zasadniczo działa tylko w przypadku HTML, CSS, zwykłego tekstu lub JavaScript.
Musisz zachować ostrożność stosując kodowanie „deflate”, ponieważ Internet Explorer ma długotrwały błąd, w którym nie rozumie go zbyt dobrze. Wierzę, że fantazyjne spodnie, takie jak Google App Engine, automatycznie ustalą, jakiej kompresji użyć i zastosują ją dla Ciebie.