Sprawdź, co oznaczają poszczególne kody błędów serwera HTTP. Fot. janaka / VistaCreate

Kody błędów HTTP – sprawdź, co oznacza error w Twojej przeglądarce

Poruszając się po Internecie, na pewno kiedyś zdarzyło Ci się natknąć na błąd odpowiedzi HTTP. Jednym z najpopularniejszych jest error 404 – strony nie znaleziono. Znajomość kodów pozwala zrozumieć, co poszło nie tak podczas ładowania witryny oraz znaleźć rozwiązanie tego problemu. Sprawdź, co oznaczają poszczególne kody HTTP.

Czym jest serwer HTTP?

Serwer HTTP to program lub urządzenie, które przetwarza zapytania od klientów wysyłane przez protokół HTTP (HyperText Transfer Protocol) i udziela na nie odpowiedzi, zazwyczaj dostarczając pliki, informacje lub inne zasoby. Wygląda to następująco:

  1. Użytkownik wysyła żądanie HTTP na określony adres URL (w uproszczeniu: wpisuje hasło w wyszukiwarkę, np. adres strony).
  2. Serwer interpretuje to pytanie, sprawdzając ścieżkę do zasobu (do miejsca, które próbuje wyszukać użytkownik).
  3. Serwer generuje odpowiedź na żądanie (wyświetla wynik) i kończy połączenie bądź je podtrzymuje (wynik cały czas się wyświetla).

Tym samym serwer HTTP stanowi fundament funkcjonowania Internetu, pozwalając na przeglądanie witryn, ściąganie plików oraz używanie aplikacji internetowych.

Czym są kody odpowiedzi HTTP?

Kody odpowiedzi HTTP to krótkie komunikaty serwera internetowego, które są umieszczane na początku strony. Nie stanowią one jednak części samej witryny, lecz są odpowiedzią serwera, która daje nam wgląd w to, co miało miejsce, gdy serwer otrzymał prośbę o wyświetlenie konkretnej strony.

Takie odpowiedzi nie dotyczą wyłącznie błędów, ponieważ są generowane za każdym razem, gdy przeglądarka nawiązuje interakcję z serwerem – nawet jeśli nie są widoczne.

Jeśli jesteś właścicielem strony lub programistą, zrozumienie numerów odpowiedzi HTTP jest niezwykle istotne, ponieważ kiedy już się pojawią, stanowią one cenne narzędzie do diagnozowania i rozwiązywania potencjalnych problemów konfiguracyjnych.

Dlaczego w przeglądarce wyskakują błędy protokołu HTTP?

Kiedy użytkownik wysyła pytanie do protokołu HTTP, zwykle nie widzi całego procesu „za kulisami”, który prowadzi go do wyniku wyszukiwania. Odpowiedzi HTTP to też tzw. kody powodzenia, które nie są udostępniane użytkownikowi (o powodzeniu informuje go przecież pojawienie się wyniku na ekranie).

Czasem jednak coś pójdzie nie tak – wtedy przed użytkownikiem pojawi się tzw. kod błędu serwera HTTP lub kod błędu aplikacji klienta.

Kod błędu to umowna nazwa danego błędu, który może wystąpić podczas korzystania z serwera HTTP. Za każdym numerem kryje się dokładne wyjaśnienie, co poszło nie tak. Dzięki temu użytkownik wie, dlaczego jego pytanie nie zostało zrealizowane przez witrynę.

Jakie klasy odpowiedzi HTTP wyróżniamy?

Jak zostało wspomniane wcześniej, błędy to nie jedyne odpowiedzi, jakie można uzyskać od serwera HTTP. Zostały one pogrupowane w klasy, dzięki którym po ich pierwszej cyfrze można zrozumieć, do jakiego rodzaju odpowiedzi się odnoszą.

Poniżej przedstawiamy wszystkie klasy odpowiedzi HTTP:

  • 100: kody informacyjne – jak sama nazwa wskazuje, informują one użytkownika, że zainicjowane zadanie jest kontynuowane,
  • 200: kody powodzenia – występują, gdy żądanie z przeglądarki zostało pomyślnie odebrane, zinterpretowane, a następnie przetworzone przez serwer,
  • 300: kody przekierowania – pojawiają się, kiedy nowa treść zastępuje oczekiwany zasób,
  • 400: kody błędów klienta – to one informują o problemie związanym z danym pytaniem,
  • 500: kody błędów serwera – wskazują, że pytanie zostało przyjęte, ale jakiś błąd na serwerze uniemożliwił jego realizację.

