Aby sprawdzić, jakie jest kodowanie treści odpowiedzi, należy sprawdzić nagłówek odpowiedzi HTTP: Kodowanie treści.
Serwer może używać tylko kodowań określonych przez nagłówek żądania akceptującego kodowanie. Jeśli serwer nie może udzielić odpowiedzi za pomocą jednego z określonych kodów akceptujących, musi odpowiedzieć 406 (nie do przyjęcia).
Przykład wniosek:
GET/HTTP/1.1
Host: www.brianbondy.com
Accept-Encoding: gzip,deflate
Przykład reakcji:
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 16:15:12 GMT
Server: Apache/2.0
Content-Encoding: gzip
Content-Length: 1533
Inne przykłady Accept-Encoding:
Accept-Encoding: compress, gzip
Accept-Encoding:
Accept-Encoding: *
Accept-Encoding: compress;q=0.5, gzip;q=1.0
Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0
Jak dokładnie wiedzieć, jakie są dostępne na serwerze kodowania:
Nie ma sposobu, aby wiedzieć dokładnie, jakie są dostępne kodowania na poziomie serwera, ponieważ niektóre serwery mogą obsługiwać pewne kodowania tylko dla niektórych typów plików.
Oznacza to, że najlepiej jest odpowiedzieć na pytanie: Czy dla pliku określonego w pierwszym wierszu żądania dostępne jest określone kodowanie tego pliku? Możesz na to odpowiedzieć, jawnie odmawiając kodowania treści tożsamości i określając kodowanie, o którym chcesz wiedzieć.
Accept-Encoding: gzip, identity;q=0
Source of examples, HTTP RFC
Ale kodowanie tożsamości (czyli bez kompresji) jest zawsze dozwolone, chyba że wyraźnie zabraniają.Więc jeśli serwer zwraca kodowanie treści: tożsamość, nadal nie wiesz, czy obsługuje kompresję, czy nie; mógł po prostu nie kompresować tej konkretnej odpowiedzi. – Thomas
zaktualizowany opis –
Masz na myśli 'gzip, tożsamość; q = 0' zamiast' gzip; tożsamość; q = 0''? – Pacerier