Kompatybilność wstecz
Jedną z najważniejszych rzeczy pojawiających się we specyfikacjach protokołów HTTP/1.1 i HTTP/1.0 jest ich zgodność z poprzednimi wersjami ([23], str.13). Kluczową zmianą między protokołami HTTP/1.0 i HTTP/0.9 jest pojawienie się sekcji nagłówka w zapytaniu i odpowiedzi, oraz linii statusu w odpowiedzi (rysunki 1.2 i 1.3). Specyfikacja HTTP/1.0 w celu odróżnienia tych dwóch wersji protokołu wprowadza nazewnictwo prostego (Simple) zapytania/odpowiedzi dla wersji 0.9 i pełnego (Full) dla 1.0 ([23], str.21). Rozpoznanie wersji protokołu wysłanego do serwera zapytania odbywa się na podstawie pierwszej odebranej linii – w przypadku wersji HTTP/1.0 i nowszej dołączana jest tam nazwa i wersja protokołu, w przypadku HTTP/0.9 znajduje się tam tylko nazwa metody i adres zasobu.
Jedną z widocznych zmian w HTTP/1.1 względem HTTP/1.0 jest wprowadzony wiersz „Host” w nagłówku. Jest on jedynym nagłówkiem obowiązkowym dla wszystkich zapytań kierowanych do serwera. Przechowuje on nazwę hosta docelowego oraz opcjonalnie numer portu, jeżeli jest on różny od domyślnego 80. Jeżeli klient wysłał zapytanie do serwera za pomocą protokołu HTTP/1.1, nie dodając nagłówka „Host” serwer musi zwrócić status 400-Bad Request informujący o błędnym zapytaniu ([13], str.79).
Wysłana odpowiedź do klienta musi być w tej samej wersji protokołu co odebrane zapytanie.
Serwer HTTP 