Optymalizując stronę często zapomina się o zadbaniu o strony, które nie tak często się ogląda – mowa oczywiście o stronach błędów. Strony te, to dokumenty wyświetlane w sytuacji, kiedy serwer zwróci kod błędu w nagłówku. Najczęściej zwracany jest komunikat o braku pliku lub o chwilowym przeciążeniu serwera.

Typowa strona wygląda dosyć kiepsko i mało estetycznie: Strona błędu IE

O wiele lepiej gdy użytkownik zobaczy stronę wkomponowaną wizualnie w wygląd naturalny witryny, czyli kiedy komunikaty o błędzie będą pokazywane tak jak normalne części strony. Więcej o obsługiwaniu stron błędów dowiesz się w dalszej części tego rozdziału.

Z punktu pozycjonowania, optymalizowanie tego elementu jest ważnym punktem. Jeśli do naszej podstrony prowadzą linki z innych serwisów najczęściej nie mamy na nie dużego wpływu. Rodzi to spory problem, jeśli link jaki ktoś umieścił. na przykład na forum, zawiera literówkę wszyscy użytkownicy zobaczą dosyć niemiły widok, który zaprezentowano powyżej. Za takimi linkami na forach czy innych stronach, które Cie polecają pójdą również roboty wyszukiwarek, należy więc zapewnić by nawet błędne adresy były nam pomocne – na takich stronach warto umieścić ważne linki, które pomogą nam w kierowaniu błędnie skierowanymi użytkownikami.

Całkiem ciekawą galerię błędów 404 można znaleźć tutaj.

Rodzaje błędów zwracanych przez strony www

Status operacji zwracany jest w postaci trzycyfrowej liczby, dzieje się tak nawet w przypadku prawidłowego wczytania strony. Zwracany wtedy status to 200. Dodatkowo stosuje się dla zasobów przeniesionych na inny serwer statusy 3xx

  • 200 OK – żądanie do serwera zostało zrealizowane pomyślnie
  • 301 Moved Permanently – zasób dostępny pod tym adresem został na stałe przeniesiony i tam należy szukać go w przyszłości
  • 302 Found – zasób został tymczasowo przeniesiony na inny adres. W przyszłości należy szukać zasobu pod dotychczasowym zapytaniem.

Gdy poznaliśmy już komunikaty pozytywne, zwracane przez serwer w przypadku sukcesu czas przejść do błędów. Te natomiast rozpoczynają się cyfrą 4 lub 5. Błędy spowodowane przez użytkownika:

  • 400 Bad Request – Błędne zapytanie
  • 401 Unauthorized – Dostęp wymaga autoryzacji
  • 402 Payment Required – Wymagana opłata
  • 403 Forbidden – Dostęp został zabroniony
  • 404 Not Found – Nie znaleziono pliku na serwerze
  • 405 Method Not Allowed – Metoda niedozwolona
  • 406 Not Acceptable – Nie można zwrócić odpowiedzi na dane zapytanie
  • 407 Proxy Authentication Required – Wymagana autoryzacja
  • 408 Request Time-out – Przekroczono czas oczekiwania
  • 409 Conflict – Konflikt statusów pomiędzy zasobami
  • 410 Gone – Zasób, którego żądasz został usunięty
  • 411 Length Required – Odmowa realizacji, ze względu na brak Content-Lenght
  • 412 Precondition Failed – Nie spełniono warunków
  • 413 Request Entity Too Large – Za długie zapytanie
  • 414 Request-URI Too Large – Adres URL zapytania jest za długi
  • 415 Unsupported Media Type – Niezrozumiały komunikat dla serwera
  • 416 Requested range not satisfiable – Żądany zakres nie jest obsługiwany
  • 417 Expectation Failed – Niepowodzenie w zwracaniu zawartości

W określeniu spowodowane przez użytkownika, nie chodzi o sam fakt, że użytkownik dokonuje błędu. W głównej mierze wina pochodzi z zewnątrz, gdy na przykład adres do pliku zawiera literówkę zwrócony zostanie błąd 404, gdyż plik nie zostanie znaleziony na serwerze.

Druga grupa zwracanych statusów to statusy wynikające z winy serwera, błędy te są na przykład zwracane, kiedy ten nie ma możliwości wykonać naszego zapytania:

  • 500 Internal Server Error – Wewnętrzny błąd serwera
  • 501 Not Implemented – Zapytanie nie zostało zrozumiane przez serwer. Nie zwrócono żądanej zawartości
  • 502 Bad Gateway – Błąd bramy, zwrócona wartość przez serwer jest niepoprawna
  • 503 Service Unavailable – Przeciążenie lub brak dostępności serwera
  • 504 Gateway Time-out – Przekroczony czas oczekiwania na odpowiedz serwera.
  • 505 HTTP Version not supported – Ta wersji HTTP nie jest obsługiwana przez serwer

Angielskojęzyczna dokumentacja protokułu http dotycząca odpowiedzi serwera i statusów błędów dotyczących serwera, znajdziesz na stronie W3C.org: http://www.w3.org/Protocols