Kod

Błędy HTTP: Definicje kodów i pełna lista statusów

Błędy HTTP: Definicje kodu i kompletna lista statusów

Program szkoleniowy z gwarancją zatrudnienia: «Web Rozwój»

Dowiedz się więcej

Jeśli kiedykolwiek widziałeś błąd 404 w przeglądarce internetowej, to znasz już kody HTTP. Służą one do wyjaśnienia, w jaki sposób serwer obsłużył żądanie i jakie przeszkody napotkał podczas próby otwarcia witryny lub załadowania informacji.

Istnieje wiele kodów opisujących różne sytuacje, takie jak błędy serwera, konieczność opłacenia subskrypcji w celu uzyskania dostępu do zasobu, ograniczenia nałożone przez kontrolę rodzicielską i wiele innych.

W tym artykule przyjrzymy się najczęstszym kodom HTTP i wyjaśnimy ich znaczenie.

Spis treści

  • Czym są kody HTTP
  • Kody stanu HTTP należące do kategorii 1xx to komunikaty informacyjne. Kody te powiadamiają klienta, że ​​jego żądanie zostało zaakceptowane i jest przetwarzane, ale nie zostało jeszcze ukończone. Na przykład kod 100 oznacza, że ​​serwer jest gotowy do kontynuowania przetwarzania żądania, a kod 101 sygnalizuje, że serwer zaakceptował proponowaną przez klienta zmianę protokołu. Te komunikaty pomagają nawiązać efektywniejszą komunikację między klientem a serwerem, dostarczając z wyprzedzeniem informacje o postępie żądania.
  • Kody sukcesu HTTP, należące do kategorii 2xx, oznaczają, że żądanie klienta zostało przetworzone poprawnie i bez błędów. Kody te potwierdzają pomyślne zakończenie operacji zainicjowanych przez użytkownika i mogą obejmować wartości takie jak 200 (OK), 201 (Utworzono), 204 (Brak zawartości) i inne, z których każda ma swoje własne cechy i przeznaczenie w zależności od kontekstu żądania i działania wykonanego przez serwer.
  • Przekierowania to kody HTTP należące do grupy 3xx.
  • Błędy występujące z winy klienta są klasyfikowane jako kody HTTP 4xx.
  • Błędy występujące na serwerze są oznaczane kodami HTTP 5xx.

Czym są kody HTTP

Kody stanu HTTP to trzycyfrowe odpowiedzi numeryczne wysyłane przez serwer w odpowiedzi na żądanie klienta, np. z przeglądarki internetowej. Kody te dostarczają informacji o tym, jak serwer obsłużył żądanie: czy zostało ono pomyślnie obsłużone, czy wystąpił błąd.

Kody HTTP są ważnym narzędziem dla programistów do diagnozowania wydajności serwera. Dostarczają informacji o sposobie przetwarzania żądań i miejscach, w których mogą wystąpić problemy. Użytkownicy napotykają te kody w postaci komunikatów o błędach, takich jak „404 – Nie znaleziono strony” lub „500 – Wewnętrzny błąd serwera”. Te kody służą do szybkiego określenia charakteru problemu i rozpoczęcia procesu jego rozwiązywania.

Kod błędu 404 w serwisie GitHubZrzut ekranu: GitHub / Skillbox Media

Kody HTTP mają bezpośredni wpływ na działania robotów wyszukiwarek. Na przykład, gdy strona zwraca kod statusu 404, sygnalizuje to wyszukiwarkom, że strona nie istnieje i jest wykluczana z indeksowania.

Przyjrzyjmy się kluczowym kodom statusu HTTP i ich interpretacji, zgodnie z opisem w dokumentach takich jak RFC 9110, RFC 4918, RFC 6585 i RFC 2324.

Kody statusu HTTP 1xx: Powiadomienia tymczasowe

Te kody wskazują, że żądanie zostało zaakceptowane i serwer kontynuuje nad nim pracę. Użytkownicy zazwyczaj nie widzą tych kodów w swoich przeglądarkach.

Kontynuuj.

Serwer przetworzył początkową część żądania i jest teraz gotowy do odbioru głównej treści. Ten kod jest używany w przypadkach, gdy klient najpierw przesyła nagłówki, a następnie, po otrzymaniu potwierdzenia od serwera, wysyła główną zawartość, taką jak duży plik. Pozwala to uniknąć zbędnego przesyłania danych.

101 Przełączanie protokołów: Zmiana protokołu

Serwer potwierdza zgodę na przełączenie na nowy protokół, który jest określony w nagłówku Upgrade. Ten kod jest używany w szczególności podczas zmiany protokołu z HTTP na WebSocket: gdy klient inicjuje żądanie zmiany protokołu, serwer odpowiada statusem 101, po czym komunikacja jest kontynuowana przy użyciu nowego protokołu.

102 Przetwarzanie: Proces w toku

Serwer pomyślnie odbiera i przetwarza żądanie, ale operacja zajmuje trochę czasu. Ten kod ma na celu uniknięcie przekroczenia limitu czasu po stronie klienta w sytuacjach, gdy działania trwają długo, na przykład pobieranie dużego pliku.

103 Wczesne wskazówki: Odpowiedź tymczasowa

