Zamów stronę

Słownik odpowiedzi serwera

Wróć do wpisów
Kategoria: Strony www
Grudzień 11, 2018

Odpowiedzi HTTP

Korzystając z zasobów Sieci możemy spotkać się z wieloma kodami odpowiedzi, część z nich jest niezauważalna przy przeglądaniu stron (np. kod 200), do części jesteśmy przyzwyczajeni (np. kod 404), a część oznacza, że coś poszło bardzo nie tak (np. 500).

Kody HTTP podzielone są na tematyczne grupy:

100: kody informacyjne – potwierdzające odebranie żądania i dalsze przetwarzanie.
200: kody sukcesu, zwracane gdy żądanie zostało odebrane, zrozumiane i przetworzone, co skutkuje np. wyświetleniem strony internetowej.
300: kody przekierowań, zwracane np. gdy adres zostaje zastąpiony nowym, np. przekierowanie jednego adresu na drugi.
400: kody błędów klienta, informujące o problemie związanym z żądaniem, np. brak zasobu.
500: kody błędów serwera, informują, że żądanie zostało zaakceptowane, jednak błąd na serwerze uniemożliwił jego przetworzenie.

200 – sukces

Kod oznaczający, że wszystko jest ok. Nie widzimy go o ile nie jesteśmy developerem, widzimy za to poprawnie działającą stronę.

404 – strony nie odnaleziono

Najpopularniejszy błąd na co dzień spotykany na stronach internetowych. Oznacza, że danego adresu nie odnaleziono, co może wiązać się przykładowo z.wpisaniem błędnego adresu (np. literówka) lub skasowaniem strony bądź pliku przez administratora. Kod 404 zazwyczaj ilustrowany jest kreatywnym komunikatem, np. takim jak ten:

Jeśli jesteś administratorem warto byś przekierował skasowane strony na ich nowe odpowiedniki, o ile takie istnieją.

403 Forbidden you don’t have permission to access / on this server

Komunikat oznacza, że dostęp do wybranej lokalizacji jest zablokowany przed użytkownikiem z zewnątrz. Można założyć, że z przyczyn bezpieczeństwa zasób został zablokowany przed nieautoryzowanym dostępem. Jeśli masz taką możliwość – zaloguj się. Jeśli nie – sprawdź pod jaki adres próbujesz się dostać, być może pomyliłeś się i próbujesz wejść pod adres, który nie jest dostępny z zewnątrz. W większości przypadków nie jest to błąd, a celowe działanie administratora serwera.

408 Request Timeout

Kod mówi nam, że żądanie zostało wysłane do serwera, jednak ten nie odpowiedział w odpowiednim czasie. Może być to spowodowane przeciążeniem.

500 internal server error – sorry, something went wrong

Błąd wynikający z problemów serwera, z którym próbujesz się połączyć. Zazwyczaj związany jest z błędem w skryptach działających na serwerze lub w plikach konfiguracyjnych. Błąd ten jest krytyczny i uniemożliwia korzystanie z witryny. Jeśli jesteś użytkownikiem strony – nie jesteś w stanie zrobić nic, poza próbą wyświetlenia strony w późniejszym czasie. Być może administratorzy naprawią ją. Jeśli jesteś administratorem – włącz tryb raportowania błędów, przejrzyj pliki (np. PHP) w poszukiwaniu potknięć, cofnij ostatnie zmiany, zajrzyj do reguł htaccess i innych plików konfiguracyjnych, wyłącz ostatnio aktywowane wtyczki/moduły, sprawdź wersję oprogramowania i ewentualnie wykonaj downgrade/update. W krytycznych sytuacjach, o ile to możliwe, przywróć backup strony (np. WordPressa ) lub całego serwera (snapshot w przypadku korzystania z VPSa).

502 – Bad gateway

Serwer otrzymał niepoprawną odpowiedź z innego serwera. Jako użytkownik możemy spróbować po dłuższej chwili zobaczyć, czy strona zaczęła działać. Jako admin – warto sprawdzić np. czy działa serwer baz danych lub czy wstały wszystkie usługi, np. VPSa po resecie.

503 (Service Unavailable)

Błąd wynikający z wyczerpania się zasobów serwera. Nawet jeśli błąd zniknie po chwili (a tak dzieje się zazwyczaj) oznacza to, że serwer napotkał problem z wydajnością. Problemów może być wiele – chwilowy skok zainteresowania (np. związany z jakąś promocją), niska optymalizacja oprogramowania, zapętlenie się skryptu itp.

Oprócz kodów HTTP możemy natrafić też na błędy wyświetlane przez samą przeglądarkę, np. w sytuacji gdy wysłanie żądania nie było w ogóle możliwe, przykładowo:

ERR_NAME_NOT_RESOLVED

Błąd występujący w sytuacji, w której nie udało się pozyskać informacji o lokalizacji strony poprzez serwery nazw (DNSy). Problem zazwyczaj leży po stronie administratora, który powinien upewnić się, że domena jest prawidłowo skierowana na serwer. Użytkownik powinien upewnić się, że prawidłowo wpisał adres internetowy, być może popełnił błąd i próbuje skorzystać z niezarejestrowanej domeny.

Niektóre kody błędów mogą mieć też różną genezę, np. błąd pętli nieskończonych (rediretion loop) przekierowań zwraca błąd 500.

Powyższy spis to zaledwie wycinek wszystkich kodów. Z tymi spotykamy się najczęściej, ale pełen katalog jest o wiele bogatszy, poniżej kompletna lista odpowiedzi.

1xx Informational

100 Continue
101 Switching Protocols
102 Processing (WebDAV)

2xx Success

200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status (WebDAV)
208 Already Reported (WebDAV)
226 IM Used

3xx Redirection

300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
306 (Unused)
307 Temporary Redirect
308 Permanent Redirect (experimental)

4xx Client Error

400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I’m a teapot (RFC 2324)
420 Enhance Your Calm (Twitter)
422 Unprocessable Entity (WebDAV)
423 Locked (WebDAV)
424 Failed Dependency (WebDAV)
425 Reserved for WebDAV
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 No Response (Nginx)
449 Retry With (Microsoft)
450 Blocked by Windows Parental Controls (Microsoft)
451 Unavailable For Legal Reasons
499 Client Closed Request (Nginx)

5xx Server Error

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (Experimental)
507 Insufficient Storage (WebDAV)
508 Loop Detected (WebDAV)
509 Bandwidth Limit Exceeded (Apache)
510 Not Extended
511 Network Authentication Required

Wojciech Popiela
Wojciech Popiela
Project Manager i developer z ośmioletnim stażem. Doświadczenie zdobywał przy realizacji dużych projektów aplikacji internetowych. W TenseApp! czuwa nad jakością wdrożeń i rozwojem usługi jako członek zarządu.
Komentarze