10. Protokoły warstwy aplikacji

10.2. Metoda GET

GET służy do żądania danej strony internetowej z serwera. Jego składnia wygląda tak:

GET /fundamentals.html HTTP/1.1

Oprócz nazwy żądanego zasobu zawiera również używaną wersję protokołu. Gdy serwer otrzyma taką wiadomość, takie żądanie, odpowiada klientowi odpowiednią wiadomością (z nagłówkami pokazanymi poniżej) i żądanym zasobem:

HTTP/1.1 200 OK/fundamentals.html

Żądanie GET zawiera również następujące informacje: nazwę hosta (np. wp.pl), nazwę przeglądarki, która wysłała żądanie, typy plików akceptowane przez przeglądarkę oraz preferowany język lub kodowanie znaków strony. Odpowiedź serwera zawiera następujące informacje: czas serwera, nazwę aplikacji serwera (np. APACHE) lub czas wygaśnięcia dokumentu.

Jeśli z jakiegoś powodu serwer sieciowy nie może odesłać zasobu, odsyła komunikat o błędzie, taki jak 404 powiadamiający, że żądany zasób nie został znaleziony lub 403 powiadamiający, że dostęp do zasobu jest zabroniony. Wybrane komunikaty i kody błędów przedstawiono w poniższej tabeli.

Kod błędu klienta:

Kod / Opis / Znaczenie

400 Bad Request. Serwer nie mógł przetworzyć żądania z powodu błędu klienta

401 Żądania nieautoryzowane. Żądania dotyczące zasobów, które wymagają uwierzytelnienia

403 Forbidden. Serwer rozumie żądanie, ale konfiguracja zabezpieczeń uniemożliwia mu zwrócenie żądanego zasobu

404 Not Found. Serwer nie znalazł zasobu pod podanym adresem URL

405 Metoda niedozwolona. Metoda zawarta w żądaniu jest niedozwolona dla wskazanego zasobu

406 Not Acceptable. Żądany zasób nie może zwrócić odpowiedzi, którą klient może obsłużyć

407 Wymagane uwierzytelnienie proxy. Wymagane uwierzytelnienie proxy

408 Limit czasu żądania. Upłynął czas oczekiwania na żądanie — klient nie wysłał żądania do serwera w określonym czasie

409 Konflikt. Żądanie nie mogło zostać zrealizowane z powodu konfliktu z aktualnym stanem zasobu

411 Wymagana długość. Serwer odmówił ukończenia zapytania z powodu braku nagłówka Content-Length w zapytaniu

415 Unsupported Media Type Unknown request way. Serwer odmówił przyjęcia zapytania, ponieważ jego składnia była niezrozumiała dla serwera


Kod błędu serwera:

Kod / Opis / Znaczenie

500 Internal Server Error. Wewnętrzny błąd serwera — serwer napotkał problem uniemożliwiający zakończenie żądania

501 Not Implemented Serwer. Nie ma możliwości wymaganych dla zapytania

502 Błąd nieprawidłowej bramy. Brama — serwer — działający jako brama lub pośrednik — otrzymał złą odpowiedź od serwera nadrzędnego i nie mógł spełnić żądania klienta

503 Usługa niedostępna. Serwer nie może obecnie wykonać zapytania klienta z powodu przeciążenia

504 Gateway Timeout. Przekroczony czas bramy — serwer działający jako brama lub pośrednik nie otrzymał odpowiedzi z określonego serwera HTTP, FTP, LDAP itp. w określonym czasie lub do obsługi żądania wymagany jest serwer DNS

505 HTTP Version Not Supported. Nieobsługiwana wersja HTTP — serwer nie obsługuje lub odmawia obsługi wersji HTTP wskazanej przez klienta