Kody statusu HTTP: Przegląd

Każdy użytkownik Internetu w pewnym momencie spotyka się z komunikatem„Error 404 – ta strona nie istnieje„. Jest to jeden z wielu kodów statusu HTTP, którymi serwer odpowiada na żądanie klienta. Składają się one z trzycyfrowej …

Kody statusu HTTP: Przegląd

http status codes

  1. Magazyn
  2. »
  3. Artykuł
  4. »
  5. Netzwerk
  6. »
  7. Kody statusu HTTP: Przegląd

Każdy użytkownik Internetu w pewnym momencie spotyka się z komunikatem„Error 404 – ta strona nie istnieje„. Jest to jeden z wielu kodów statusu HTTP, którymi serwer odpowiada na żądanie klienta. Składają się one z trzycyfrowej liczby i informują o powodzeniu lub niepowodzeniu żądania. W tym artykule podsumowaliśmy dla Ciebie najważniejsze kody statusu HTTP i ich znaczenie.

Co to jest kod statusu HTTP?

Jest to odpowiedź serwera na żądanie HTTP od klienta. Najczęściej jest to przeglądarka internetowa (np. Chrome, Firefox lub Opera).

Co oznaczają liczby w kodach statusu HTTP?

Pierwsza cyfra trzycyfrowych kodów oznacza klasę statusu (np. „Błąd serwera“ lub „Udana operacja“). Są one również klasyfikowane w różnych dokumentach RFC („Request for Comments“).

Jak mogę sprawdzić kody statusu HTTP?

Przeglądarka internetowa zazwyczaj nie wyświetla kodów statusu. Do ich obserwacji potrzebne są specjalne narzędzia lub odpowiednie rozszerzenia przeglądarki.

Najważniejsze kody statusu HTTP w skrócie

1xx: Kody informacyjne

Kod

Komunikat

Wersja HTTP

Opis

100

Kontynuuj

1.1

Żądanie zostało przyjęte, ale jest nadal przetwarzane. Serwer oczekuje na dalsze żądania od klienta.

101

Przełączanie protokołów

1.1

Kod ten jest zwykle żądany po stronie klienta i wskazuje, że serwer zgadza się na zmianę protokołu (np. z HTTP na inny protokół).

102

Przetwarzanie

2.0

Używany w celu uniknięcia time-outów podczas gdy serwer przetwarza czasochłonne żądania (np. w wyniku żądania WebDAV z wieloma podzapytaniami).

Dobrze wiedzieć: WebDAV (Web-based Distributed Authoring and Versioning) został opracowany do edycji i zmiany dokumentów i plików w sieci w oparciu o protokół HTTP.

2xx: Operacje zakończone sukcesem

Kod

Wiadomość

Wersja HTTP

Opis

200

OK

1.0 / 1.1

Żądanie zakończyło się sukcesem. Wynik jest przekazywany razem z odpowiedzią.

201

Utworzono

1.0 / 1.1

Nowy zasób został utworzony i załadowany w międzyczasie. Kod 201 jest zazwyczaj przekazywany jako odpowiedź serwera na tzw. żądanie PUT.

202

Accepted

1.0 / 1.1

Żądanie klienta zostało zaakceptowane, ale zostanie wykonane dopiero później.

203

Informacja nieautorytatywna

1.0 / 1.1

Serwer przyjmuje rolę tak zwanego „transformującego proxy“. Otrzymuje ze źródła kod 200, a następnie dostarcza zmodyfikowaną wersję odpowiedzi (ze źródła).

204

Brak treści

1.0 / 1.1

Żądanie zakończyło się sukcesem, ale odpowiedź (celowo) nie zawiera żadnych danych. Stara treść powinna być nadal wyświetlana klientom.

205

Wyzeruj zawartość

1.1.

Żądanie zakończyło się sukcesem. Klient powinien ponownie załadować dokument i zresetować wpisy formularza.

206

Zawartość częściowa

1.1.

Jeśli klient wysyła żądanie z tzw. nagłówkiem zakresu, to serwer odpowiada kodem 206 i informuje o przesłaniu części żądanego zasobu. Typowym przykładem jest przerwane i wznowione pobieranie plików.

207

Multi-status

2.0.

Odpowiedź zawiera dokument XML zawierający wiele kodów statusu do niezależnych operacji.

208

Już zgłoszone

1.1

Kod 208 jest używany w ramach wiązania WebDAV i wskazuje, że członkowie wiązania zostali wcześniej wyliczeni i dlatego nie są już obecni w tej odpowiedzi.

226

IM Używany

Serwer zrealizował żądanie GET. Odpowiedź zawiera wynik jednej lub więcej manipulacji tą instancją.

3xx: Przekierowania

Kod

Wiadomość

Wersja HTTP

Opis

300

Wiele możliwości wyboru

1.1

Żądany zasób jest dostępny w wielu typach. Odpowiedź zawiera listę możliwych wariantów.

301

Przeniesiony na stałe

1.0 / 1.1