Serwer może wysłać informacje do przeglądarki przed otrzymaniem pełnej odpowiedzi. Najczęściej są to wstępne nagłówki zawierające dane o zasobach, które przeglądarka musi pobrać, takich jak style CSS, skrypty JavaScript lub czcionki. Następnie, po zakończeniu pobierania, serwer przekazuje główną odpowiedź.

105 Nie można rozwiązać nazwy: Błąd rozwiązywania nazwy.

Ten komunikat o błędzie wskazuje, że serwer nie mógł rozwiązać nazwy domeny, ponieważ zapytanie DNS nie dostarczyło adresu IP. Możliwe przyczyny tej sytuacji to literówki w pasku adresu, nieprawidłowe ustawienia serwera DNS lub brak dostępu do internetu.

Kody powodzenia żądania HTTP 2xx

Kody z zakresu 2xx wskazują, że żądanie od klienta zostało pomyślnie zaakceptowane, przetworzone i zrealizowane.

200 OK: Powodzenie

Serwer informuje, że żądanie zostało pomyślnie przetworzone i wszystkie wymagane dane zostały przesłane. Ten kod jest używany na przykład podczas ładowania stron internetowych lub pobierania informacji za pośrednictwem interfejsu API.

201 Utworzono: utworzony

Żądanie zostało pomyślnie przetworzone, w wyniku czego serwer utworzył nowy obiekt. Na przykład, gdy użytkownik rejestruje się na stronie internetowej, serwer jednocześnie tworzy dla niego konto.

202 Zaakceptowano: żądanie zostało pomyślnie przetworzone.

Żądanie jest przetwarzane, ale nie zostało jeszcze zakończone. Wynik przetwarzania będzie dostępny później. Ten kod jest używany do wykonywania długotrwałych operacji, takich jak praca z dużymi plikami.

203 Nieautorytatywne: te informacje nie mają statusu autorytatywnego.

Serwer udostępnia dane uzyskane z zewnętrznego źródła, ale zawiera zastrzeżenie, że informacje te mogą być niekompletne lub mogą ulec zmianie. Na przykład serwer proxy przekazał informacje, ale nieznacznie je zmodyfikował, wykluczając zbędne nagłówki.

204 Brak zawartości: Brak zawartości.

Żądanie zostało pomyślnie zrealizowane przez serwer, ale odpowiedź nie zawiera treści, tylko nagłówki. Ten kod jest używany w sytuacjach, gdy nie ma potrzeby otrzymywania danych w odpowiedzi, na przykład podczas usuwania elementów za pośrednictwem interfejsu API lub aktualizowania statusu bez zwracania zawartości.

205 Resetuj zawartość: Wyczyść zawartość.

Żądanie zostało pomyślnie przetworzone, a serwer prosi klienta o usunięcie zawartości, co może obejmować na przykład wyczyszczenie formularza. Ten kod jest używany w kontekście interfejsów API REST lub aplikacji internetowych, gdzie konieczne jest przywrócenie interfejsu do stanu początkowego. Na przykład, gdy przesyłasz informacje za pośrednictwem formularza, serwer może wyświetlić w przeglądarce monit o jego zresetowanie po pomyślnym przesłaniu.

206 Częściowa zawartość: Jest to stan, w którym serwer pomyślnie przetwarza żądanie, ale zwraca tylko część oczekiwanych danych. Taka sytuacja może wystąpić na przykład podczas pobierania dużych plików lub przesyłania strumieniowego informacji, gdy klient otrzymuje fragmenty danych w trakcie ich przetwarzania. W związku z tym odpowiedź z kodem 206 oznacza, że ​​żądany zasób został pomyślnie znaleziony, ale przesłany w sposób niekompletny.

Serwer dostarczył część informacji żądanych przez klienta. Ten kod jest przeznaczony do przyrostowego pobierania danych. Na przykład, gdy użytkownik pobiera duży plik i po zatrzymaniu wznawia pobieranie od określonego punktu.

207 Multi-Status to odpowiedź zawierająca wiele statusów.

Serwer może wysyłać wiele odpowiedzi z różnymi statusami dla różnych komponentów tego samego żądania. Ten kod jest używany w protokole WebDAV, który jest używany w systemach zarządzania plikami, takich jak przechowywanie w chmurze.

Odpowiedzi HTTP z kodami 3xx: Mechanizm przekierowania

Kody rozpoczynające się od 3xx wskazują, że klient musi wykonać dodatkowe kroki, aby pomyślnie zrealizować żądanie, najczęściej podążając za określonym adresem URL. Ta wiadomość od serwera informuje, że żądany zasób nie jest już dostępny pod pierwotnym adresem lub został tymczasowo przeniesiony i klient powinien podążać sugerowaną trasą.

300 pytań wielokrotnego wyboru.

Na takie żądanie może odpowiedzieć kilka typów zasobów, a serwer nie wybiera automatycznie jednego z nich — decyzję podejmuje klient. Na przykład, gdy użytkownik odwiedza witrynę umożliwiającą wybór języka, serwer wyświetli listę dostępnych opcji.

301 Przeniesiono na stałe.

Przeniesienie żądanego zasobu do nowego, stałego adresu URI spowoduje zaktualizowanie zakładek przeglądarki i rozpoczęcie używania nowego adresu dla kolejnych żądań.

