Protokół HTTP/1.1
Protokół HTTP/1.1 jest opisany w dokumencie RFC 2616.
Praktycznie wszystkie strony WWW są przesyłane za pomocą protokołu HTTP. Poza samymi danymi, są też przesyłane nagłówki, które zawierają różne informacje o pliku — czy dany plik istnieje?, jaki ma typ (strona, grafika, animacja, itp.), jak długo może być przechowywany w cache, itd.
Jak to działa?
Podstawa HTTP jest bardzo prosta — klient (np. przeglądarka) wysyła żądanie (ang. request) do serwera i dostaje od niego odpowiedź (ang. response).
Żądanie zawiera ścieżkę do pliku, wersję HTTP i oraz opcjonalnie informacje o przeglądarce i preferowanej wersji pliku (typ, język).
GET /index.html HTTP/1.1 Host: example.com User-Agent: Przegladarka/1.0 Accept: text/html, application/xhtml+xml Accept-Language: pl,x-klingon
Na podstawie tych informacji serwer wysyła odpowiedź, która może być plikiem wraz z informacjami o nim lub informacją, że plik nie istnieje albo ma być pobrany pod innym adresem.
HTTP/1.1 200 OK Server: Jakis/1.0 Date: Wed, 09 Feb 1994 22:23:32 GMT Content-Type: text/html
Bezstanowość HTTP da się obejść za pomocą cookies
Protokół HTTP jest bezstanowy. Oznacza to, że każde żądanie jest traktowane zupełnie osobno, niezależnie od pozostałych. Dzięki temu przeglądarka może od razu żądać plików, bez żadnego „przywitania” się z serwerem, a serwer nie musi cały czas utrzymywać połączenia z przeglądarką.
Jak „używać” HTTP?
W przypadku zwykłych plików (tzw. stron statycznych) wszystkie niezbędne nagłówki potrafi ustawić serwer WWW. Natomiast ustawianie odpowiednich nagłówków jest przydatne do „tuningu” cache, przekierowań oraz gdy używa się skryptów po stronie serwera (np. PHP, Perl).
PHP
rozwinąć
Do ustawiania nagłówków i statusów? HTTP służy funkcja header()
.
Apache
rozwinąć
Zobacz mod_headers
, mod_expires
oraz mod_rewrite
.
Pytania? Komentarze? Napisz na forum kursu lub edytuj tę stronę.
Zmodyfikowano: 12.10.2006, 11:54