Skip to content

Kody stanu HTTP wyjaśnione

Wszystkie typowe kody stanu odpowiedzi HTTP, pogrupowane według klas: co oznaczają i kiedy je zobaczysz. Szybka ściąga towarzysząca narzędziu Kody stanu HTTP.

Kody stanu HTTP mają jeden wspólny wzorzec: pierwsza cyfra określa klasę, a reszta to szczegóły. 1xx oznacza informację, 2xx oznacza sukces, 3xx oznacza przekierowanie, 4xx oznacza błąd po stronie klienta, a 5xx oznacza awarię serwera. Czytaj najpierw pierwszą cyfrę. Narzędzie towarzyszące pozwala zgłębić pojedynczy kod.

Tabela referencyjna · 55 wpisyOtwórz narzędzie http-status-codes →
55 of 55 rows
1xx Informacyjne
ContinueSerwer odebrał nagłówki żądania i klient może wysłać treść.Po wstępnej kontroli przed przesłaniem dużej treści.
Switching ProtocolsSerwer zgadza się przełączyć na protokół zażądany przez klienta.Podnoszenie połączenia HTTP do WebSocket.
ProcessingSerwer odebrał żądanie i nadal nad nim pracuje.Serwer WebDAV potwierdza długie żądanie, aby klient nie przekroczył limitu czasu.
Early HintsSerwer wysyła wstępne nagłówki, zanim ostateczna odpowiedź będzie gotowa.Pozwolenie przeglądarce na wczesne ładowanie zasobów, gdy strona jest jeszcze renderowana.
2xx Sukces
OKŻądanie powiodło się, a treść odpowiedzi zawiera wynik.Standardowy sukces dla GET lub PUT.
CreatedŻądanie powiodło się i utworzono nowy zasób.Zwracany po udanym POST, który coś tworzy.
AcceptedŻądanie zostało przyjęte do przetworzenia, ale nie jest jeszcze zakończone.Długotrwałe zadanie wystartowało i działa asynchronicznie.
Non-Authoritative InformationŻądanie powiodło się, ale zwrócone dane zostały przekształcone po drodze.Proxy lub pamięć podręczna serwuje zmodyfikowane metadane zamiast metadanych źródła.
No ContentŻądanie powiodło się i nie ma treści do zwrócenia.Udane DELETE albo PUT bez niczego do przekazania.
Reset ContentŻądanie powiodło się, a klient powinien zresetować widok, który je wysłał.Po wysłaniu formularza — polecenie stronie, żeby wyczyściła pola.
Partial ContentSerwer zwraca tylko część zasobu, zgodnie z żądaniem.Serwowanie zakresu bajtów z żądania Range.
3xx Przekierowanie
Moved PermanentlyZasób ma nowy, stały adres URL i przyszłe żądania powinny go używać.Strona została przeniesiona, a wyszukiwarki muszą zaktualizować indeks.
FoundZasób znajduje się tymczasowo pod innym adresem, ale nadal używaj oryginalnego.Chwilowe przekierowanie na stronę logowania.
See OtherOdpowiedź znajduje się pod innym adresem i należy ją pobrać metodą GET.Wzorzec PRG: przekierowanie POST na stronę wyników, aby odświeżenie nie wysłało go ponownie.
Not ModifiedKopia w pamięci podręcznej jest nadal ważna, więc serwer nie wysyła treści.Warunkowe GET, gdzie pamięć klienta jest aktualna.
Use ProxyŻądanie musi zostać wysłane przez serwer proxy wskazany w odpowiedzi.Starsze sieci proxy; przestarzały od 2011 roku.
Temporary RedirectZasób znajduje się tymczasowo gdzie indziej, a oryginalna metoda żądania musi zostać zachowana.Jak 302, ale POST pozostaje POST po przekierowaniu.
Permanent RedirectZasób ma nowy, stały adres URL, a oryginalna metoda żądania musi zostać zachowana.Jak 301, ale POST pozostaje POST po przekierowaniu.
4xx Błąd klienta
Bad RequestSerwer nie zrozumiał żądania z powodu błędnej składni.Wadliwy JSON albo brak wymaganego pola.
UnauthorizedWymagane jest uwierzytelnienie — brakowało go lub się nie powiodło.Brak tokena albo token nieprawidłowy lub wygasły.
Payment RequiredŻądanie wymaga opłaty, choć specyfikacja nigdy nie określiła jak.Niektóre API używają go jako znacznika paywalla; większość wcale.
ForbiddenKlient jest uwierzytelniony, ale nie ma dostępu do tego zasobu.Poprawny login, ale brak uprawnień do tego zasobu.
Not FoundSerwer nie ma zasobu pod tym adresem URL.Nieznany adres URL albo identyfikator, który nie istnieje.
Method Not AllowedAdres URL istnieje, ale nie pozwala na użytą metodę żądania.POST na endpoint, który przyjmuje tylko GET.
Not AcceptableSerwer nie może zwrócić treści zgodnej z nagłówkami Accept klienta.Klient zażądał tylko XML, a API zwraca wyłącznie JSON.
Proxy Authentication RequiredKlient musi uwierzytelnić się w proxy, zanim żądanie pójdzie dalej.Firmowe proxy odrzuca nieuwierzytelnione żądanie.
Request TimeoutKlient zbyt długo wysyłał żądanie i serwer się poddał.Przesyłanie, które utknęło, zanim treść dotarła w całości.
ConflictŻądanie koliduje z bieżącym stanem zasobu.Zduplikowany e-mail albo wyścig edycji na tym samym rekordzie.
GoneZasób kiedyś istniał, ale został trwale usunięty.Endpoint wycofany celowo — mocniejszy niż 404.
Length RequiredŻądanie wymaga nagłówka Content-Length, a go nie ma.Serwer, który musi znać rozmiar z góry, odrzuca treść strumieniowaną.
Precondition FailedWarunek w nagłówku, np. If-Match, ocenił się na fałsz.Optymistyczna edycja, w której rekord zmienił się od czasu odczytu przez klienta.
Content Too LargeTreść żądania przekracza limit akceptowany przez serwer.Przesłanie większe niż maksymalny rozmiar treści na serwerze.
URI Too LongAdres URL żądania jest dłuższy, niż serwer chce interpretować.Formularz przypadkiem zserializowany do query stringa GET, który rósł bez granic.
Unsupported Media TypeFormat treści żądania nie jest akceptowany przez ten endpoint.POST z Content-Type text/plain na endpoint przyjmujący tylko JSON.
Range Not SatisfiableZakres bajtów w nagłówku Range nie pasuje do zasobu.Żądanie bajtów poza końcem pliku przy wznawianiu pobierania.
Expectation FailedSerwer nie może spełnić oczekiwania z nagłówka Expect.Oczekiwanie 100-continue, którego serwer odmawia spełnić.
I'm a teapotSerwer jest czajnikiem i odmawia parzenia kawy.Prima aprilis z 1998 roku, który nie chce umrzeć; API zwracają go dla żartu.
Misdirected RequestŻądanie trafiło do serwera, który nie może wygenerować dla niego odpowiedzi.Ponownie użyte połączenie wysłane do hosta, którego ten serwer nie obsługuje.
Unprocessable EntityŻądanie jest poprawne składniowo, ale jego wartości nie przechodzą walidacji semantycznej.Poprawny JSON, którego pola łamią reguły biznesowe.
Too EarlySerwer odrzuca żądanie, które może być powtórką (replay).Odrzucenie ponowionego żądania nieidempotentnego, zanim klucze zostaną rotowane.
Upgrade RequiredKlient musi przejść na inny protokół, aby użyć tego zasobu.Endpoint wymagający TLS lub WebSocket.
Precondition RequiredSerwer wymaga nagłówków warunkowych, których żądanie nie wysłało.API wymagające If-Match, aby zapobiec utraconym aktualizacjom.
Too Many RequestsKlient wysłał zbyt wiele żądań w danym oknie czasowym.Osiągnięto limit żądań; odczekaj i spróbuj ponownie.
Request Header Fields Too LargeCo najmniej jedno pole nagłówka jest zbyt duże, by serwer je przetworzył.Cookie albo token, który rósł, aż zablokował każde żądanie do witryny.
Unavailable For Legal ReasonsZasób jest zablokowany z przyczyn prawnych, takich jak takedown albo blokada geograficzna.Rządowe żądanie usunięcia treści albo strona zablokowana w jednym kraju.
5xx Błąd serwera
Internal Server ErrorSerwer napotkał nieoczekiwany stan i zawiódł.Nieobsłużony wyjątek lub błąd po stronie serwera.
Not ImplementedSerwer nie obsługuje żądanej metody ani funkcji.Endpoint jest zadeklarowany, ale jeszcze nie zbudowany.
Bad GatewayBrama lub proxy otrzymało nieprawidłową odpowiedź od serwera nadrzędnego.Odwrotne proxy nie mogło dotrzeć do backendu.
Service UnavailableSerwer chwilowo nie może obsłużyć żądania.Konserwacja, przeciążenie albo niedostępna usługa zależna.
Gateway TimeoutBrama lub proxy nie otrzymała odpowiedzi na czas od serwera nadrzędnego.Backend działał zbyt długo i proxy się poddało.
HTTP Version Not SupportedSerwer nie obsługuje wersji HTTP z żądania.Klient mówiący wersją protokołu, której serwer nigdy nie poznał.
Variant Also NegotiatesPrzejrzyste negocjowanie treści skończyło się odwołaniem cyklicznym.Źle skonfigurowany serwer prowadzący eksperymentalne negocjowanie treści.
Insufficient StorageSerwer nie może przechować reprezentacji potrzebnej do zrealizowania żądania.Serwer WebDAV, któremu przydzielona przestrzeń dyskowa jest pełna.
Loop DetectedSerwer wpadł w nieskończoną pętlę podczas przetwarzania żądania.Powiązanie WebDAV odwołujące się do siebie samego.
Network Authentication RequiredKlient musi uwierzytelnić się w sieci, aby uzyskać dostęp.Portal captive w hotelu lub na lotnisku przechwytujący żądanie.