tom000 - Personal Website - Strona główna
decor1 Serwer HTTP decor2

HTTP/1.0

    W maju 1996 roku wydano dokument RFC opisujący protokół HTTP/1.0. W stosunku do wcześniejszej wersji protokołu zaszły w nim duże zmiany, mimo iż sama idea się nie zmieniła.

    Najbardziej zauważalną zmianą jest wprowadzenie nagłówków do przesyłanych wiadomości między klientem, a serwerem, oraz wprowadzenie dwóch nowych metod – HEAD, oraz POST.

Przykład komunikacji przez protokół HTTP/1.0

Rys. 1.3 Przykład komunikacji przez protokół HTTP/1.0

    Zapytanie, jak wcześniej, rozpoczyna się nazwą metody (np. GET) oraz adresem do zasobu, jaki ma zostać przesłany do klienta. Dodatkowo musi być podana informacja, że chcemy korzystać z protokołu w wersji 1.0. Daje nam to możliwość dodania nagłówka do zapytania, zanim otrzymamy odpowiedź. HTTP/1.0 opisuje nam 5 nagłówków dotyczących zapytania, 3 odnośnie odpowiedzi i 6 odnośnie przesyłanego w zapytaniu lub odpowiedzi ciała.

    Zarówno dla zapytania, jak i odpowiedzi, pomiędzy nagłówkiem a ciałem przesyłanej wiadomości musi znajdować się pusty wiersz. W powyższym przykładzie tylko odpowiedź przesyła ciało dokumentu.

    Odpowiedź serwera rozpoczyna się od linii ze statusem. W tym wypadku jest to status 200 oznaczający, że zapytanie zostało poprawnie wykonane. Specyfikacja opisuje 15 statusów odpowiedzi, podzielonych na 4 kategorie: powodzenie (2xx), przekierowanie (3xx), błąd klienta (4xx), błąd serwera (5xx).

    Pod wierszem ze statusem znajdują się nagłówki. Są one opcjonalne tak samo jak w przypadku zapytania, jednak dołączane są w celu opisania przesyłanego ciała dokumentu.

    Bardzo zbliżoną metodą do metody GET w HTTP/1.0 jest metoda HEAD, która ma za zadanie zwrócić taki sam rezultat jak w przypadku metody GET, jednak bez dołączenia ciała przesyłanego dokumentu. W rezultacie otrzymamy linię ze statusem, oraz zestaw nagłówków. Jest to krok w celu obniżenia ilości transportowanych danych, który pozwala m.in. sprawdzić, czy oczekiwany przez nas zasób istnieje, jaką ma długość i kiedy przestanie być aktualny. Kolejnym krokiem w tym kierunku jest nagłówek „If-Modified-Since”, który wraz z datą ostatniej modyfikacji zasobu pozwala zwrócić w odpowiedzi jego zmodyfikowaną wersję, lub informację (status 304), że nie uległ zmianie.

    Nową wprowadzoną metodą w HTTP/1.0 jest POST. Metoda ta pozwala przesyłać zasoby w drugą stronę, czyli od klienta do serwera. Tylko w przypadku tej metody w zapytaniu do serwera może być przesyłane jakieś ciało, musi jednak w nagłówku znaleźć się informacja, o jego rozmiarze. Przesłanie jakiegoś zasobu w ten sposób nie oznacza jednak że znajdzie się na serwerze wśród zasobów dostępnych dla podłączających się klientów – o tym co będzie działo się z przesłanym do niego zasobem decyduje już sam serwer.

    W dokumencie RFC-1945 opisującym HTTP/1.0 (poza specyfikacją) można również znaleźć informacje i innych metodach i nagłówkach implementowanych w serwerach HTTP. Należą do nich metody: PUT, DELETE, LINK i UNLINK, oraz nagłówki umożliwiające negocjację o zasoby (jego typ, język, kodowanie itp.) między klientem i serwerem [23].

← HTTP/0.9 Serwer HTTP HTTP/1.1 →
Copyleft (C) tom000.info 2004-2012. Some rights reserved.