302 Znaleziono: Znaleziono

Zasób można obecnie znaleźć pod innym adresem URI. Serwer przekierowuje żądanie klienta, ale nie wskazuje, że przeniesienie jest trwałe, dlatego zaleca się dalsze korzystanie z pierwotnego adresu.

Ten kod jest szeroko stosowany w sytuacjach, gdy konieczne jest tymczasowe przekierowanie użytkownika na inną stronę. Może się to zdarzyć na przykład podczas kampanii reklamowych, testów A/B lub podczas pracy z formularzami.

303 Zobacz Inne: dostęp do alternatywnych zasobów.

Serwer informuje, że wynik żądania można znaleźć pod innym adresem URI i sugeruje klientowi wykonanie żądania GET na podany adres. Kod 303 jest często używany do bezpiecznego przekierowania po użyciu metody POST.

Kod jest często używany do przekierowania po przesłaniu formularza: użytkownik wypełnił wymagane pola, ale ostateczne dane będą dostępne pod innym adresem.

304 Bez zmian: zawartość pozostaje niezmieniona.

Serwer informuje klienta, że ​​żądany zasób nie uległ zmianie od ostatniego żądania. Zamiast ponownie wysyłać dane, serwer dostarcza jedynie nagłówki i kod stanu 304, który sygnalizuje, że można użyć wersji z pamięci podręcznej.

Na przykład, gdy użytkownik odwiedza witrynę, serwer stwierdza, że ​​obrazy i style CSS z poprzedniej wizyty są zbuforowane. W rezultacie, zamiast je ponownie pobrać, serwer wysyła komunikat: „Nie zmodyfikowano”.

Kod 305: Użyj serwerów proxy

Ten komunikat systemowy wskazuje, że do uzyskania dostępu do określonego zasobu należy użyć serwera proxy. Ten kod jest uważany za przestarzały i niebezpieczny, a większość nowoczesnych przeglądarek internetowych już go nie obsługuje.

Kod 306: Nieużywany: Zarezerwowany

Kod 306 był przeznaczony we wczesnych wersjach specyfikacji HTTP do wykorzystania w przyszłości. Ten kod pierwotnie miał wskazywać zmianę serwera proxy.

307 Przekierowanie tymczasowe: Oznacza to, że żądany zasób jest tymczasowo dostępny pod innym adresem.

Ten kod stanu jest podobny do kodu 302, ale ma jedną istotną różnicę: gdy następuje przekierowanie, metoda HTTP, taka jak POST lub GET, pozostaje taka sama. Ten kod służy do tymczasowych modyfikacji URI.

Wyobraźmy sobie sytuację, w której mamy witrynę internetową, a niektóre jej podstrony są tymczasowo niedostępne. W takim przypadku możemy użyć kodu 307, aby przekierować odwiedzających na stronę, na której zobaczą komunikat o trwającej konserwacji.

308 Przekierowanie trwałe: Kierunek żądania pozostaje niezmieniony.

Kod stanu 308 oznacza, że ​​żądany zasób został trwale przeniesiony na nowy adres URI i wszystkie przyszłe żądania powinny być kierowane na ten nowy adres. W przeciwieństwie do kodu 301, przekierowanie zachowuje zarówno metodę HTTP, jak i treść żądania, podobnie jak kod 307.

Kody HTTP 4xx: Błędy występujące z powodu błędu klienta

Kody z zakresu 4xx wskazują, że błąd wystąpił z powodu działania klienta. Może to nastąpić na przykład z powodu nieprawidłowego żądania, braku wymaganych praw dostępu lub niezgodności z wymaganiami logiki API.

400 Błędne żądanie: Żądanie nie zostało wykonane poprawnie.

Serwer nie może zrealizować żądania z powodu błędu składni lub niezgodności z zasadami protokołu. Ten kod ogólnego przeznaczenia wskazuje, że żądanie zostało błędnie sformatowane i nie można go zdekodować nawet na poziomie logiki aplikacji.

Przeczytaj także:

Błąd 400 to jeden z najczęściej występujących kodów stanu HTTP. Ten kod wskazuje, że żądanie wysłane przez klienta do serwera zawiera nieprawidłowe dane lub jest nieprawidłowo sformatowane. W rezultacie serwer nie może go poprawnie przetworzyć i zwraca błąd. Błąd 400 może wystąpić z różnych przyczyn. Często jest spowodowany nieprawidłową składnią adresu URL, nieprawidłowymi parametrami zapytania lub niewłaściwymi nagłówkami. Może być również spowodowany tym, że serwer nie rozumie treści żądania, co również może powodować ten błąd. Aby rozwiązać błąd 400, użytkownik zazwyczaj musi wykonać kilka kroków. Po pierwsze, należy sprawdzić wprowadzany adres URL pod kątem literówek lub zbędnych znaków. Po drugie, warto wyczyścić pamięć podręczną przeglądarki i usunąć pliki cookie, ponieważ nieaktualne dane mogą wpływać na poprawność żądania. Jeśli błąd będzie się powtarzał, spróbuj odświeżyć stronę lub użyć innej przeglądarki. Zaleca się również sprawdzenie ustawień sieciowych i, w razie potrzeby, skontaktowanie się z administratorem witryny w celu uzyskania dodatkowych informacji na temat możliwych problemów z serwerem.

