Szukaj…


Wprowadzenie

W HTTP kody stanu są mechanizmem do odczytu maszynowego wskazującym wynik wcześniej wysłanego żądania. Z RFC 7231, ust. 6 : „Element kod statusu jest trzycyfrowym kodem całkowitym, dającym wynik próby zrozumienia i spełnienia żądania.”

Gramatyka formalna pozwala, aby kody zawierały się w przedziale od 000 do 999 . Jednak tylko zakres od 100 do 599 ma przypisane znaczenie.

Uwagi

HTTP / 1.1 definiuje liczbę liczbowych kodów statusu HTTP, które pojawiają się w linii statusu - pierwszej linii odpowiedzi HTTP - aby podsumować, co klient powinien zrobić z odpowiedzią.

Pierwsza cyfra kodów statusu określa klasę odpowiedzi:

W praktyce nie zawsze łatwo jest wybrać najbardziej odpowiedni kod statusu.

500 wewnętrzny błąd serwera

Wewnętrzny błąd serwera HTTP 500 to ogólny komunikat oznaczający, że serwer napotkał coś nieoczekiwanego. Aplikacje (lub nadrzędny serwer WWW) powinny używać 500, gdy wystąpi błąd podczas przetwarzania żądania - tzn. Zgłoszony zostanie wyjątek lub stan zasobu uniemożliwia zakończenie procesu.

Przykładowa linia statusu:

HTTP/1.1 500 Internal Server Error

404 Nie Znaleziono

Nie znaleziono HTTP 404 oznacza, że serwer nie mógł znaleźć ścieżki przy użyciu identyfikatora URI, którego żądał klient.

HTTP/1.1 404 Not Found

Najczęściej żądany plik był usuwany, ale czasami może to być błędna konfiguracja katalogu głównego dokumentu lub brak uprawnień (chociaż brak uprawnień częściej powoduje HTTP 403 Forbidden).

Na przykład usługi IIS firmy Microsoft zapisują 404.0 (0 to status podrzędny) do plików dziennika, gdy żądany plik został usunięty. Ale gdy przychodzące żądanie jest blokowane przez reguły filtrowania żądań, zapisuje pliki 404,5-404,19 w dziennikach, zgodnie z którymi reguła blokuje żądanie. Bardziej szczegółowe odniesienie do kodu błędu można znaleźć w dziale pomocy technicznej Microsoft .

Odmowa dostępu do chronionych plików

Użyj opcji 403 Zabronione, gdy klient zażądał zasobu, który jest niedostępny z powodu istniejących kontroli dostępu. Na przykład, jeśli Twoja aplikacja ma trasę /admin która powinna być dostępna tylko dla użytkowników z uprawnieniami administracyjnymi, możesz użyć 403, gdy zwykły użytkownik zażąda strony.

GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden

Pomyślna prośba

Wyślij odpowiedź HTTP z kodem stanu 200 aby wskazać pomyślne żądanie. Linia statusu odpowiedzi HTTP to:

HTTP/1.1 200 OK

Tekst statusu OK ma jedynie charakter informacyjny. Treść odpowiedzi (ładunek komunikatu) powinna zawierać reprezentację żądanego zasobu. Jeśli nie ma reprezentacji 201 Nie należy używać treści.

Odpowiadanie na warunkowe żądanie zawartości w pamięci podręcznej

Wyślij status odpowiedzi 304 niezmodyfikowanej z serwera, wyślij w odpowiedzi na żądanie klienta zawierające nagłówki If-Modified-Since i If-None-Match , jeśli zasób żądania nie zmienił się.

Na przykład jeśli żądanie klienta dotyczące strony internetowej zawiera nagłówek If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT a strona nie była odtąd modyfikowana, odpowiedz wierszem stanu HTTP/1.1 304 Not Modified

Top 10 kodów stanu HTTP

2xx Sukces

  • 200 OK - standardowa odpowiedź na pomyślne żądanie HTTP.
  • 201 Utworzono - Żądanie zostało spełnione, w wyniku czego utworzono nowy zasób.
  • 204 Brak treści - Serwer pomyślnie przetworzył żądanie i nie zwraca żadnej treści.

3xx Przekierowanie

  • 304 Niezmodyfikowane - wskazuje, że zasób nie został zmodyfikowany od wersji określonej przez nagłówki żądania If-Modified-Since lub If-None-Match .

4xx Błąd klienta

  • 400 Nieprawidłowe żądanie - serwer nie może przetworzyć żądania z powodu widocznego błędu klienta (np. Źle sformułowana składnia żądania, zbyt duży rozmiar, nieprawidłowe sformułowanie komunikatu żądania lub oszukańczy routing żądania).
  • 401 Nieautoryzowane - podobne do 403 Zabronione , ale specjalnie do użytku, gdy uwierzytelnienie jest wymagane i nie powiodło się lub nie zostało jeszcze dostarczone. Odpowiedź musi zawierać pole nagłówka WWW-Authenticate zawierające wyzwanie mające zastosowanie do żądanego zasobu.
  • 403 Zabronione - żądanie było prawidłowe, ale serwer odmawia odpowiedzi na nie. Użytkownik może być zalogowany, ale nie ma niezbędnych uprawnień do zasobu.
  • 404 Nie znaleziono - Żądany zasób nie został znaleziony, ale może być dostępny w przyszłości. Kolejne żądania klienta są dopuszczalne.
  • 409 Konflikt - wskazuje, że nie można przetworzyć żądania z powodu konfliktu w żądaniu, takiego jak konflikt edycji między wieloma jednoczesnymi aktualizacjami.

5xx Błąd serwera

  • 500 Internal Server Error - Ogólny komunikat o błędzie, wyświetlany, gdy napotkano nieoczekiwany warunek i nie jest odpowiedni bardziej szczegółowy komunikat.


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow