Co znaczą poszczególne kody odpowiedzi HTTP i jak wpływają na korzystanie ze strony? - Codium | Software House

Co znaczą poszczególne kody odpowiedzi HTTP i jak wpływają na korzystanie ze strony?

Strony internetowe Wszystkie
23/05/2023
5 min

Odpowiednie wykorzystanie kodów odpowiedzi HTTP ma spore znaczenie dla funkcjonalności strony. Szczególnie warto zwrócić uwagę na komunikaty o błędach, które zawierają ważne informacje zarówno dla użytkowników, jak i administratorów. Jak podejść do tego tematu, by zapewnić dobry efekt w kwestii UX?

Czym są kody odpowiedzi HTTP?

Protokół HTTP, który w dużej mierze odpowiada za działanie internetu, opiera się na komunikacji pomiędzy różnymi stronami, serwerami, użytkownikami czy aplikacjami z wykorzystaniem ściśle określonego formatu zapytań i odpowiedzi. Aby ułatwić odczytywanie informacji przez oprogramowanie, stosuje się trzycyfrowe oznaczenia z informacją o wyniku zapytania – to właśnie kody odpowiedzi HTTP. W teorii serwer może zdefiniować dowolne kody, jednak najczęściej stosuje się standardowy zestaw podzielony na pięć kategorii:

  • odpowiedzi informacyjne (HTTP 100–199)– potwierdzają otrzymanie zapytania i kontynuację przetwarzania;
  • kody powodzenia (HTTP 200–299)– pomyślne przyjęcie zapytania, przeważnie wraz z odpowiedzią w postaci żądanego pliku lub innego zasobu;
  • przekierowania (HTTP 300–399)– wykorzystywane wtedy, gdy zasoby znajdują się w innym miejscu niż adres z zapytania;
  • błędy klienta (HTTP 400–499)– obejmują problemy z zapytaniem (np. z jego składnią), które uniemożliwiają realizację;
  • błędy serwera (HTTP 500-599)– informują o problemach po stronie serwera mimo poprawnie wprowadzonego zapytania.

 

Choć liczba kodów możliwych do wykorzystania jest dość duża, oficjalny rejestr obejmuje tylko kilkadziesiąt zdefiniowanych odpowiedzi. Większość z nich jest używana dość rzadko – administratorzy stron zwykle skupiają się na kilku lub kilkunastu kodach przeznaczonych dla typowych sytuacji i najczęstszych błędów.

 

 

Informacyjne kody HTTP (1xx)

W tym przypadku przygotowanie odpowiedniej odpowiedzi dla użytkowników nie wymaga dodatkowej pracy na stronie. To kody stosowane jedynie do kontynuacji zapytań – niemal zawsze za wszelkie kwestie związane z przetwarzaniem odpowiedzialny będzie sam serwer. Są one najczęściej wykorzystywane do podziału zapytania na różne części, np. nagłówki i zawartość, by uniknąć długiego czasu przetwarzania w razie wystąpienia błędów.

 

Kody powodzenia (2xx)

Co ciekawe, mimo że większość użytkowników nie ma bezpośredniej styczności z kodami 2xx, na sprawnie działającej stronie będą one wykorzystywane właściwie przy większości odpowiedzi. Są one przeznaczone do stosowania przy pomyślnym wypełnieniu zapytania – np. do wyświetlenia zawartości strony. Oto kilka kodów z tej grupy, które warto znać:

  • 200 OK – ogólny, uniwersalny status zwracany jako poprawna odpowiedź serwera;
  • 201 Created – kod oznaczający utworzenie zasobu, stosowany np. przy dodaniu nowego wpisu do bazy;
  • 202 Accepted – informuje o przyjęciu zapytania w sytuacji, gdy jego przetwarzanie jeszcze się nie skończyło;
  • 204 No Content – zapytanie zostało zrealizowane, ale serwer nie ma żadnej treści do zwrotu, np. przy usuwaniu zasobów.

Również w tym przypadku dodatkowa praca przeważnie będzie zbędna. Warto jednak mieć na uwadze, że kod 200 powinien zawsze oznaczać poprawne wyświetlenie strony lub pliku.

 

Przekierowania – kody 3xx