401 Nieautoryzowane: Odmowa dostępu

Dostęp do zasobu jest ograniczony, ponieważ użytkownik nie wprowadził prawidłowych danych uwierzytelniających. Na przykład odwiedzili witrynę, ale nie byli zalogowani na swoje konto. Aby rozwiązać ten problem, wystarczy wprowadzić prawidłowe dane logowania.

Przeczytaj również:

Błąd 401 – Nieautoryzowane użycie występuje, gdy dostęp do żądanego zasobu jest ograniczony, a serwer nie może zweryfikować tożsamości użytkownika. Może się to zdarzyć z kilku powodów. Jednym z najczęstszych błędów jest brak lub nieprawidłowe dane uwierzytelniające, takie jak nazwa użytkownika i hasło. Błąd może również wystąpić, jeśli użytkownik nie posiada niezbędnych uprawnień dostępu do zasobu lub jeśli token uwierzytelniający wygasł.

Aby rozwiązać ten problem, warto wykonać kilka kroków. Najpierw sprawdź, czy wprowadzone dane uwierzytelniające są poprawne. Jeśli tak, upewnij się, że masz niezbędne uprawnienia dostępu do zasobu. Jeśli korzystasz z tokenów uwierzytelniających, warto sprawdzić ich poprawność i w razie potrzeby je zaktualizować. Jeśli problem będzie się powtarzał, może być konieczne skontaktowanie się z administratorem systemu lub pomocą techniczną w celu ustalenia, czy występują jakieś ograniczenia lub problemy po stronie serwera.

402 Wymagana płatność: Wymagana jest płatność.

Kod 402 jest przeznaczony dla sytuacji, w których dostęp do zasobu jest przyznawany dopiero po uiszczeniu opłaty. Jednak w praktyce jego użycie jest niezwykle rzadkie i jest uważane za eksperymentalne.

Twórcy specyfikacji HTTP pierwotnie zamierzali używać kodu stanu 402 do oznaczania płatnych treści w zasobach internetowych. Jednak w większości przypadków żądania dotyczące chronionych treści płatnych są przetwarzane przy użyciu kodów 401 i 403.

Odmowa dostępu: Błąd 403.

Serwer przyjął żądanie, ale odmówił jego realizacji, ponieważ dostęp do żądanego zasobu został odmówiony, nawet jeśli klient został uwierzytelniony. W przeciwieństwie do kodu 401, w tym przypadku przyczyną nie jest brak danych uwierzytelniających, ale to, że użytkownik nie ma wystarczających uprawnień dostępu lub że serwer ustawił bezpośrednią blokadę.

Podobny błąd może wystąpić na przykład, gdy użytkownik próbuje uzyskać dostęp do strony przeznaczonej wyłącznie dla administratorów witryny lub otwiera materiały z ograniczeniami regionalnymi.

Czytaj również:

Błąd 403, oznaczający „Odmowa dostępu”, występuje, gdy serwer odmawia dostępu do żądanego zasobu. Może się to zdarzyć z kilku powodów, takich jak niewystarczające uprawnienia użytkownika, konfiguracja serwera lub ograniczenia na poziomie sieci.

Aby rozwiązać ten problem, należy najpierw sprawdzić, czy posiadasz niezbędne uprawnienia dostępu do zasobu. Jeśli masz pewność co do swoich uprawnień, warto sprawdzić ustawienia serwera WWW. Może być konieczne dostosowanie konfiguracji zapory sieciowej lub zezwolenie na dostęp do określonych folderów.

Dobrym pomysłem jest również sprawdzenie, czy oprogramowanie antywirusowe lub sieć VPN nie blokuje dostępu do witryny. W niektórych przypadkach problem może być związany z nieprawidłowymi adresami URL lub nieaktualnymi linkami. Jeśli błąd będzie się powtarzał, należy skontaktować się z administratorem witryny, aby uzyskać więcej informacji na temat przyczyny blokady.

Błąd 404 nie został znaleziony: Żądana strona nie istnieje.

Błąd 404 jest jednym z najczęściej występujących błędów. Oznacza to, że serwer nie może zlokalizować żądanej treści. Może się tak zdarzyć na przykład wtedy, gdy strona została przeniesiona pod inny adres lub całkowicie usunięta.

Przeczytaj również:

Błąd 404, który pojawia się na stronie internetowej, sygnalizuje, że poszukiwanej treści nie można znaleźć. Może się to zdarzyć z różnych powodów, takich jak wprowadzenie przez użytkownika nieprawidłowego adresu URL, usunięcie lub przeniesienie strony bez aktualizacji linków, a nawet problemy z serwerem.

Istnieje kilka kroków, które możesz podjąć, aby rozwiązać ten błąd. Najpierw sprawdź, czy w podanym adresie URL nie ma literówek. Jeśli link pochodzi z innego źródła, warto sprawdzić, czy informacje w tym źródle są aktualne.

Jeśli jesteś właścicielem witryny, ważne jest, aby upewnić się, że wszystkie linki wewnętrzne prowadzą do istniejących stron. Jeśli strona została usunięta, możesz skonfigurować przekierowanie do innej, bieżącej strony. Warto również aktualizować mapy witryn i monitorować stan linków, aby zminimalizować ryzyko wystąpienia błędów.

