Categories
Aplikacje webowe

Tworzenie strony internetowej nie kończy się wraz z jej oficjalną publikacją dla grona odbiorców. W dalszej kolejności wymagana jest jej stała aktualizacja i sprawdzanie czy nie pojawiają się błędy, np. w postaci nieaktywnych linków, które kierują do miejsc, jakie zostały usunięte z naszej witryny w czasie jej dostępności. Jeśli użytkownik trafi na taką podstronę, zobaczy na ekranie jeden z kodów błędów HTTP. Co to jest HTTP i o jakich kodach mowa – dowiesz się z tego artykułu.

Niejasny dla wielu skrót, który widzimy na pasku adresu każdej strony internetowej, czasem z dodatkiem “s”, świadczącym o szyfrowaniu i zwiększonym bezpieczeństwie połączenia: HTTP – co to właściwie znaczy? W języku angielskim rozwinięcie tego skrótu wygląda tak: Hypertext Transfer Protocol i oznacza protokół, który odpowiada za zdefiniowanie zasad przesyłania zasobów oraz ogólnej komunikacji na linii klient–serwer

Z kolei kod odpowiedzi, inaczej nazywany statusem HTTP, jest numeryczną reakcją wskazującą na to, jak wygląda sposób realizacji wysłanego przez klienta zapytania. Możemy wyróżnić pięć grup kodów odpowiedzi, które zawsze zaczynają się konkretną cyfrą:

  • kody informacyjne – 1xx
  • kody powodzenia – 2xx
  • kody przekierowania – 3xx
  • kody błędu po stronie aplikacji klienta – 4xx
  • kody błędu ze strony serwera HTTP – 5xx

Przynajmniej część z tych kodów masz prawo kojarzyć, jeśli intensywnie eksplorujesz sieć internetową. Wśród odpowiedzi protokołu HTTP, z którymi można się nieraz spotkać są statusy informacyjne 110 i 111.

HTTP 110 i 111 – czekamy na odpowiedź!

Kod 110 jest stosowany, gdy serwer nie jest w stanie udzielić odpowiedzi w określonym czasie. To może być wynikiem obciążenia serwera lub problemów z siecią. Kiedy przeglądarka otrzymuje kod 110, oznacza to, że żądanie nie zostało jeszcze przetworzone i że przeglądarka powinna czekać, zanim spróbuje ponownie.

Z drugiej strony, kod 111 jest stosowany, gdy serwer odrzuca połączenie. To może nastąpić, gdy serwer jest przeciążony i nie jest w stanie przyjąć więcej połączeń, lub gdy połączenie jest blokowane z powodów bezpieczeństwa, na przykład jeśli serwer wykrywa, że żądanie pochodzi od źródła, które zostało zidentyfikowane jako niezaufane.

Ogólnie rzecz biorąc, jeśli napotkasz na te kody podczas przeglądania Internetu, oznacza to, że są problemy z serwerem lub siecią, które uniemożliwiają przetworzenie Twojego żądania. Możesz spróbować odświeżyć stronę po kilku minutach, aby zobaczyć, czy problem ustąpił. Jeżeli nie, to możliwe, że problem leży po stronie serwera, a nie Twojej przeglądarki czy sieci, i będzie musiał być rozwiązany przez administratora strony lub serwera.

Warto jednak podkreślić, że te kody nie są standardowymi kodami odpowiedzi HTTP i nie są szeroko rozpowszechnione. Dlatego też, nie wszyscy użytkownicy mogą na nie natrafić podczas przeglądania Internetu.

HTTP 200 – jest OK! 

Kod odpowiedzi HTTP 200 to jedna z najbardziej pozytywnych informacji, które możemy otrzymać podczas korzystania z Internetu, choć zazwyczaj nie jesteśmy świadomi jego obecności. Jest to standardowy kod sukcesu, który wskazuje na to, że żądanie HTTP zostało prawidłowo przetworzone przez serwer.

W kontekście tych kodów, HTTP 200 można postrzegać jako “wszystko jest OK”. Oznacza to, że żądanie klienta (czyli przeglądarki) zostało poprawnie zrozumiane, przetworzone i zwrócone przez serwer. To mogło obejmować działania takie jak pobranie strony internetowej, przesłanie formularza, pobranie pliku, itp. W każdym z tych przypadków, serwer potwierdza poprzez kod 200, że jego odpowiedź na żądanie jest prawidłowa i kompletne.

