Narzędzie dla programistów

Kody statusu HTTP

Szukaj według numeru lub nazwy. Co oznacza każdy kod i kiedy go używać.

Kody statusu HTTP Działa na twoim urządzeniu
  • Działa w przeglądarce — twój tekst nigdy nie jest nigdzie wysyłany
  • Bez rejestracji, bez limitów, za darmo, tak często, jak chcesz

Jak to działa

Większość kodów statusu jest oczywista, a kilka naprawdę myli — zwłaszcza te, które brzmią podobnie. Wpisz numer, słowo takie jak forbidden albo 4xx, by zobaczyć całą klasę.

401 i 403, para, którą wszyscy mylą

401 Unauthorized w rzeczywistości oznacza brak uwierzytelnienia: serwer nie wie, kim jesteś, a wysłanie danych logowania może pomóc. 403 Forbidden oznacza, że dokładnie wie, kim jesteś, i mimo to nie masz dostępu. Nazwy są historyczne i nieprzydatne; różnica ma znaczenie, bo jedno zaprasza do zalogowania się, a drugie nie.

301 kontra 302 i dlaczego ma to znaczenie dla SEO

301 jest na stałe i przenosi sygnały rankingowe na nowy adres. 302 jest tymczasowy i zostawia je na oryginalnym. Użycie 302 przy trwałym przeniesieniu to częsty i po cichu kosztowny błąd. 307 i 308 to nowoczesne odpowiedniki, które dodatkowo gwarantują, że metoda się nie zmieni — POST pozostaje POST-em, czego 301 i 302 historycznie nie robiły.

422 dla walidacji

400 Bad Request oznacza, że serwer w ogóle nie zrozumiał żądania. 422 Unprocessable Content oznacza, że zrozumiał je doskonale, a jego zawartość jest błędna — brakujące pole, nieprawidłowy adres e-mail. Większość API powinna zwracać 422 przy błędach walidacji, a zwraca 400 z przyzwyczajenia.

Klasy

1xx informacyjne, 2xx powodzenie, 3xx przekierowanie, 4xx wina klienta, 5xx wina serwera. Ten ostatni podział jest tym, po który sięga się, gdy trzeba ustalić winę w incydencie: skok 4xx oznacza, że wywołujący robią coś źle, skok 5xx oznacza, że to ty.

418

I'm a teapot, z prima aprilis w 1998 roku, później ustandaryzowany na poważnie, gdy próba usunięcia go z implementacji wywołała oburzenie. Nie służy do rzeczywistego użytku i jest autentyczną częścią specyfikacji.

FAQ

Kody statusu HTTP — pytania

Czym różni się 401 od 403?

401 oznacza brak uwierzytelnienia — serwer nie wie, kim jesteś. 403 oznacza, że wie, a mimo to nie masz dostępu.

Użyć 301 czy 302?

301 dla przeniesienia na stałe, które przenosi pozycję w wyszukiwarce. 302 dla tymczasowego. Użyj 308 i 307, jeśli metoda HTTP nie może się zmienić.

Jaki kod powinien zwracać błąd walidacji?

422 Unprocessable Content. 400 oznacza, że żądania w ogóle nie dało się zrozumieć.

Czy 418 jest prawdziwy?

Tak. Zaczął się jako prima aprilis z 1998 roku i naprawdę jest ustandaryzowany, choć nie do rzeczywistego użytku.

Co oznacza 502?

Proxy otrzymało nieprawidłową odpowiedź od serwera, który stoi za nim — zwykle aplikacja nie działa lub ulega awarii.