Metoda 405 niedozwolona: Ta metoda nie jest obsługiwana.

Serwer rozpoznaje żądanie, ale zasób nie zezwala na określoną metodę HTTP. Na przykład, jeśli użytkownik spróbuje wysłać żądanie PUT do serwera, który akceptuje tylko żądania GET, wyświetlony zostanie błąd 405.

Błąd 406: Niezgodność.

Serwer nie może dostarczyć danych w formacie określonym w nagłówku Accept. Na przykład, jeśli klient żąda informacji w formacie XML, a serwer może dostarczyć tylko JSON.

407 Wymagane uwierzytelnienie proxy: Wymagane jest uwierzytelnienie na serwerze proxy.

Żądanie nie może zostać zrealizowane, ponieważ serwer proxy wymaga uwierzytelnienia. Na przykład, jeśli użytkownik nie podał danych logowania do firmowego serwera proxy, przeglądarka wyświetli błąd 407.

408 Żądanie wygasło: Przekroczono limit czasu.

Żądanie klienta trwało zbyt długo, co spowodowało rozłączenie po stronie serwera. Może się to zdarzyć na przykład wtedy, gdy klient ma problemy z połączeniem internetowym, które uniemożliwiają szybką realizację żądania.

409 Konflikt: Niezgodność

Serwer nie może zrealizować żądania z powodu niezgodności z bieżącym stanem zasobu. Oznacza to, że samo żądanie jest prawidłowe, ale może stanowić zagrożenie dla integralności danych — na przykład z powodu równoczesnych aktualizacji lub niezgodności z ograniczeniami biznesowymi.

410 Brak: Usunięto

Żądany element został usunięty z serwera i nie można go przywrócić. Na przykład, jeśli administratorzy całkowicie usunęli stronę lub plik, zobaczysz kod 410 podczas próby dostępu do tych danych.

411 Wymagana długość: Długość musi być określona.

Serwer odmówił przetworzenia żądania z powodu braku nagłówka Content-Length, który jest wymagany do prawidłowego przesłania treści żądania. Ten kod powiadamia klienta, że ​​do kontynuowania operacji wymagane jest wyraźne określenie ilości informacji do przesłania.

412 Niespełniony warunek wstępny: Warunek wstępny był nieprawidłowy.

Żądanie zostało odrzucone przez serwer, ponieważ jeden z warunków określonych w nagłówkach If-Match, If-None-Match, If-Modified-Since lub If-Unmodified-Since nie został spełniony. Może się tak zdarzyć na przykład, gdy użytkownik próbuje wprowadzić zmiany w zasobie, który został już zaktualizowany przez innego klienta.

413 Zbyt duży obiekt żądania: Rozmiar danych przekracza dozwolony limit.

Żądanie zostało odrzucone przez serwer, ponieważ rozmiar przesyłanego tekstu przekroczył maksymalny limit ustawiony na serwerze lub serwerze proxy. Taka sytuacja może wystąpić podczas wysyłania plików, dokumentów JSON lub innych typów danych za pomocą metod POST, PUT, PATCH i podobnych, które obejmują tekst żądania.

Na przykład użytkownik próbuje przesłać plik, którego rozmiar przekracza maksymalne dozwolone parametry ustawione w konfiguracji serwera.

414 Zbyt długi adres URI żądania: Adres URL przekracza dozwoloną długość.

Serwer nie mógł przetworzyć żądania, ponieważ jego adres był zbyt długi i przekroczył ustalony limit. Ten błąd występuje zazwyczaj podczas próby wysłania żądania GET z dużą liczbą dodatkowych parametrów.

415 Nieobsługiwany typ nośnika: Format danych nie jest obsługiwany.

Żądanie zostało odrzucone przez serwer, ponieważ typ zawartości określony w nagłówku Content-Type jest nieobsługiwany. Oznacza to, że serwer nie jest w stanie obsłużyć formatu przesłanych danych, nawet jeśli sama struktura żądania jest prawidłowa.

416 Żądany zakres jest niedostępny.

Serwer nie może wykonać częściowego pobrania pliku, ponieważ określony zakres bajtów przekracza rzeczywisty rozmiar pliku. Na przykład, jeśli użytkownik próbuje pobrać dane od 500 do 1000 bajtów, a sam plik zawiera tylko 400 bajtów.

417 Niespełnienie oczekiwań: Żądanie nie mogło spełnić oczekiwań.

Żądanie zostało odrzucone przez serwer, ponieważ nie może spełnić warunków określonych w nagłówku Expect. Dzieje się tak zazwyczaj, gdy klient wysyła nagłówek Expect: 100-continue, ale serwer nie obsługuje tej wstępnej negocjacji.

Klienci używają nagłówka Expect, aby wskazać, jakiej akcji oczekują od serwera przed wysłaniem żądania. Jeśli serwer nie może spełnić tego wymagania, odpowiada kodem stanu 417.

418 Jestem imbrykiem: Jestem imbrykiem.