Mimo iż, status HTTP 200 jest niewidoczny dla przeciętnego użytkownika Internetu, jest on fundamentalnym elementem komunikacji sieciowej. Jego obecność wskazuje na poprawne funkcjonowanie strony internetowej i gwarantuje, że żądane zasoby są dostępne dla użytkowników. Bez tego mechanizmu, interakcje z serwerem mogłyby być nieprzewidywalne i nieefektywne.

HTTP 301 – zmieniliśmy adres!

Kod odpowiedzi HTTP 301, zwany również Moved Permanently, to mechanizm używany przez serwery do informowania klienta (tj. przeglądarki internetowej), że żądany zasób został trwale przeniesiony do nowego miejsca. To “nowe miejsce” jest zwykle dostarczane jako URL w nagłówku “Location” odpowiedzi HTTP.

Zastosowanie tego kodu ma wiele korzyści, zarówno dla użytkowników, jak i twórców stron internetowych. Dla użytkowników, kod 301 gwarantuje płynne doświadczenie przeglądania, ponieważ przekierowują oni automatycznie do nowej lokalizacji, nawet jeśli użyli starego linku. Nie widzą żadnej wiadomości o błędzie, a jedyną oznaką przekierowania może być zmiana URL w pasku adresu przeglądarki.

Z perspektywy twórców stron i specjalistów SEO, status 301 jest niezwykle ważny. Po pierwsze, zapewnia on, że ruch sieciowy jest skierowany do prawidłowej lokalizacji, nawet jeśli stare linki są nadal aktywne w innych miejscach w Internecie, takich jak na stronach zewnętrznych czy na mediach społecznościowych. Po drugie, kod 301 jest sygnałem dla wyszukiwarek, takich jak Google, że dana strona została przeniesiona na stałe. Wyszukiwarki interpretują kod 301 jako wskazówkę do zaktualizowania swoich indeksów i przeniesienia “wartości linku” ze starego URL na nowy. Dzięki temu strona nie traci swojej pozycji w wynikach wyszukiwania, mimo zmiany adresu.

Jednak należy pamiętać o odpowiednim zastosowaniu kodu 301. Powinien być używany tylko wtedy, gdy zasób został trwale przeniesiony. Jeśli przeniesienie jest tylko tymczasowe, bardziej odpowiednim kodem będzie 302 (Found) lub 307 (Temporary Redirect). Przypisanie kodu 301 do strony, która nie została trwale przeniesiona, może prowadzić do nieprawidłowych przekierowań i późniejszych problemów z dostępem do zasobu.

HTTP 302 – przenieśliśmy się na chwilę!

Status code 302 działa podobnie – w tym przypadku jednak nie ma stałego przekierowania na inny adres, a jedynie tymczasowe. Kiedy przeglądarka otrzymuje kod 302, oznacza to, że zasoby, do których próbowała uzyskać dostęp, są tymczasowo dostępne pod innym adresem URL. Przy tymczasowym przekierowaniu, przeglądarka powinna kontynuować korzystanie z pierwotnego adresu URL do przyszłych zapytań.

W praktyce kod HTTP 302 jest często wykorzystywany podczas prac konserwacyjnych na stronie internetowej lub gdy strona jest w trakcie aktualizacji i użytkownik ma zostać przekierowany do innej strony na określony czas. Kod 302 jest również często wykorzystywany w e-commerce podczas przekierowywania użytkowników pomiędzy różnymi etapami procesu zakupu.

Jeśli jednak widzisz błąd 302, to oznacza, że przekierowanie nie powiodło się. Może to być spowodowane kilkoma różnymi problemami, takimi jak:

  1. Niewłaściwe konfigurowanie przekierowania na serwerze.
  2. Wybranie niewłaściwej strony docelowej do przekierowania.
  3. Konflikt wtyczek, szczególnie w systemach zarządzania treścią (CMS), takich jak WordPress.
  4. Problem z cache przeglądarki, która nie jest w stanie prawidłowo zinterpretować lub zastosować przekierowania.