Dzięki znajomości przynajmniej początkowych liczb w numerach poszczególnych kodów łatwiej jest zrozumieć, z jaką odpowiedzią mamy do czynienia.

Wszystkie kody błędów HTTP

Jak widać, nie wszystkie odpowiedzi serwera HTTP odnoszą się do błędów, ale errors stanowią ich ważną część. Warto jednak wiedzieć, co poszczególne z nich oznaczają, żeby wiedzieć, z jakim problemem się spotykamy, przeglądając strony w Internecie.

Nie wszystkie kody odpowiedzi HTTP oznaczają błędy. Fot. Tim Mossholder / pexels.com
Nie wszystkie kody odpowiedzi HTTP oznaczają błędy. Fot. Tim Mossholder / pexels.com

Kody 400 – kody błędu aplikacji klienta

400 – Bad request

Kod 400 wskazuje na błędne żądanie, które zostało odrzucone przez serwer (na przykład z powodu nieprawidłowej składni lub nieprawidłowego routingu).

401 – Unauthorized

Pojawienie się error 401 to jest informacja dla użytkownika, że treść docelowa nie dysponuje właściwym potwierdzeniem wierzytelności.

402 – Payment Required

Kod 402 jest zarezerwowany dla Google Developers API, który dzięki niemu oznajmia programistom, że przekroczyli dzienny limit pytań.

403 – Forbidden

Kod 403 wskazuje, że użytkownik nie ma odpowiednich uprawnień do uzyskania odpowiedzi na pytanie (na przykład gdy próbuje otworzyć zasób zabezpieczony hasłem, będąc niezalogowanym).

Motyw „error 404”, jako najpopularniejszy kod, przeniknął również do życia codziennego i stanowi  temat chętnie podejmowany np. przez sztukę. Fot. L A / pexels.com
Motyw „error 404”, jako najpopularniejszy kod, przeniknął również do życia codziennego i stanowi temat chętnie podejmowany np. przez sztukę. Fot. L A / pexels.com

404 – Not found

Error 404 to najczęściej występujący błąd serwera HTTP. Oznacza on, iż  zasób nie istnieje, a dodatkowo serwer nie znajduje informacji, czy kiedykolwiek był dostępny.

405 – Method not allowed

Kod 405 oznacza, iż znaleziony zasób istnieje, ale klient użył niedozwolonej metody HTTP. Odpowiedź zawiera również wykaz alternatywnych, dozwolonych metod.

406 – Not Acceptable

Niedopuszczalne – serwer nie może dostarczyć użytkownikowi odpowiedzi, którą mógłby obsłużyć na podstawie danych zawartych w pytaniu.

407 – Proxy Authentication Required

Serwer wymaga uwierzytelnienia do serwera pośredniczącego proxy. Ten kod oznacza w zasadzie to samo, co numer 401.

408 – Request timeout

Kod 408 wskazuje na to, że serwer nie otrzymał w ustalonym czasie odpowiedzi na pytanie przeglądarki internetowej (np. poprzez przeciążenie sieci).

409 – Conflict

Błąd 409 wskazuje na konflikt – zadanie nie może zostać zrealizowane z powodu sprzeczności z aktualnym stanem zasobu. Ta odpowiedź jest generowana jedynie w sytuacji, gdy serwer podejrzewa, że klient może zidentyfikować przyczyny błędu i ponownie wysłać poprawne pytanie. Odpowiedź serwera powinna zawierać informacje, które pomogą klientowi w rozwiązaniu problemu, chociaż nie jest to wymogiem.

410 – Gone

Kod 410 to kod bliski błędowi 404. W przeciwieństwie do niego jednak, choć zasób nie istnieje, serwer posiada o tym informacje.

411 – Length required

Wymagana długość – pokazując kod 411, serwer odmawia zrealizowania zadania ze względu na brak nagłówka Content-Length w zapytaniu; klient może spróbować jeszcze raz, dodając poprawny nagłówek długości

412 – Precondition Failed

Error 412 oznacza „Warunek wstępny nie może być spełniony” – czyli że serwer nie może spełnić przynajmniej jednego z warunków zawartych w pytaniu.

Użytkownicy Internetu nie zdają sobie sprawy z tego, ile procesów dzieje się poza zasięgiem ich wzroku. Fot. Christina Morillo / pexels.com
Użytkownicy Internetu nie zdają sobie sprawy z tego, ile procesów dzieje się poza zasięgiem ich wzroku. Fot. Christina Morillo / pexels.com