Jako humorystyczny dodatek, w kwietniu 1998 roku do specyfikacji HTTP dodano kod o treści: „Jestem imbrykiem. Nie mogę zaparzyć kawy, ponieważ przekracza to moje możliwości”. Na przykład, jeśli użytkownik spróbuje wysłać „absurdalne” żądanie, serwer odpowie kodem stanu 418.

421 Błędnie skierowane żądanie

Serwer odebrał żądanie, ale nie może go zrealizować, ponieważ jest ono adresowane do innego hosta lub zasobu. Ten błąd występuje, gdy klient połączył się z jednym hostem, ale próbuje wysłać żądanie do innego.

422 Nie można przetworzyć encji: Nie można przetworzyć instancji.

Serwer zaakceptował i zinterpretował żądanie, ale nie może go zrealizować z powodu błędów semantycznych w jego treści. Na przykład struktura żądania może być poprawna, ale zawarte w niej dane nie spełniają ustalonych kryteriów walidacji.

423 Zablokowane: Odmowa dostępu

Serwer rozpoznaje przychodzące żądanie, ale odrzuca je, ponieważ na zasobie jest aktualnie wykonywana operacja lub jest on zablokowany. Kod 423 jest używany do implementacji wspólnej edycji plików i dokumentów.

Błąd 424 Nieudana zależność wskazuje, że żądanie nie może zostać zrealizowane z powodu niespełnionej zależności.

Żądanie nie zostało zrealizowane przez serwer, ponieważ jedno z zależnych żądań zakończyło się błędem. :Kod 424 często występuje podczas próby usunięcia pliku, który jest aktualnie używany przez inny proces.

425 Zbyt wcześnie: To nie jest odpowiedni moment.

Serwer zakłada, że ​​żądania będą napływać w określonej kolejności i nie jest w stanie przetworzyć ich w kolejności, w jakiej zostały odebrane.

426 Wymagana aktualizacja: Wymagana jest aktualizacja.

Serwer nie może zrealizować żądania, ponieważ wersja protokołu używana przez klienta nie jest obsługiwana. W większości przypadków oznacza to konieczność aktualizacji z HTTP/1.1 do HTTP/2.

428 Wymagany warunek wstępny: Musi być spełniony warunek wstępny.

Serwer oczekuje, że żądanie będzie zawierało co najmniej jeden warunek wstępny, taki jak nagłówek If-Match lub If-Unmodified-Since. To wymaganie ma na celu uniknięcie potencjalnych konfliktów, które mogą wystąpić podczas jednoczesnego dostępu do zasobu.

429 Przekroczono limit żądań: Liczba wysłanych żądań jest zbyt duża.

Serwer odmówił przetworzenia żądania, ponieważ klient przekroczył skonfigurowany limit żądań w określonym czasie. Na przykład dostęp do witryny został zablokowany po wielu nieudanych próbach autoryzacji.

444 Brak odpowiedzi.

Połączenie między serwerem a klientem zostało zakończone bez przesłania odpowiedzi HTTP. Ten kod występuje wyłącznie na serwerze internetowym Nginx i nie jest zdefiniowany w oficjalnej specyfikacji HTTP.

450 Zablokowane przez kontrolę rodzicielską systemu Windows.

Ten kod, używany w usługach firmy Microsoft, wskazuje, że system kontroli rodzicielskiej ogranicza dostęp do określonego zasobu. Jest używany wyłącznie w ekosystemie Windows.

451 Brak dostępu z przyczyn prawnych.

Żądanie zostało odrzucone przez serwer, ponieważ dostęp do tego zasobu jest ograniczony z przyczyn prawnych, takich jak wymogi prawne, orzeczenia sądowe lub przepisy administracyjne.

Błędy serwera: kody HTTP 5xx

Kody z zakresu 5xx wskazują, że żądanie klienta zostało poprawnie zrealizowane, ale serwer Nie udało się go przetworzyć z powodu błędu wewnętrznego lub tymczasowych problemów z dostępnością.

Błąd 500: Wewnętrzny błąd serwera.

Ten kod jest ogólnym wskaźnikiem, że serwer napotkał nieoczekiwany problem wewnętrzny, który uniemożliwił mu prawidłowe przetworzenie żądania od klienta. Przyczyny mogą być różne, od błędów kodu serwera po problemy z połączeniem z bazą danych, a także konflikty w ustawieniach serwera i inne czynniki.

Przeczytaj również:

Błąd 500 to wewnętrzny błąd serwera, który oznacza, że ​​wystąpił problem podczas przetwarzania żądania. Ten błąd może wystąpić z różnych przyczyn, w tym z powodu usterek oprogramowania, nieprawidłowych ustawień serwera lub niezgodności między komponentami.

Istnieje kilka kroków, które możesz podjąć, aby rozwiązać błąd 500. Najpierw sprawdź logi serwera, aby uzyskać szczegółowe informacje o tym, co się stało. Może to pomóc w zidentyfikowaniu konkretnej przyczyny błędu. Jeśli masz dostęp do systemu plików, upewnij się, że wszystkie pliki i katalogi mają odpowiednie uprawnienia.