Jeśli błąd 302 jest widoczny dla użytkownika, zaleca się skontaktowanie się z administratorem strony lub zespołem technicznym, aby zidentyfikować i rozwiązać problem.

HTTP 303 – patrz gdzie indziej!

Kod odpowiedzi HTTP 303, znanym też jako “zobacz inne”, jest wykorzystywany w sytuacjach, kiedy serwer chce przekierować klienta (czyli przeglądarkę) do innego zasobu. W przeciwieństwie do kodu 200, który mówi “wszystko jest w porządku, oto żądane informacje”, kod 303 mówi “sprawdź te informacje w innym miejscu”.

Różne kody przekierowania są używane do różnych celów. 303 jest specyficzny dla sytuacji, kiedy serwer chce, aby klient odzyskał inne zasoby za pomocą metody GET, niezależnie od tego, jaka metoda (np. POST, PUT, DELETE) została użyta w oryginalnym żądaniu.

Przykładowo, kod 303 może być używany po przesłaniu formularza na stronie internetowej. Gdy użytkownik wypełnia formularz i naciska “wyślij”, przeglądarka może wysłać żądanie POST do serwera. Serwer przetwarza formularz i następnie zwraca kod odpowiedzi 303, kierując przeglądarkę do nowej strony, na przykład strony potwierdzającej wysłanie formularza. Dzięki temu, gdy użytkownik odświeży stronę potwierdzenia, nie zostanie wysłane ponowne żądanie POST (co mogłoby spowodować dublowanie danych), ale zamiast tego przeglądarka wykona żądanie GET do określonego zasobu.

W praktyce, gdy serwer zwraca kod 303, zazwyczaj dołącza także lokalizację (URL), do której przeglądarka powinna się przekierować. Przeglądarka następnie automatycznie ładuje ten nowy zasób. Dla użytkownika, to przekierowanie jest zazwyczaj niewidoczne – widzą oni tylko, że po naciśnięciu przycisku “wyślij” zostali przekierowani do nowej strony.

HTTP 401 – potrzebujemy twojego uwierzytelnienia!

Bardzo prostym błędem w wysyłaniu żądania do serwera jest próba wejścia do zasobów, do których nie ma się dostępu. W takiej sytuacji na ekranie pojawia się kod błędu 401, mówiący o tym, że mamy do czynienia z nieautoryzowanym dostępem. Tutaj zwykle będzie też miejsce na uwierzytelnienie próby wejścia poprzez podanie hasła.

Kod odpowiedzi HTTP 401, czyli Unauthorized, jest jednym z najczęściej napotykanych kodów błędu HTTP i jest związany z autoryzacją i uwierzytelnianiem. Uwierzytelnianie i autoryzacja są kluczowymi elementami bezpieczeństwa w sieci, umożliwiającymi sprawdzenie tożsamości użytkownika i określenie jego uprawnień do dostępu do określonych zasobów.

Gdy serwer zwraca kod 401, informuje tym samym klienta (czyli przeglądarkę), że dostęp do żądanego zasobu jest ograniczony i wymaga uwierzytelniania. W praktyce, jeśli użytkownik próbuje uzyskać dostęp do strony lub zasobu, dla którego nie jest zalogowany lub nie ma odpowiednich uprawnień, otrzyma odpowiedź HTTP 401. W wielu przypadkach, odpowiedź ta może być również połączona z prośbą o uwierzytelnienie, zwykle poprzez wprowadzenie nazwy użytkownika i hasła.

Kod 401 jest ważny z punktu widzenia bezpieczeństwa, ponieważ zapewnia, że dostęp do kluczowych zasobów jest chroniony i dostępny tylko dla osób, które mają do niego uprawnienia. Jeśli natkniesz się na błąd 401 podczas przeglądania strony internetowej, najprawdopodobniej będziesz musiał się zalogować lub uzyskać odpowiednie uprawnienia do dostępu do tego zasobu.

HTTP 403 – nie masz dostępu!

Kod odpowiedzi HTTP 403, znany również jako Forbidden, oznacza, że serwer rozumie żądanie, ale odmawia jego wykonania. Jest to kod stanu, który oznacza, że użytkownik nie ma uprawnień do dostępu do żądanego zasobu, mimo że serwer jest dostępny i rozpoznaje żądanie. W przeciwieństwie do kodu 401, który sugeruje, że użytkownik może nie być uwierzytelniony, kod 403 jest zwracany, gdy serwer rozpoznaje użytkownika, ale nie pozwala mu na dostęp do zasobu.