Kod 301 (Redirect) wskazuje, że żądany zasób będzie w przyszłości dostępny pod adresem określonym w polu nagłówka „Location“. Stary adres nie jest już ważny.

302

Znaleziono (przeniesiono tymczasowo)

1.0 / 1.1

Zgodnie z kodem statusu 302, zasób jest tymczasowo dostępny pod adresem podanym w nagłówku. Jednak stary adres pozostaje ważny.

303

Zobacz inne

1.1

Odpowiedź serwera może być pobierana pod innym adresem URI przy użyciu metody GET. Pozwala to na bezproblemowe przejście do wybranego zasobu po żądaniu POST.

304

Nie zmodyfikowano

1.0 / 1.1

Kod statusu 304 wskazuje, że zawartość żądanego zasobu nie uległa zmianie od ostatniego żądania. W związku z tym odpowiedź nie zawiera żadnych danych.

305

Użyj proxy

1.1

Zasób jest dostępny tylko poprzez proxy określone w nagłówku „Location“.

306

(nieużywany)

1.1

Kod statusu 306 jest zarezerwowany, ale nie jest już używany. Pierwotnie był używany dla odpowiedzi „Switch Proxy“.

307

Tymczasowe przekierowanie

1.1

Żądany zasób został znaleziony i jest tymczasowo dostępny pod adresem określonym w polu nagłówka „Location“. Stary adres pozostaje jednak ważny. Przeglądarka powinna podążać tą samą metodą, co w przypadku oryginalnego żądania.

308

Trwałe przekierowanie

Żądany zasób został znaleziony i jest tymczasowo dostępny pod adresem określonym w polu nagłówka „Location“. Stary adres nie jest już ważny. Kolejne zapytania do przeglądarki powinny być wykonane tą samą metodą, co oryginalne żądanie.

4xx: Błąd klienta

Kod

Wiadomość

Wersja HTTP

Opis

400

Złe żądanie

1.0 / 1.1

Żądanie było błędne, dlatego nie może być przetworzone przez serwer.

401

Nieautoryzowany

1.0 / 1.1

Żądanie nie może być przetworzone bez odpowiedniej autoryzacji. Nagłówek odpowiedzi WWW_Authenticate wyjaśnia, jak przeprowadzić uwierzytelnienie.

402

Wymagana płatność

1.1

Wymagana płatność. Kod statusu jest zarezerwowany do przyszłego użytku.

403

Zabronione

1.0 / 1.1

Błąd HTTP 403 wskazuje, że dostęp do treści jest trwale zabroniony z powodu braku autoryzacji klienta. Żądanie nie powinno być wykonane ponownie.

404

Nie znaleziono

1.0 / 1.1

Serwer nie mógł znaleźć żądanego zasobu. W większości przypadków jest to spowodowane tak zwanym „martwym linkiem“.

405

Niedozwolona metoda

1.1

Kod statusu 405 oznacza, że metoda żądania jest niedozwolona i może być wykonana tylko przy użyciu innych metod (np. GET lub POST).

406

Niedopuszczalne

1.1

Kod statusu 406 wskazuje, że żądany zasób nie został dostarczony w formie żądanej przez klienta.

407

Wymagane uwierzytelnienie proxy

1.1

Podobnie jak kod statusu 401, ta odpowiedź wymaga uwierzytelnienia. W tym przypadku jednak klient musi zidentyfikować się z proxy, które musi uwzględnić pole odpowiedzi Proxy Authenticate.

408

Limit czasu żądania

1.1

Klient nie zakończył żądania w czasie określonym przez serwer. Błąd HTTP 408 występuje np. przy przesyłaniu dużych plików.

409

Konflikt

1.1

Żądanie zostało wykonane przy błędnych założeniach i nie może zostać przetworzone, w przeciwnym razie w zasobach żądających wystąpiłby konflikt. W przypadku żądania PUT może to być spowodowane np. zmianą wprowadzoną w międzyczasie do zasobu przez stronę trzecią.

410

Gone

1.1

Zasób już nie istnieje i został trwale usunięty.

411

Wymagana długość

1.1

Przetwarzanie żądania bez nagłówka „Content-Length“ jest odrzucane przez serwer.

412

Warunek wstępny nie powiódł się

1.1

Warunek określony przez klienta nie może być spełniony.

413

Zbyt duży element żądania

1.1

Żądanie było zbyt duże, aby mogło zostać przetworzone przez serwer i dlatego zostało odrzucone. Może to być spowodowane na przykład przez przesłany plik.

414

Zbyt długi URI

1.1

Adres URL żądania jest zbyt długi.

415

Nieobsługiwany typ mediów

1.1

Żądany typ mediów lub MIME nie jest obsługiwany.

416

Żądany zakres nie jest możliwy do spełnienia

1.1

Żądany podzakres zasobu nie istnieje lub jest nieważny. Występuje np. w związku z częściowym pobieraniem.

417

Oczekiwanie nie powiodło się

1.1

Używane w połączeniu z polem nagłówka „Expect“. Zachowanie serwera wymagane przez klienta w polu nagłówka „Expect“ nie może być spełnione.

