RFC 2068 – Hypertext Transfer Protocol – HTTP/1.0
RFC 2068 to dokument opisujący protokół HTTP w wersji 1.0. Został opublikowany w 1997 roku przez IETF (Internet Engineering Task Force) i stał się jedną z fundamentalnych specyfikacji, które ukształtowały współczesny Internet. Dokument nosi tytuł „Hypertext Transfer Protocol – HTTP/1.0” i definiuje zasady wymiany zasobów hipertekstowych pomiędzy klientem a serwerem.
Powstanie i publikacja
W początkowych latach 1990‑ych rozwój sieci WWW wymagał ujednoliconego protokołu komunikacji. Pierwszy opis HTTP pojawił się w RFC 1945 (HTTP/0.9). Następnie, w odpowiedzi na rosnące zapotrzebowanie na bardziej rozbudowane funkcje (np. nagłówki, metody żądań, obsługę kodów statusu), powstał RFC 2068. Dokument został opracowany przez zespół: Roy Fielding, Jim Gettys, Jeffrey Mogul, Henrik Frystyk Nielsen, Larry Masinter oraz Paul Hoffman.
Zakres dokumentu
RFC 2068 definiuje następujące kluczowe elementy protokołu:
- Struktura wiadomości HTTP – request line, status line, nagłówki i ciało wiadomości.
- Podstawowe metody żądań:
GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONSorazCONNECT. - Kody statusu (3‑cyfrowe) podzielone na pięć klas (informacyjne, sukces, przekierowania, błędy klienta, błędy serwera).
- Mechanizmy nagłówków kontrolujących cache, połączenia, uwierzytelnianie i typy mediów (np.
Content-Type,Cache-Control,Connection). - Model połączenia TCP oraz zasady utrzymywania i zamykania połączeń („keep‑alive”).
Struktura i najważniejsze elementy
Wiadomość żądania (Request)
Budowa żądania według RFC 2068 składa się z trzech części:
- Request line – określa metodę, URI zasobu oraz wersję protokołu, np.
GET /index.html HTTP/1.0. - Nagłówki (Headers) – zestaw par klucz:wartość, które przekazują dodatkowe informacje (np.
Host,User-Agent). - Ciało żądania (Message Body) – opcjonalne, wykorzystywane najczęściej przy metodzie
POSTlubPUT.
Wiadomość odpowiedzi (Response)
Odpowiedź posiada analogiczną strukturę:
- Status line – zawiera wersję protokołu, kod statusu i opis, np.
HTTP/1.0 200 OK. - Nagłówki – opisują charakterystykę zwracanej treści (np.
Content-Length,Content-Type). - Ciało odpowiedzi – faktyczna treść zasobu (HTML, obraz, plik itp.).
Znaczenie i wpływ
RFC 2068 był pierwszym kompleksowym opisem HTTP, który wprowadził mechanizmy nieobecne w wersji 0.9, takie jak:
- Obsługę różnych typów metod żądań, co umożliwiło interaktywną wymianę danych.
- Wprowadzenie kodów statusu, które stały się podstawą diagnostyki błędów w sieci.
- Możliwość przekazywania metadanych poprzez nagłówki, co pozwoliło na rozwój systemów cache, kompresji i negocjacji treści.
Standard ten stał się bazą dla kolejnych wersji protokołu, w tym RFC 2616 (HTTP/1.1) oraz nowoczesnych specyfikacji z rodziny RFC 7230‑7235 (RFC 7230 – „Message Syntax and Routing”).
Powiązane dokumenty
- RFC 1945 – HTTP/0.9 (pierwszy wstępny opis).
- RFC 2616 – HTTP/1.1 (rozbudowana wersja, wprowadzająca persistent connections, chunked transfer i wiele innych usprawnień).
- RFC 7230 – RFC‑seria definiująca HTTP/1.1 w nowoczesnym wydaniu.
- RFC 7231 – semantyka metod i kodów statusu w HTTP/1.1.
Dostępność
Pełny tekst RFC 2068 jest dostępny w publicznej bazie danych RFC prowadzonym przez IETF. Dokument znajduje się w domenie publicznej i może być swobodnie wykorzystywany w projektach edukacyjnych oraz implementacyjnych.
Bibliografia
- Fielding, R., Gettys, J., Mogul, J., Nielsen, H. F., Masinter, L., & Hoffman, P. (1997). Hypertext Transfer Protocol – HTTP/1.0. RFC 2068.
- Postel, J. (1980). Transmission Control Protocol. RFC 793.
- Berners‑Lee, T., Fielding, R., & Masinter, L. (1999). Uniform Resource Identifier (URI): Generic Syntax. RFC 2396.