Możliwe przyczyny kodu błędu 403 obejmują, ale nie ograniczają się do: źle skonfigurowane uprawnienia do plików lub katalogów na serwerze, reguły zapory sieciowej blokującej dostęp, ustawienia polityki bezpieczeństwa na serwerze lub w oprogramowaniu antywirusowym. W wielu przypadkach, aby rozwiązać problem z kodem 403, może być konieczne sprawdzenie tych aspektów i zapewnienie, że użytkownik ma odpowiednie uprawnienia do dostępu do żądanego zasobu.

Ważne jest, aby rozróżniać kod 401 i 403. Główna różnica polega na tym, że w przypadku kodu 401, dostęp do zasobu jest ograniczony, ale może zostać przyznany po udanej autoryzacji (czyli wprowadzeniu poprawnego loginu i hasła). Z drugiej strony, kod 403 informuje, że nawet po udanej autoryzacji, dostęp do zasobu jest nadal zabroniony. Oznacza to, że niezależnie od tożsamości użytkownika, serwer zdecydował, że dostęp do zasobu jest nie do przyjęcia.

W praktyce, jeśli widzisz error 403 podczas przeglądania strony internetowej, może to oznaczać, że musisz skontaktować się z administratorem strony lub dostawcą usług internetowych, aby dowiedzieć się, dlaczego dostęp do zasobu jest zabroniony.

HTTP 404 – nic tutaj nie ma!

Kod odpowiedzi HTTP 404, często oznaczany jako Not Found, jest zwracany, gdy serwer nie może odnaleźć zasobu żądanego przez klienta. Wyświetla się on zwykle jako hasło “strona nie istnieje” lub po prostu “HTTP error 404 – not found”. Oznacza to, że nie jesteś w stanie otworzyć strony internetowej lub zasobu, który próbujesz otworzyć, ponieważ serwer nie może go odnaleźć.

Kod 404 jest jednym z najbardziej rozpoznawalnych kodów błędów w Internecie. Jest to zazwyczaj sygnał, że odnośnik do strony internetowej jest uszkodzony, strona została usunięta lub zmieniono jej URL. Choć to jest frustrujące dla użytkowników, jest to standardowy kod błędu używany w Internecie do informowania, że strona internetowa nie istnieje lub nie może być odnaleziona.

Błędy 404 są często mylone z “błędami serwera”, ale są to dwa różne typy problemów. Błąd 404 jest błędem klienta, który wynika z tego, że serwer nie może odnaleźć żądanego zasobu. Z drugiej strony, błędy serwera, takie jak 500 (Internal Server Error), wynikają z problemów z samym serwerem.

Jeśli natrafisz na błąd 404, jest kilka rzeczy, które możesz zrobić. Po pierwsze, sprawdź URL, aby upewnić się, że jest poprawny. Czasami błąd 404 może wynikać z literówki lub błędu w adresie URL. Po drugie, możesz spróbować odświeżyć stronę. W niektórych przypadkach strona może być tymczasowo niedostępna i odświeżenie może pomóc. Po trzecie, jeśli problem nadal występuje, prawdopodobnie strona została usunięta i najlepszym rozwiązaniem będzie skontaktowanie się z administratorem strony lub poszukanie alternatywnych źródeł informacji.

Błędy 404 mogą mieć również negatywne konsekwencje dla właścicieli stron internetowych. Poza frustracją użytkowników, mogą one wpływać negatywnie na ranking strony w wynikach wyszukiwania Google. Dlatego istotne jest, aby właściciele stron regularnie sprawdzali swoje strony pod kątem błędów 404 i jak najszybciej je naprawiali.

Przyjazna strona błędu 404

Warto również wspomnieć o koncepcji “przyjaznej strony błędu 404”. To znaczy, że zamiast wyświetlać standardowy, surowy komunikat błędu, twórcy stron internetowych często starają się dostarczyć bardziej użytkownikom przyjazne i pomocne komunikaty błędów 404.

