Kod odpowiedzi HTTP
Wygląd
Kod odpowiedzi HTTP – numeryczna dana wysyłana przez serwer HTTP do aplikacji klienta. Informuje o sposobie realizacji (bądź jej braku) zapytania klienckiego. Znajduje się na początku odpowiedzi, tuż za wersją protokołu HTTP i przed słownym opisem kodu odpowiedzi, np. HTTP/1.1 400 Bad Request
Kody odpowiedzi protokołu HTTP 1.1 wraz z opisem
[edytuj | edytuj kod]Kody informacyjne
[edytuj | edytuj kod]kod | opis słowny | znaczenie/zwrócony zasób |
---|---|---|
100 | Continue | Kontynuuj – prośba o dalsze wysyłanie zapytania |
101 | Switching Protocols | Zmiana protokołu |
103 | Early Hints | Używane do zwracania niektórych nagłówków odpowiedzi przed końcową wiadomością HTTP.[1] |
110 | Connection Timed Out | Przekroczono czas połączenia. Serwer zbyt długo nie odpowiada. |
111 | Connection refused | Serwer odrzucił połączenie |
Kody powodzenia
[edytuj | edytuj kod]kod | opis słowny | znaczenie/zwrócony zasób |
---|---|---|
200 | OK | Zawartość żądanego dokumentu (najczęściej zwracany nagłówek odpowiedzi w komunikacji WWW Internetu) |
201 | Created | Utworzono – wysłany dokument został zapisany na serwerze |
202 | Accepted | Przyjęto – zapytanie zostało przyjęte do obsłużenia, lecz jego zrealizowanie jeszcze się nie skończyło |
203 | Non-Authoritative Information | Informacja nieautorytatywna – zwrócona informacja nie odpowiada dokładnie odpowiedzi pierwotnego serwera, lecz została utworzona z lokalnych bądź zewnętrznych kopii |
204 | No content | Brak zawartości – serwer zrealizował zapytanie klienta i nie potrzebuje zwracać żadnej treści |
205 | Reset Content | Przywróć zawartość – serwer zrealizował zapytanie i klient powinien przywrócić pierwotny wygląd dokumentu |
206 | Partial Content | Część zawartości – serwer zrealizował tylko część zapytania typu GET, odpowiedź musi zawierać nagłówek Content-Range informujący o zakresie bajtowym zwróconego elementu
|
Kody przekierowania
[edytuj | edytuj kod]kod | opis słowny | znaczenie/zwrócony zasób |
---|---|---|
300 | Multiple Choices | Wiele możliwości – istnieje więcej niż jeden sposób obsłużenia danego zapytania, serwer może podać adres zasobu, który pozwala na wybór jednoznacznego zapytania spośród możliwych |
301 | Moved Permanently | Trwale przeniesiony – żądany zasób zmienił swój URI i w przyszłości zasób powinien być szukany pod wskazanym nowym adresem |
302 | Found | Znaleziono – żądany zasób jest chwilowo dostępny pod innym adresem, a przyszłe odwołania do zasobu powinny być kierowane pod adres pierwotny |
303 | See Other | Zobacz inne – odpowiedź na żądanie znajduje się pod innym URI i tam klient powinien się skierować. To jest właściwy sposób przekierowywania w odpowiedzi na żądanie metodą POST. |
304 | Not Modified | Nie zmieniono – zawartość zasobu nie podległa zmianie według warunku przekazanego przez klienta (np. data ostatniej wersji zasobu pobranej przez klienta – pamięć podręczna przeglądarki) |
305 | Use Proxy | Użyj serwera proxy – do żądanego zasobu trzeba odwołać się przez serwer proxy podany w nagłówku Location odpowiedzi
|
306 | Switch Proxy | Kod nieużywany, aczkolwiek zastrzeżony dla starszych wersji protokołu |
307 | Temporary Redirect | Tymczasowe przekierowanie – żądany zasób znajduje się chwilowo pod innym adresem URI, odpowiedź powinna zawierać zmieniony adres zasobu, na który klient zobowiązany jest się przenieść |
310 | Too many redirects | Zbyt wiele przekierowań. |
Kody błędu aplikacji klienta
[edytuj | edytuj kod]kod | opis słowny | znaczenie/zwrócony zasób |
---|---|---|
400 | Bad Request | Nieprawidłowe zapytanie – żądanie nie może być obsłużone przez serwer z powodu nieprawidłowości postrzeganej jako błąd użytkownika (np. błędna składnia zapytania) |
401 | Unauthorized | Nieautoryzowany dostęp – żądanie zasobu, który wymaga uwierzytelnienia |
402 | Payment Required | Wymagana opłata – odpowiedź zarezerwowana na przyszłość. Google Developers API korzysta z tego kodu, jeśli dany programista przekroczył dzienny limit zapytań[2]. |
403 | Forbidden | Zabroniony – serwer zrozumiał zapytanie, jednak konfiguracja bezpieczeństwa zabrania mu zwrócić żądany zasób |
404 | Not Found | Nie znaleziono – serwer nie odnalazł zasobu według podanego URL ani niczego, co by wskazywało na istnienie takiego zasobu w przeszłości |
405 | Method Not Allowed | Niedozwolona metoda – metoda zawarta w żądaniu nie jest dozwolona dla wskazanego zasobu, odpowiedź zawiera też listę dozwolonych metod |
406 | Not Acceptable | Niedozwolone – zażądany zasób nie jest w stanie zwrócić odpowiedzi mogącej być obsłużonej przez klienta według informacji podanych w zapytaniu |
407 | Proxy Authentication Required | Wymagane uwierzytelnienie do serwera pośredniczącego (ang. proxy) – analogicznie do kodu 401, dotyczy dostępu do serwera proxy |
408 | Request Timeout | Koniec czasu oczekiwania na żądanie – klient nie przesłał zapytania do serwera w określonym czasie |
409 | Conflict | Konflikt – żądanie nie może być zrealizowane, ponieważ występuje konflikt z obecnym statusem zasobu, ten kod odpowiedzi jest zwracany tylko w przypadku podejrzewania przez serwer, że klient może znaleźć przyczyny błędu i przesłać ponownie prawidłowe zapytanie. Odpowiedź serwera powinna zawierać informację umożliwiające klientowi rozwiązanie problemu, jednak nie jest to obowiązkowe (np. przesłanie 2 razy identycznego dokumentu kiedy wymagana jest unikalność). |
410 | Gone | Zniknął (usunięto) – zażądany zasób nie jest dłużej dostępny i nieznany jest jego ewentualny nowy adres URI; klient powinien już więcej nie odwoływać się do tego zasobu |
411 | Length required | Wymagana długość – serwer odmawia zrealizowania zapytania ze względu na brak nagłówka Content-Length w zapytaniu; klient może powtórzyć zapytanie dodając doń poprawny nagłówek długości
|
412 | Precondition Failed | Warunek wstępny nie może być spełniony – serwer nie może spełnić przynajmniej jednego z warunków zawartych w zapytaniu |
413 | Request Entity Too Large | Encja zapytania zbyt długa – całkowita długość zapytania jest zbyt długa dla serwera |
414 | Request-URI Too Long | Adres URI zapytania zbyt długi – długość zażądanego URI jest większa niż maksymalna oczekiwana przez serwer |
415 | Unsupported Media Type | Nieznany sposób żądania – serwer odmawia przyjęcia zapytania, ponieważ jego składnia jest niezrozumiała dla serwera |
416 | Requested Range Not Satisfiable | Zakres bajtowy podany w zapytaniu nie do obsłużenia – klient podał w zapytaniu zakres, który nie może być zastosowany do wskazanego zasobu |
417 | Expectation Failed | Oczekiwana wartość nie do zwrócenia – oczekiwanie podane w nagłówku Expect żądania nie może być spełnione przez serwer lub – jeśli zapytanie realizuje serwer proxy – serwer ma dowód, że oczekiwanie nie będzie spełnione przez następny w łańcuchu serwer realizujący zapytanie
|
418 | I’m a teapot | „Jestem czajnikiem” – tzw. easter egg. Zdefiniowany w 1998. Obecnie nie jest implementowany do serwerów HTTP, ale znane są takie przypadki[3][4] |
421 | Misdirected Request | Zapytanie zostało skierowane do serwera, który nie powinien go otrzymać lub który nie jest w stanie na nie odpowiedzieć.[5] |
422 | Unprocessable entity | Zapytanie było poprawnie sformułowane, ale było niemożliwe do kontynuowania z powodu semantycznych błędów. |
423 | Locked (WebDAV) | Próba uzyskania dostępu do zasobu, który jest aktualnie zablokowany.[5] |
424 | Failed Dependency (WebDAV) | Brak powodzenia żądania, ponieważ jest ono zależne od innego żądania, które również nie powiodło się.[5] |
425 | Too Early | Serwer nie chce ryzykować przetwarzania żądania, które może zostać powtórzone ze względu na ryzyko ataku typu Replay.[5] |
426 | Upgrade Required | Serwer odmawia wykonania żądania używając aktualnego protokołu. Wymagany protokół dla klienta przekazany jest w nagłówku Upgrade.[5] |
428 | Precondition Required | Brak nagłówka wstępnego, który jest wymagany przez serwer. Żądanie musi być warunkowe.[5] |
429 | Too Many Requests | Użytkownik wysłał za wiele żądań w danym czasie. |
431 | Request Header Fields Too Large | Serwer odmawia wykonania żądania ze względu na zbyt duże pole lub pola nagłówka.[5] |
451 | Unavailable For Legal Reasons | Zawartość niedostępna z powodów prawnych – strona lub zasób zostały zablokowane z powodów naruszenia prawa, w tym także z powodu ocenzurowania zawartości przez władze. Wartość kodu jest nawiązaniem do powieści „451 stopni Fahrenheita”. |
Kody błędu serwera HTTP
[edytuj | edytuj kod]kod | opis słowny | znaczenie/zwrócony zasób |
---|---|---|
500 | Internal Server Error | Wewnętrzny błąd serwera – serwer napotkał niespodziewane trudności, które uniemożliwiły zrealizowanie żądania |
501 | Not Implemented | Nie zaimplementowano – serwer nie dysponuje funkcjonalnością wymaganą w zapytaniu; ten kod jest zwracany, gdy serwer otrzymał nieznany typ zapytania |
502 | Bad Gateway | Błąd bramy – serwer – spełniający rolę bramy lub pośrednika – otrzymał niepoprawną odpowiedź od serwera nadrzędnego i nie jest w stanie zrealizować żądania klienta |
503 | Service Unavailable | Usługa niedostępna – serwer nie jest w stanie w danej chwili zrealizować zapytania klienta ze względu na przeciążenie |
504 | Gateway Timeout | Przekroczony czas bramy – serwer – spełniający rolę bramy lub pośrednika – nie otrzymał w ustalonym czasie odpowiedzi od wskazanego serwera HTTP, FTP, LDAP itp. lub serwer DNS jest potrzebny do obsłużenia zapytania |
505 | HTTP Version Not Supported | Nieobsługiwana wersja HTTP – serwer nie obsługuje bądź odmawia obsługi wskazanej przez klienta wersji HTTP |
506 | Variant Also Negotiates[6] | Wariant również negocjuje (w wolnym tłumaczeniu) |
507 | Insufficient Storage (WebDAV)[7] | Serwer nie jest w stanie zapisać danych związanych z wykonaniem zapytania |
508 | Loop Detected (WebDAV)[8] | Serwer wykrył nieskończoną pętlę w trakcie przetwarzania zapytania |
509 | Bandwidth Limit Exceeded | Serwer jest tymczasowo niedostępny, ponieważ właściciel strony przekroczył limit transferu danych. |
510 | Not Extended[9] | Brak rozszerzenia HTTP koniecznego do obsługi danego zapytania |
511 | Network Authentication Required[10] | Wymagane uwierzytelnienie przed otrzymaniem dostępu do sieci. W zamyśle wykorzystywane przez pośredników kontrolujących dostęp do sieci (np.: wymaganie potwierdzenia zasad użytkowania przed udostępnieniem połączenia). |
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ 103 Early Hints - HTTP | MDN [online], developer.mozilla.org, 8 sierpnia 2024 [dostęp 2024-08-19] (ang.).
- ↑ Google: Google API Standard Error Responses. 2016-07-13. [dostęp 2017-06-21].
- ↑ HTTP 418 zaimplementowane na BBC CBeebies (Internet Archive). bbc.co.uk. [zarchiwizowane z tego adresu (2012-06-24)]..
- ↑ Implementacja błędu 418 przez Google.
- ↑ a b c d e f g Autor: Sirius Pro , Błąd Failed to load Resource w WordPressie [4xx i 5xx] ‹ Blog Sirius Pro [online], Blog Sirius Pro, 26 lipca 2020 [dostęp 2020-07-28] (pol.).
- ↑ RFC 2295 ↓, s. 25.
- ↑ RFC 4918 ↓, s. 79.
- ↑ RFC 5842 ↓, s. 34.
- ↑ RFC 2774 ↓, s. 11.
- ↑ RFC 6585 ↓, s. 4.
Linki zewnętrzne
[edytuj | edytuj kod]- K. Holtman , A. Mutz , Transparent Content Negotiation in HTTP, RFC 2295, IETF, marzec 1998, DOI: 10.17487/RFC2295, ISSN 2070-1721, OCLC 943595667 (ang.).
- H. Nielsen , P. Leach , S. Lawrence , An HTTP Extension Framework, RFC 2774, IETF, luty 2000, DOI: 10.17487/RFC2774, ISSN 2070-1721, OCLC 943595667 (ang.).
- L. Dusseault , HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), RFC 4918, IETF, czerwiec 2007, DOI: 10.17487/RFC4918, ISSN 2070-1721, OCLC 943595667 (ang.).
- G. Clemm i inni, Binding Extensions to Web Distributed Authoring and Versioning (WebDAV), RFC 5842, IETF, kwiecień 2010, DOI: 10.17487/RFC5842, ISSN 2070-1721, OCLC 943595667 (ang.).
- M. Nottingham , R. Fielding , Additional HTTP Status Codes, RFC 6585, IETF, kwiecień 2012, DOI: 10.17487/RFC6585, ISSN 2070-1721, OCLC 943595667 (ang.).
- RFC 2616 sekcja 10. „Status Code Definitions”