Podstawy sieci komputerowych
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