Przyjazna strona błędu 404 może zawierać prosty, zrozumiały język wyjaśniający, co poszło nie tak (na przykład “Przykro nam, ale strona, której szukasz, nie istnieje”). Mogą również zawierać linki do innych części witryny, które mogą być dla użytkownika przydatne, jak strona główna, mapa strony, funkcja wyszukiwania, lub popularne zasoby.

Dobrze zaprojektowane strony błędu 404 mogą pomóc zmniejszyć frustrację użytkowników, gdy natrafią na zasób, który nie istnieje. Może to także zachęcić użytkowników do pozostania na witrynie i kontynuowania przeglądania innych zasobów, zamiast natychmiast opuścić witrynę po napotkaniu błędu.

Niektóre strony internetowe nawet wykorzystują swoje strony błędu 404 jako sposobność do demonstrowania kreatywności i poczucia humoru, co może pomóc zniwelować negatywny wpływ napotkania błędu. W każdym razie, kluczem jest dostarczanie wartości użytkownikom, nawet w sytuacji, gdy nie mogą oni znaleźć tego, czego szukają.

HTTP 500 – mamy wewnętrzny problem!

Kod odpowiedzi HTTP 500 oznacza wewnętrzny błąd serwera (Internal Server Error) i jest ogólnym kodem błędu, który wskazuje na problem, który wystąpił na serwerze, ale nie daje dokładnej informacji o naturze problemu. Z punktu widzenia użytkownika, jest to frustrujący błąd, ponieważ problem leży poza jego kontrolą i wymaga interwencji administratora serwera lub dewelopera strony internetowej, aby go rozwiązać.

Taki błąd może wystąpić z wielu powodów. Może to być na przykład błąd w skrypcie na stronie, który powoduje awarię serwera, problem z oprogramowaniem serwera lub z jego konfiguracją, bądź problem z zasobami serwera, takimi jak przeciążenie lub brak miejsca na dysku. W przypadku aplikacji internetowych, taki błąd może być spowodowany błędem w kodzie aplikacji, który powoduje awarię serwera.

Dla dewelopera lub administratora serwera, kluczowym narzędziem do zidentyfikowania i rozwiązania problemu jest dziennik błędów serwera. W tym dzienniku zapisywane są szczegółowe informacje o błędach, które wystąpiły na serwerze, a więc może on zawierać wskazówki co do natury problemu i tego, jak go naprawić.

Z punktu widzenia użytkownika, jednym z możliwych rozwiązań jest odświeżenie strony lub wyczyszczenie pamięci podręcznej przeglądarki. Może to pomóc, jeżeli błąd był spowodowany chwilowym problemem na serwerze, który już został rozwiązany. Jeżeli jednak błąd jest powtarzalny, to zazwyczaj trzeba zgłosić problem administratorowi strony lub serwera.

HTTP 502 – problem z bramą!

Status HTTP 502, znany również jako Bad Gateway, występuje, gdy serwer działający jako brama lub serwer pośredniczący (proxy) otrzyma niewłaściwą odpowiedź od innego serwera, z którym próbował się skomunikować, aby zrealizować żądanie.

Głównym powodem wystąpienia błędu 502 jest to, że jeden z serwerów w sieci, z którymi serwer proxy próbował się skomunikować, nie zwrócił prawidłowej odpowiedzi w odpowiedzi na żądanie. Może to być spowodowane różnymi problemami, takimi jak awaria serwera, przeciążenie serwera lub problem z siecią łączącą serwery.

Błąd 502 różni się od innych błędów serwera takich jak 500, ponieważ jest specyficzny dla sytuacji, gdy komunikacja między serwerami nie przebiega prawidłowo. W przypadku błędu 500, problem leży wewnątrz samego serwera, podczas gdy błąd 502 wskazuje na problem w komunikacji między serwerami.

Podobnie jak w przypadku błędu 500, rozwiązanie błędu 502 często wymaga interwencji technicznej. Jeżeli jesteś właścicielem strony, zazwyczaj najlepszym podejściem będzie skontaktowanie się z dostawcą usług hostingowych. Możliwe, że będą oni musieli dokonać pewnych zmian w konfiguracji serwera lub naprawić problem na wyższym poziomie infrastruktury sieciowej.