413 – Request Entity Too Large

Kod 413 oznacza, że całkowita długość zadania jest zbyt długa dla serwera.

414 – Request-URL Too Long

Ta sekwencja oznacza, że adres URL pytania jest zbyt długi – długość zażądanego URL jest większa niż maksymalna oczekiwana przez serwer.

415 – Unsupported Media Type

Ten kod oznajmia klientowi, że serwer odmawia przyjęcia pytania, ponieważ jego składnia jest niezrozumiała.

421 – Misdirected Request

Error 421 oznacza, że żądanie zostało skierowane do serwera, który nie powinien go otrzymać lub który nie jest w stanie na nie odpowiedzieć.

422 – Unprocessable entity

Error 422 informuje, że chociaż zadanie od użytkownika było poprawnie sformułowane, było niemożliwe do kontynuowania z powodu semantycznych błędów.

423 – Locked

Ta sekwencja oznacza, że nastąpiła próba uzyskania dostępu do zasobu, który jest aktualnie zablokowany.

424 – Failed Dependency

Brak powodzenia pytania, ponieważ jest ono zależne od innego żądania, które również nie powiodło się.

426 – Upgrade Required

Error 426 oznacza, że serwer odmawia wykonania zadania, używając aktualnego protokołu. Wymagany protokół dla klienta przekazany jest w nagłówku Upgrade.

428 – Precondition Required

Brak nagłówka wstępnego, który jest wymagany przez serwer do przetworzenia pytania.

429 – Too many requests

Ten kod to informacja dla użytkownika, że wysłał on zbyt wiele zapytań w określonym czasie. Serwer nie jest w stanie przetworzyć wszystkich razem.

499 – Client closed request

Error 499 oznacza zamknięcie zadania w trakcie przetwarzania go przez wskazany serwer HTTP.

Znajomość kodów błędów serwera HTTP ułatwia szukanie rozwiązań. Fot. cottonbro studio / pexels.com
Znajomość kodów błędów serwera HTTP ułatwia szukanie rozwiązań. Fot. cottonbro studio / pexels.com

Kody 500 – kody błędu serwera HTTP

501 – Not implemented

Error 501 informuje klienta, że serwer nie obsługuje funkcji wymaganej do spełnienia żądania.

502 – Bad gateway

Serwer uzyskał błędną odpowiedź od innego serwera (na przykład, gdy zapytanie trwa zbyt długo, co zmusza serwer do przerwania połączenia z bazą danych).

503 – Service unavailable

Problem z hostem uniemożliwia przetworzenie pytania klienta.

504 – Gateway timeout

Przetwarzane żądanie nie zostało wykonane, ponieważ pierwszy serwer przekroczył limit czasu oczekiwania na odpowiedź drugiego serwera.

505 – HTTP Version Not Supported

Error 505 oznacza nieobsługiwaną wersję HTTP – serwer nie obsługuje bądź odmawia obsługi wskazanej przez klienta wersji HTTP.

507 – Insufficient Storage

Serwer nie jest w stanie zapisać danych związanych z wykonaniem zapytania.

508 – Loop Detected

Serwer wykrył nieskończoną pętlę w trakcie przetwarzania zapytania, więc nie może pokazać odpowiedzi.

509 – Bandwidth Limit Exceeded

Serwer jest tymczasowo niedostępny, ponieważ właściciel strony przekroczył limit transferu danych.

510 – Not Extended

Error 510 oznacza brak rozszerzenia HTTP koniecznego do obsługi danego zapytania.

511 – Network Authentication Required

Wymagane uwierzytelnienie przed otrzymaniem dostępu do sieci. W zamyśle wykorzystywane przez pośredników kontrolujących dostęp do sieci (np.: wymaganie potwierdzenia zasad użytkowania przed udostępnieniem połączenia).

Internet to nie tylko kable – to cały system zapytań i odpowiedzi niewidoczny dla użytkownika. Fot. Pixabay / pexels.com
Internet to nie tylko kable – to cały system zapytań i odpowiedzi niewidoczny dla użytkownika. Fot. Pixabay / pexels.com

Kody odpowiedzi od serwera – teraz już wiesz!

Nie musisz znać kodów na pamięć – większość z nich wyświetla się wraz z nazwą po angielsku, więc od razu zrozumiesz, co oznaczają. Na szczęście wiele z nich pojawia się bardzo rzadko, a z wieloma już zdążyłeś(-aś) się zapoznać!

Sprawdź również

Podobne wpisy