420

Polityka niespełniona

1.1

Zaproponowane w W3C PEP (Working Draft 21 November 1997), aby wskazać, że warunek nie został spełniony.

421

Błędnie skierowany wniosek

2.0

Żądanie trafiło do serwera, który nie jest w stanie wysłać odpowiedzi.

422

Nieprzetwarzalny podmiot

1.1

Kod statusu jest używany, gdy ani zwrócenie kodu statusu 415 ani 400 nie byłoby uzasadnione, ale odmówiono przetworzenia żądania (na przykład z powodu błędów semantycznych).

423

Zablokowany

1.1

Żądany zasób jest obecnie zablokowany.

424

Nieudana zależność

1.1

Żądanie nie mogło zostać wykonane, ponieważ wymaga powodzenia poprzedniego żądania.

426

Wymagana aktualizacja

1.1

Serwer nalega, aby klient powtórzył żądanie przy użyciu innego protokołu. Typowym przypadkiem użycia jest przejście na protokół HTTP z zabezpieczeniem warstwy transportowej.

428

Warunek wstępny Wymagane

1.1

Nie wszystkie warunki wstępne wymagane dla żądania zostały spełnione.

429

Zbyt wiele wniosków

1.1

Klient wykonał zbyt wiele żądań w określonym czasie.

431

Zbyt duże pola nagłówka żądania

1.1

Maksymalna długość pola nagłówka lub całego nagłówka została przekroczona.

451

Niedostępne z przyczyn prawnych

1.1

Zasób jest niedostępny z przyczyn prawnych (np. ze względu na prawa autorskie lub cenzurę w niektórych krajach). Kod statusu został wprowadzony w 2015 roku, a jego nazwa pochodzi od powieści Raya Bradbury’ego „Fahrenheit 451“.

Dobrze wiedzieć: Wraz ze statusem 418 pojawia się kolejny kod z kategorii błędów klienta. W ramach nie do końca poważnego protokołu parzenia kawy (Hyper Text Coffee Pot Control Protocol) wskazuje on, że zamiast dzbanka do kawy omyłkowo użyto czajnika. Kod statusu nie jest jednak ani częścią protokołu HTTP, ani nie jest zdefiniowany w SCR („Status Code Registry“).

5xx: Błąd serwera

Kod

Wiadomość

Wersja HTTP

Opis

500

Wewnętrzny błąd serwera

1.0 / 1.1

Kod statusu 500 jest wyświetlany, jeśli żądanie nie może być wykonane z powodu wewnętrznego błędu (serwera).

501

Nie wdrożono

1.0 / 1.1

Serwer nie posiada niezbędnej funkcjonalności do przetworzenia żądania. Przyczyną jest często nieznana lub nieobsługiwana metoda HTTP.

502

Zła brama

1.0 / 1.1

Błąd HTTP 502 oznacza, że serwer nie mógł spełnić swojej funkcji jako brama lub proxy, ponieważ błąd wystąpił dalej.

503

Usługa niedostępna

1.0 / 1.1

Usługa lub serwer jest obecnie niedostępny. Dzieje się tak np. podczas prac konserwacyjnych lub przeciążenia itp.

504

Timeout bramy

1.1

Żądanie nie może być przetworzone przez proxy z powodu przekroczenia limitu czasu.

505

Nieobsługiwana wersja HTTP

1.1

Żądana wersja HTTP nie jest obsługiwana.

506

Wariant również negocjuje

Uzgodnienie treści żądania skutkuje odniesieniem kołowym.

507

Niewystarczające przechowywanie

Żądanie nie mogło zostać przetworzone, ponieważ aktualnie dostępna przestrzeń dyskowa serwera jest niewystarczająca.

508

Wykryto pętlę

Operacja nie została wykonana, ponieważ jej wykonanie wpadłoby w nieskończoną pętlę. Kod stanu jest zdefiniowany w rozszerzeniu wiązań dla WebDAV (zgodnie z RFC 5842), ponieważ wiązania mogą tworzyć cykliczne ścieżki do zasobów WebDAV.

509

Przekroczony limit przepustowości

Żądanie klienta zostało odrzucone, ponieważ w przeciwnym razie przekroczona zostałaby dostępna przepustowość. Ten kod stanu jest nieoficjalnym rozszerzeniem niektórych serwerów.

510

Nie rozszerzony

Żądanie nie zawiera wszystkich informacji, których obowiązkowo oczekuje żądane rozszerzenie serwera (RFC 2774).

511

Wymagane uwierzytelnienie sieciowe

Klient musi się najpierw uwierzytelnić, zanim uzyska dostęp do sieci.

Uwaga: Niektórzy producenci oprogramowania używają zastrzeżonych kodów statusu HTTP, które są numerowane od 9XX. Ten zakres numerów jest jednak specjalnym przypadkiem, który nie jest wymieniany w dokumentach RFC, a więc jest również poza standardem.

W poniższym filmie jeszcze raz wyjaśnione są najważniejsze kody statusów HTTP:

Artykuły powiązane