Zwróć również uwagę na pliki konfiguracyjne, ponieważ nieprawidłowe ustawienia mogą prowadzić do podobnych błędów. Jeśli problem będzie się powtarzał, zaleca się tymczasowe wyłączenie wszelkich wtyczek lub rozszerzeń, które mogą powodować konflikty. Jeśli błąd występuje na Twojej stronie internetowej, możesz skontaktować się z dostawcą hostingu w celu uzyskania pomocy.

Jeśli żadna z powyższych metod nie zadziała, rozważ przywrócenie systemu z kopii zapasowej lub ponowną instalację aplikacji, która powoduje błąd.

501 Nie zaimplementowano: Funkcja nie została zaimplementowana.

Serwer nie może przetworzyć tego żądania z przyczyn technicznych. Może się tak zdarzyć, jeśli żądana metoda nie jest obsługiwana przez serwer. Na przykład, jeśli używana jest metoda PATCH, a serwer akceptuje tylko metody GET i POST.

502 Nieprawidłowa brama: Błąd nieprawidłowej bramy.

Serwer działający jako brama lub serwer proxy otrzymał nieprawidłową odpowiedź od serwera zewnętrznego. Oznacza to, że żądanie zostało przekazane w łańcuchu, ale odpowiedź albo nie istniała, albo była uszkodzona.

503 Usługa tymczasowo niedostępna: Usługa jest obecnie niedostępna.

Mogą wystąpić tymczasowe trudności z przetwarzaniem żądań na serwerze, na przykład w przypadku jego przeciążenia. Na przykład zasób może pozostać dostępny, ale może napotkać nadmiar żądań lub być niedostępny z powodu aktualizacji. Tego typu błędy często zdarzają się podczas próby dostępu do znanego serwisu informacyjnego w okresach szczytowego obciążenia.

Przeczytaj także:

Błąd 503 to kod stanu wskazujący, że serwer jest tymczasowo niedostępny i nie może przetworzyć żądania. Może się to zdarzyć z różnych powodów, w tym przeciążenia serwera, konserwacji lub chwilowych przerw w działaniu.

Jeśli napotkasz ten błąd, oto kilka kroków, które pomogą go rozwiązać:

1. Odśwież stronę: Czasami problem może być tymczasowy i samo odświeżenie strony rozwiąże problem.

2. Sprawdź stan usługi: Jeśli masz dostęp do informacji o stanie serwera, sprawdź, czy nie trwają obecnie jakieś prace konserwacyjne lub występują jakieś problemy.

3. Wyczyść pamięć podręczną przeglądarki: Nagromadzone dane mogą powodować konflikty, dlatego warto spróbować wyczyścić pamięć podręczną i pliki cookie.

4. Wypróbuj inną przeglądarkę lub urządzenie: Czasami błąd może być związany z ustawieniami konkretnej przeglądarki lub urządzenia.

5. Skontaktuj się z dostawcą hostingu: Jeśli zarządzasz serwerem, warto skontaktować się z dostawcą hostingu, aby ustalić przyczynę niedostępności.

Postępując zgodnie z tymi zaleceniami, możesz być w stanie rozwiązać błąd 503 lub przynajmniej ustalić jego źródło.

504 Limit czasu bramy: Brak odpowiedzi z bramy.

Serwer proxy lub brama nie otrzymały odpowiedzi od serwera nadrzędnego. Ten błąd może być spowodowany problemami z połączeniem z serwerem głównym lub powolną pracą samego serwera nadrzędnego.

Przeczytaj także:

Błąd 504, znany również jako „Gateway Timeout”, występuje, gdy jeden Serwer, Serwer działający jako brama lub serwer proxy nie otrzymuje w odpowiednim czasie odpowiedzi od innego serwera, z którym próbuje się skontaktować. Może się to zdarzyć z różnych powodów, takich jak przeciążenie serwera, problemy z siecią lub konfiguracją.

Istnieje kilka kroków, które możesz podjąć, aby rozwiązać ten błąd. Najpierw odśwież stronę, ponieważ tymczasowe usterki mogą same się rozwiązać. Jeśli to nie pomoże, zaleca się sprawdzenie stanu serwerów, z którymi się łączysz. Dobrym pomysłem jest również wyczyszczenie pamięci podręcznej i plików cookie przeglądarki, ponieważ nagromadzone dane mogą czasami powodować problemy.

Jeśli jesteś właścicielem witryny, sprawdź ustawienia środowiska serwera. Upewnij się, że wszystkie komponenty, w tym bazy danych i inne usługi, działają poprawnie i nie są przeciążone. W niektórych przypadkach konieczna może być optymalizacja kodu lub zwiększenie limitów czasu na poziomie serwera.

Jeśli błąd będzie się powtarzał, skontaktuj się z dostawcą hostingu lub zespołem pomocy technicznej, aby uzyskać bardziej szczegółowe informacje i pomoc w rozwiązaniu problemu.

Błąd 505: Nieobsługiwana wersja protokołu HTTP.

Serwer nie może zrealizować żądania, ponieważ wersja protokołu HTTP używana przez klienta nie jest obsługiwana lub wyłączona po stronie serwera. Ten błąd występuje, jeśli klient wysłał żądanie za pomocą protokołu HTTP/1.1, a serwer jest skonfigurowany do pracy wyłącznie z protokołem HTTP/2.

506 Wariant jest również zaangażowany w proces negocjacji.