To grupa kodów, która ma spore znaczenie nie tylko dla funkcjonowania strony internetowej, lecz także dla pozycjonowania. Odpowiedzi z zakresu 300–399 (a właściwie 300–310, ponieważ pozostałe nie mają standardowej definicji) oznaczają, że zasoby potrzebne do wypełnienia zapytania są dostępne, jednak znajdują się w innym miejscu na serwerze. Może mieć to miejsce m.in. wtedy, gdy zmieniamy strukturę adresów URL na stronie. Co ważne, istnieje rozróżnienie pomiędzy stałym a tymczasowym przekierowaniem:

  • 301 Moved Permanently – stałe przekierowanie, używane wtedy, gdy dany zasób (np. podstrona) ma być wyszukiwany pod nowym adresem;
  • 302 Found – przekierowanie tymczasowe; zapytania w przyszłości powinny być kierowane na pierwotny URL.

Z reguły kody 301 są bardziej przyjazne SEO, jednak z perspektywy użytkownika obie z powyższych odpowiedzi będą mieć podobne znaczenie. W obydwóch przypadkach efektem będzie przekierowanie na nową wersję strony. Należy zaznaczyć, że w większości sytuacji zaleca się minimalizowanie wykorzystania kodów 3xx – mogą one negatywnie wpływać m.in. na indeksowanie witryny oraz pozycjonowanie.

Kody 4xx, czyli błędy po stronie klienta

To odpowiedzi, z którymi możemy spotkać się stosunkowo często – zwłaszcza w przypadku błędu 404 oznaczającego brak żądanej zawartości. Oprócz tego warto wyróżnić kilka innych typowych problemów:

  • 400 Bad Request – nieprawidłowe zapytanie, przeważnie z powodu niepoprawnej składni (np. nieobsługiwane znaki w treści);
  • 401 Unauthorized – nieautoryzowany dostęp (np. dla zasobów, które wymagają logowania);
  • 403 Forbidden – zasoby nie mogą zostać zwrócone ze względów bezpieczeństwa;
  • 429 Too Many Requests – wykorzystywany wtedy, gdy serwer otrzyma w krótkim czasie zbyt wiele zapytań.

 

Jak obsłużyć tego typu błędy, by zapewnić komfortowe korzystanie ze strony nawet w razie problemów z zapytaniami? Przede wszystkim warto zwrócić uwagę na odpowiednie zaprezentowanie użytkownikowi informacji o błędzie. Dobrym sposobem będzie przygotowanie podstron na konkretne odpowiedzi, w szczególności dla kodu 404. Sam kod HTTP nie musi koniecznie znajdować się w zawartości. Zamiast niego często bardziej zrozumiały będzie krótki opis problemu – może on jednak iść w parze z kodem, by ułatwić zgłaszanie i diagnozowanie błędów.

 

Kolejną ważną kwestią przy błędach klienta jest umożliwienie powrotu do wcześniej wykonywanych czynności. Oznacza to, że podstrona prezentująca błąd nie powinna być „ślepą uliczką” – powinny się na niej znaleźć m.in. linki prowadzące do poprzedniej sekcji witryny lub do strony głównej. W przypadku gdy błąd wynika z braku zasobów (m.in. wtedy, gdy sklep internetowy nie ma produktu pod danym adresem URL), warto dołączyć do podstrony wyszukiwarkę, która pozwoli na sprawną kontynuację korzystania ze strony.

 

Błędy serwera – kody 5xx

Najczęściej wykorzystywane kody w tej grupie to 500 Internal Server Error (wewnętrzny błąd serwera) i 503 Service Unavailable (usługa niedostępna – stosowany m.in. przy przeciążeniu serwera). Tego typu odpowiedzi wiążą się przeważnie z tymczasowym brakiem możliwości korzystania ze strony. Z tego względu nie będzie potrzebne stosowanie linków czy udostępnianie wyszukiwarki. Zamiast tego należy skupić się na przygotowaniu podstrony z jasną prezentacją błędu. Dobrym pomysłem może być także zamieszczenie informacji kontaktowych, które pozwolą użytkownikom zorientować się, kiedy strona będzie dostępna ponownie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Tomasz Juśkiewicz Tomasz Juśkiewicz

Dusza towarzystwa i kreator pozytywnej atmosfery w naszym zespole. Idealny wieczór według Tomka to dobra muzyka i Lego

Kategorie

Popularne wpisy

Odbierz darmowy poradnik
Jak stworzyć konwertujący landing page

Zobacz ofertę