Odwiedzając strony internetowe, dość często możemy spotkać się z takimi komunikatami jak 500, 404, 200. Zacznijmy od wyjaśnień czym właściwie są kody stanu http (HyperText Transfer Protocol)?
Czym są kody HTTP? Co oznaczają?
HTTP to standardowy protokół używany do przesyłania danych w Internecie.Jest to ustandaryzowany sposób komunikacji komputerów między sobą. Pierwotnie został stworzony w celu przesyłania HTML, CSS, obrazów i innych zasobów internetowych w ramach globalnego rozproszonego systemu informacyjnego zwanego „World Wide Web” (lub po prostu Web). Później HTTP został rozszerzony do ogólnego protokołu klient-serwer w Internecie i jest szeroko stosowany do przesyłania prawie wszystkiego rodzaju danych międzu innymi tekstów, wyników zapytań, plików html, dokumentów, audio i wideo itd.
To trzycyfrowe kody odpowiedzi, które są odpowiedzią serwera na żądanie wyświetlenia witryny. Powszechne jest posiadanie pośredników zwanych serwerami proxy między klientem a serwerem, którzy przekazują żądania i odpowiedzi do miejsca docelowego.
Nie dotyczą one wyłącznie błędów, mają także charakter informacyjny, mogą informować o powodzeniu lub przekierowaniu. Komunikaty wyświetlane na stronie internetowej mają znaczenie dla właścicieli witryn i programistów. Wiedza o nich pozwala naprawić ewentualne błędy. O tym, z jakim komunikatem w przeglądarce mamy do czynienia informuje z reguły cyfra, tak jak pisaliśmy powyżej. Jest ona wyświetlana jako pierwsza w kodzie odpowiedzi HTTP.
Komunikaty http można podzielić na:
- informacyjne, które zaczynają się od cyfry 1,
- powodzenia, które poprzedzone są cyfrą 2,
- przekierowania, na które wskazuje cyfra 3,
- błędy aplikacji klienta, które zaczynają się od cyfry 4,
- błędu serwera, na które wskazuje cyfra 5.
Znajomość tego podziału ma spore znaczenie, gdyż ułatwia szukanie rozwiązania. Poszczególne klasy kodów odpowiedzi HTTP oznaczają również konkretne działania przeglądarki. Gdy wyświetla się komunikat z cyfrą 1, oznacza to, że żądanie, które zostało zainicjowane przez przeglądarkę, jest kontynuowane. Kody powodzenia wskazują nie tylko na pomyślne odebranie żądania, ale także jego zrozumienie i przetworzenie przez serwer. Komunikaty rozpoczynające się od cyfry 3 wskazują na to, że nowa zawartość została zastąpiona żądanym zasobem. Kody błędów klienta wskazują na wystąpienie problemu. Natomiast od cyfry 5 rozpoczynają się komunikaty wskazujące na błędy serwera. Przy ich wystąpieniu wiadomo, że żądanie zostało zaakceptowane, ale jego spełnienie nie jest możliwe.
Jakie są najczęściej występujące komunikaty, które są wyświetlane na stronach internetowych przez przeglądarkę internetową?
Dla każdej klasy komunikatów HTTP występuje od kilku do kilkunastu kodów, które mogą zostać zwrócone przez serwer. Każdy ma swoje unikalne znaczenie.
9 najczęściej pojawiających się kodów odpowiedzi HTTP to:
- 110,
- 111,
- 200,
- 301,
- 403,
- 404,
- 500,
- 502,
- 504.
Komunikatem, który nie będzie widoczny, jest 200. Strona przy jego wystąpieniu działa poprawnie, więc się prawidłowo otworzy. Natomiast może się zdarzyć, że pojawi się komunikat „błąd http 200” lub „OK.”. Przekłada się on na wolniejsze działania systemu. Powodem takiego komunikatu może być złośliwe oprogramowanie lub wirus, które zainfekowały pliki przeglądarki. Innym problemem może być wystąpienie uszkodzenia w rejestrze systemu operacyjnego.
Najważniejsze kody informacyjne to 110 i 111. Pierwszy oznacza, że przekroczony został maksymalny czas połączenia. Natomiast komunikat 111 wskazuje na to, że połączenie zostało odrzucone przez serwer.
Komunikat 110 wskazuje między innymi na:
- nieprawidłowy adres IP.
- nieprawidłowy port zapytań TCP,
- blokadę portu zapytań TCP przez zaporę sieciową.
Gdy pojawi się komunikat 111, oznacza to, że klient nie może połączyć z portem na komputerze, na którym uruchomiony jest skrypt serwera. Problem może występować z powodu sposobu działania zapory sieciowej czy błędnie zapisanej domeny.
Co oznacza kod 301?
Komunikat 301 jest wykorzystywany do tworzenia stałych przekierowań. Celem jego zastosowania jest nie tylko przeniesienie ruchu z jednej domeny na drugą. Wykorzystuje się go, aby stary adres po pewnym czasie został zastąpiony w wynikach wyszukiwania nowym. Domena ma przejąć także pozycję w wyszukiwarce. Przekierowanie 301 pozwala przenieść ruch z domeny czy witryny na inną stronę, a nawet podstronę.
Kiedy pojawiają się błędy 403, 404?
Jeśli na stronie internetowej pojawi się błąd 403, oznacza to, że zakazany jest dostęp do określonych zasobów. Przyczyny pojawienia się tego kodu HTTP mogą być różne. Wykonanie żądania może być zablokowane przez złośliwe oprogramowanie. Błąd leży wówczas po stronie osoby otwierającej witrynę. Gdy strona wyświetla się na innych urządzeniach, może to oznaczać, że problem może występować w plikach pamięci podręcznej. Wówczas w celu jego rozwiązania wystarczy oczyszczenie pamięci podręcznej. Jednak problem może być związany choćby z plikiem .htaccess. Jeśli właściciel strony dokonał modyfikacji tego pliku, po której zaczął pojawiać się błąd 403, wówczas wystarczy jego odtworzenie, aby komunikat przestał się wyświetlać. Zarządzający serwisem internetowym może również ograniczyć dostęp do określonych lokalizacji. Uzyskanie dostępu do informacji wymaga wówczas dysponowania loginem i hasłem. Właściciel strony może stosować takie rozwiązanie, gdy określone, opublikowane treści mogą nie być dostępne dla wszystkich. Odwiedzającym witrynę, którzy nie mają hasła, będzie wyświetlał się komunikat 403 o braku dostępu.
Dlaczego pojawia się błąd 404?
Z reguły błąd 404 pojawia się, gdy witryna została usunięta lub przesunięta w inne miejsce. Właściciel serwisu internetowego, na którym wyświetla się taki komunikat, a który planował przenieść treść witryny w inne miejsce, powinien skorzystać z przekierowania 301. Natomiast w sytuacji, gdy doszło do usunięcia plików, co skutkuje wyświetlaniem się komunikatu 404, można spróbować przywrócić kopię bezpieczeństwa.
W jakiej sytuacji pojawiają się komunikaty 500, 502, 504?
Błędy z grupy 5xx tak jak pisaliśmy na początku, dotyczą problemów z serwerem (serwer nie spełnił pozornie prawidłowego żądania). Wskazują na sytuacje gdy serwer jest świadomy napotkanego błędu lub w wyniku innych powodów nie jest w stanie wykonać żądania. Z wyjątkiem odpowiedzi na żądanie HEAD, serwer powinien zawierać encję zawierającą wyjaśnienie sytuacji błędu i wskazać, czy jest to stan tymczasowy, czy stały.
Wyróżniamy 11 błędów serwera, z czego najpopularniejszymi są 500,502, oraz 504.
Błąd 500 to bardzo ogólny kod http, który nie określa szczegółowo skąd dany problem się pojawił. Wynika to z tego, że serwer najzwyczajniej nie potrafi dopasować lepszego, trafniejszego kodu błędu. Z tego powodu często pojawia się z dodatkowymi informacjami.
Przykładami takich komunikatów mogą być:
- 500 Internal Server Error,
- Internal Server Error,
- Temporary Error (500)
- 500 Error,
- HTTP Error 500.
Pojawienie się komunikatu 500 na stronie internetowej oznacza, że serwer nie może prawidłowo odpowiedzieć na żądanie. Wynika to z jego konfiguracji. Powodem takiej sytuacji może być między innymi awaria dysku czy niedziałające moduły oprogramowania. Równocześnie problem skutkujący wystąpieniem błędu 500 może znajdować się po stronie klienta, jak i po stronie właściciela serwisu internetowego. W pierwszym przypadku można próbować ponownie załadować stronę, wyczyścić pamięć podręczną przeglądarki, usunąć pliki cookies.
Błąd 502 pojawia się w formie Error 502 Bad Gateway tzw. Błąd złej bramki. Jest on związany z problemami występującymi pomiędzy serwerami w Internecie.. Rozwiązaniem może być zwiększenie pakietu hostingowego, sprawdzenie ustawień DNS, sprawdzenie dzienników błędów, CDN, a wreszcie skontaktowanie się z firmą hostingową.
Błąd 504 wskazuje na przekroczenie limitu czasu oczekiwania na odpowiedź. Oznacza, że jeden serwer sieciowy nie otrzymał na czas odpowiedzi z drugiego serwera. Rozwiązaniem może być debugowanie strony, naprawienie konfiguracji zapory, sprawdzenie DNS, łączności z serwerem czy przesyłanie dzienników logów do hostingodawcy.