Serwer utknął w nieskończonej pętli, próbując wybrać optymalny wariant zasobu. Na przykład ten błąd występuje, gdy serwer nie jest w stanie ustalić prawidłowego formatu odpowiedzi.

507 Niewystarczająca ilość pamięci masowej: Przekroczono dostępną pamięć masową.

Serwer nie może zrealizować żądania z powodu niewystarczającej ilości dostępnej przestrzeni dyskowej. Ten problem występuje, gdy dysk jest pełny lub gdy próbuje się przesłać plik przekraczający dozwolony rozmiar.

508 Wykryto pętlę: Wykryto nieskończone przekierowanie.

Serwer napotkał nieskończoną pętlę podczas wykonywania żądania. Na przykład próbuje poradzić sobie z łączami rekurencyjnymi, ale nie może jej dokończyć.

509 Przekroczono limit przepustowości: Dostępna przepustowość została wyczerpana.

Żądanie zostało odrzucone przez serwer, ponieważ osiągnięto limit ruchu. W takiej sytuacji klient nie będzie mógł uzyskać dostępu do zasobu, dopóki pakiet danych na bieżący okres rozliczeniowy nie zostanie odnowiony.

Ten kod jest nieoficjalny i jest używany wyłącznie przez dostawców hostingu działających na platformie cPanel. Jego użycie nie jest obserwowane w innych systemach.

510 Nie rozszerzono: Rozszerzenie nie zostało spełnione.

Serwer nie może przetworzyć przychodzącego żądania, ponieważ wymaga dodatkowych rozszerzeń protokołu HTTP, których klient nie określił. Ten kod jest wymagany do interakcji z systemami wykorzystującymi rozszerzone mechanizmy, takie jak rozproszone interfejsy API lub niestandardowe rozszerzenia HTTP.

Wymagane jest uwierzytelnianie sieciowe 511.

Aby uzyskać dostęp do określonego zasobu, klient musi ukończyć proces uwierzytelniania sieciowego. Może się to na przykład objawiać w formularzu autoryzacji podczas łączenia się z siecią Wi-Fi w kawiarni.

Dowiedz się więcej interesujących tematów programistycznych na naszym kanale Telegram. Dołącz do nas!

Czytaj również:

  • HTTP, czyli Hypertext Transfer Protocol, stanowi podstawę wymiany informacji w internecie. Zapewnia strukturę, dzięki której przeglądarki mogą żądać i odbierać dane z serwerów WWW. Protokół ten umożliwia użytkownikom interakcję ze stronami internetowymi, pobieranie tekstu, obrazów i innych plików multimedialnych.

    Głównym celem protokołu HTTP jest zapewnienie wydajnego i poprawnego przesyłania informacji między klientem a serwerem. Bez niego operacje takie jak przeglądanie stron internetowych, przesyłanie formularzy czy korzystanie z różnych usług online byłyby niemożliwe. Dlatego protokół HTTP odgrywa kluczową rolę w funkcjonowaniu sieci WWW i codziennym życiu użytkowników internetu.

  • Internet to złożony system połączonych ze sobą sieci, które umożliwiają wymianę informacji na całym świecie. Jego historia sięga lat 60. XX wieku, kiedy opracowano pierwsze protokoły przesyłania danych. Od tego czasu przeszedł wiele zmian i stał się integralną częścią codziennego życia.

    Należy pamiętać, że Internet i sieć WWW to nie to samo. Chociaż terminy te są często używane zamiennie, w rzeczywistości odnoszą się do różnych rzeczy. Internet to globalna sieć łącząca miliony komputerów, urządzeń i serwerów, umożliwiająca przesyłanie danych. Natomiast sieć WWW to system dokumentów dostępnych za pośrednictwem Internetu, ustrukturyzowany za pomocą łączy hipertekstowych i protokołu HTTP.

    Dlatego Internet można postrzegać jako infrastrukturę, a sieć WWW jako jedną z jej usług, która umożliwia użytkownikom wyszukiwanie i udostępnianie informacji. Z każdym rokiem możliwości Internetu rosną, obejmując nowe technologie i usługi, czyniąc go niezbędnym narzędziem w różnych dziedzinach życia, od edukacji po biznes.

  • Model OSI to rama koncepcyjna, która pomaga zrozumieć procesy zachodzące w sieci. Dzieli interakcje systemów komputerowych na siedem warstw, z których każda odpowiada za określone funkcje. Dlaczego ten model jest potrzebny? Przede wszystkim służy on jako uniwersalny język dla specjalistów, umożliwiając im skuteczną komunikację i rozwiązywanie problemów bez zagłębiania się w szczegóły implementacji konkretnych technologii.

    Każda z siedmiu warstw modelu OSI realizuje unikalne zadanie: od fizycznego połączenia i transferu danych po aplikacje wspomagające, umożliwiając systemom interakcję niezależnie od ich struktury wewnętrznej. Hierarchia ta nie tylko standaryzuje komunikację, ale także upraszcza rozwój nowych technologii sieciowych, umożliwiając ich integrację z istniejącymi systemami.

    Model OSI można zatem postrzegać jako swego rodzaju „tort warstwowy” Internetu, w którym każda warstwa odgrywa swoją rolę, zapewniając holistyczne działanie całej sieci.