# Kody statusu HTTP

- Canonical: https://asgru.com/pl/kody-statusu-http/
- Language: pl
- Author: asgru
- Published: 2024-06-24T12:58:02+02:00
- Updated: 2026-09-14T09:48:09+02:00

Kody statusu HTTP to standardowe kody używane przez serwery internetowe do informowania klienta (np. przeglądarki) o wynikach jego żądań. Kody te są zdefiniowane w specyfikacjach HTTP i służą do określania stanu żądanego zasobu oraz przekazywania informacji o działaniach, które należy podjąć, aby zrealizować żądanie.

## Historia i cel

Kody statusu HTTP zostały wprowadzone do specyfikacji HTTP, aby zapewnić ustandaryzowany sposób komunikacji między serwerami internetowymi a klientami. Kody te pomagają automatyzować obsługę błędów, kierować dalszymi działaniami klienta i dostarczać informacje diagnostyczne. Rozróżniają żądania udane i nieudane, przekierowania oraz wskazują konkretne problemy.

## Struktura i zakresy kodów statusu

Kody statusu HTTP są liczbami trzycyfrowymi. Pierwsza cyfra określa klasę statusu, wskazując ogólny typ odpowiedzi. Istnieje pięć klas statusów:

- 1xx: Odpowiedzi informacyjne

Kody te wskazują, że żądanie zostało odebrane, a proces jest kontynuowany.

- 2xx: Pomyślne odpowiedzi

Kody te wskazują, że żądanie zostało pomyślnie odebrane, zrozumiane i zaakceptowane.

- 3xx: Przekierowanie

Kody te wskazują, że klient musi podjąć dalsze działania, aby zrealizować żądanie.

- 4xx: Błędy klienta

Kody te wskazują błędy spowodowane nieprawidłowymi żądaniami klienta.

- 5xx: Błędy serwera

Kody te wskazują błędy spowodowane awariami po stronie serwera.

### Szczegółowy opis kodów statusu

#### 1xx: Odpowiedzi informacyjne

- 100 Continue: Serwer otrzymał początkową część żądania, a klient powinien je kontynuować.

- 101 Switching Protocols: Serwer zgadza się na zmianę protokołów zgodnie z żądaniem klienta.

- 102 Processing: Serwer zaakceptował żądanie, ale przetwarzanie nie zostało ukończone.

#### 2xx: Pomyślne odpowiedzi

- 200 OK: Żądanie zostało pomyślnie przetworzone, a serwer zwrócił żądany zasób.

- 201 Created: Żądanie zostało pomyślnie zrealizowane i utworzono nowy zasób.

- 202 Accepted: Żądanie zostało zaakceptowane do przetworzenia, ale przetwarzanie nie zostało ukończone.

- 203 Non-Authoritative Information: Żądanie zostało pomyślnie przetworzone, ale informacje pochodzą z innego źródła.

- 204 No Content: Żądanie zostało pomyślnie przetworzone, ale odpowiedź nie zawiera treści do wysłania.

- 205 Reset Content: Żądanie zostało pomyślnie przetworzone, a klient powinien zresetować widok.

- 206 Partial Content: Serwer zwraca część treści w odpowiedzi na żądanie zakresu.

#### 3xx: Przekierowanie

- 300 Multiple Choices: Żądanie może zostać zrealizowane na kilka sposobów.

- 301 Moved Permanently: Żądany zasób został trwale przeniesiony pod nowy adres URL.

- 302 Found: Żądany zasób jest tymczasowo dostępny pod innym adresem URL.

- 303 See Other: Zasób należy pobrać za pomocą żądania GET pod innym adresem URL.

- 304 Not Modified: Żądany zasób nie został zmodyfikowany od czasu ostatniego żądania.

- 305 Use Proxy: Dostęp do żądanego zasobu musi odbywać się przez serwer proxy.

- 307 Temporary Redirect: Żądany zasób jest tymczasowo dostępny pod innym adresem URL.

- 308 Permanent Redirect: Żądany zasób został trwale przeniesiony pod nowy adres URL.

#### 4xx: Błędy klienta

- 400 Bad Request: Serwer nie może przetworzyć żądania z powodu błędu klienta.

- 401 Unauthorized: Aby uzyskać dostęp do zasobu, wymagane jest uwierzytelnienie.

- 402 Payment Required: Kod jest zarezerwowany do przyszłego użycia.

- 403 Forbidden: Serwer odmawia realizacji żądania.

- 404 Not Found: Nie można odnaleźć żądanego zasobu.

- 405 Method Not Allowed: Metoda żądania nie jest dozwolona dla żądanego zasobu.

- 406 Not Acceptable: Żądany zasób nie może zostać dostarczony w akceptowalnym formacie.

- 407 Proxy Authentication Required: Wymagane jest uwierzytelnienie serwera proxy.

- 408 Request Timeout: Upłynął limit czasu żądania.

- 409 Conflict: Żądanie nie może zostać przetworzone z powodu konfliktu z bieżącym stanem zasobu.

- 410 Gone: Żądany zasób nie jest już dostępny i nie będzie dostępny ponownie.

- 411 Length Required: Żądanie musi określać długość treści.

- 412 Precondition Failed: Warunek wstępny w nagłówkach żądania jest fałszywy.

- 413 Payload Too Large: Encja żądania jest większa, niż serwer chce lub może przetworzyć.

- 414 URI Too Long: Identyfikator URI żądania jest zbyt długi.

- 415 Unsupported Media Type: Encja żądania ma typ nośnika, którego serwer lub zasób nie obsługuje.

- 416 Range Not Satisfiable: Klient zażądał części pliku, ale serwer nie może dostarczyć tej części.

- 417 Expectation Failed: Serwer nie może spełnić wymagań pola nagłówka żądania Expect.

- 418 I’m a teapot: Żartobliwy kod wprowadzony w RFC 2324.

#### 5xx: Błędy serwera

- 500 Internal Server Error: Ogólny komunikat o błędzie, gdy serwer napotka nieoczekiwany stan.

- 501 Not Implemented: Serwer nie obsługuje funkcjonalności wymaganej do realizacji żądania.

- 502 Bad Gateway: Serwer otrzymał nieprawidłową odpowiedź od serwera nadrzędnego.

- 503 Service Unavailable: Serwer jest obecnie niedostępny.

- 504 Gateway Timeout: Serwer nie otrzymał odpowiedzi w odpowiednim czasie od serwera nadrzędnego.

- 505 HTTP Version Not Supported: Wersja HTTP użyta w żądaniu nie jest obsługiwana przez serwer.

- 506 Variant Also Negotiates: Przezroczysta negocjacja treści dla żądania prowadzi do odwołania cyklicznego.

- 507 Insufficient Storage: Serwer nie może przechować reprezentacji potrzebnej do realizacji żądania.

- 508 Loop Detected: Serwer wykrył nieskończoną pętlę podczas przetwarzania żądania.

- 510 Not Extended: Aby serwer mógł zrealizować żądanie, wymagane są dalsze rozszerzenia żądania.

- 511 Network Authentication Required: Aby uzyskać dostęp do sieci, wymagane jest uwierzytelnienie.

## Podsumowanie

Kody statusu HTTP odgrywają kluczową rolę w działaniu aplikacji i usług internetowych. Zapewniają ustandaryzowaną komunikację między serwerami a klientami, pomagając zarządzać przepływem danych i obsługiwać błędy. Zrozumienie tych kodów jest niezbędne dla programistów i administratorów, ponieważ umożliwia skuteczne rozwiązywanie problemów oraz optymalizację zasobów internetowych.