Z punktu widzenia użytkownika, który napotkał na błąd 502 podczas przeglądania strony, często najprostszym rozwiązaniem jest odświeżenie strony. Jeżeli błąd 502 jest spowodowany chwilowym problemem z siecią lub przeciążeniem serwera, może on zniknąć po ponownym załadowaniu strony. Jednakże, jeżeli błąd jest powtarzalny, to zazwyczaj oznacza to, że problem leży gdzieś w infrastrukturze serwera lub sieci i wymaga interwencji technicznej.

HTTP 503 – serwis jest niedostępny!

Kiedy strona internetowa jest przeciążona lub trwa jej konserwacja, użytkownik może na ekranie zobaczyć komunikat o błędzie 503, co oznacza, że trzeba chwilę poczekać i strona niedługo będzie z powrotem dostępna.

W przypadku przeciążenia, serwer może być zbyt zajęty obsługiwaniem innych żądań, aby móc obsłużyć żądanie klienta. W takim przypadku, odpowiedź HTTP 503 informuje klienta, że serwer jest tymczasowo niedostępny i powinien spróbować ponownie później.

Kod 503 może również być wykorzystywany, gdy serwer jest niedostępny z powodu prac konserwacyjnych. W takim przypadku, serwer zazwyczaj zostaje tymczasowo wyłączony, aby umożliwić przeprowadzenie niezbędnych aktualizacji lub napraw. Dobrą praktyką w czasie wykonywania prac konserwatorskich jest poinformowanie o tym osób odwiedzających witrynę, dzięki czemu nie będą oni zastanawiali się, co jest przyczyną niedostępności danych treści. 

W obu przypadkach, odpowiedź HTTP 503 powinna zawierać nagłówek Retry-After, który informuje klienta, po jakim czasie powinien spróbować ponownie wysłać żądanie. Ten czas jest zazwyczaj określony w sekundach, ale może również być podany jako data i czas, po których serwer powinien być ponownie dostępny.

Podobnie jak w przypadku innych kodów błędów serwera, użytkownik zwykle nie jest w stanie samodzielnie rozwiązać problemu związanego z kodem 503. W przypadku napotkania błędu 503, zaleca się odświeżenie strony po pewnym czasie lub skontaktowanie się z administratorem strony, jeśli problem nie ustępuje.

HTTP 504 – przekroczyliśmy czas oczekiwania!

Długi czas oczekiwania na odpowiedź międzyserwerową generuje kod błędu 504. Error w zakresie pracy serwera HTTP o tym numerze, określony w opisie słownym jako Gateway Timeout, w wielu przypadkach będzie mógł być rozwiązany jedynie przez administratora. Błąd ten sugeruje, że choć sam serwer pośredni działa poprawnie, nie mógł otrzymać odpowiedzi od następnego serwera w łańcuchu na czas, aby skompletować żądanie. W praktyce, oznacza to, że próba połączenia z serwerem docelowym (najczęściej serwerem WWW) była skuteczna, ale serwer ten nie był w stanie zwrócić odpowiedzi na czas. Przyczyny takiego stanu rzeczy mogą być różne – od problemów sieciowych, przez przeciążenie serwera, aż po awarię sprzętu lub oprogramowania serwera docelowego.

Niezależnie od przyczyny, użytkownik końcowy może zobaczyć status HTTP 504, gdy przegląda strony internetowe lub korzysta z usług online. Często wystarczy poczekać kilka minut i spróbować odświeżyć stronę, aby problem został rozwiązany. Jeśli jednak problem utrzymuje się, warto skontaktować się z administratorem strony lub dostawcą usługi internetowej, aby zgłosić problem.

W przypadku administratorów serwerów, diagnozowanie i rozwiązywanie problemów związanych z błędem 504 może wymagać sprawdzenia logów serwerów, monitoringu obciążenia serwera i potencjalnie kontaktu z dostawcami usług hostingowych lub sieciowych w celu identyfikacji i rozwiązania problemu.

Co możesz zrobić, aby Twoja strona była lepiej widoczna w Google? Do zasad pisania wartościowych treści dla algorytmów, jak i użytkowników, dołącz monitoring kodów odpowiedzi HTTP linków Twojej witryny. Im mniej błędów w tym zakresie, tym lepszy wizerunek Twojej strony w oczach robota indeksującego!