HTTP 404
HTTP 404 lub Not Found – kod błędu odpowiedzi HTTP wskazującego na to, że klient jest w stanie komunikować się z serwerem, ale ten nie może znaleźć żądanego pliku, lub jest on skonfigurowany, aby nie spełnić żądania i nie wyświetlać informacji.
Błędy 404 nie powinny być mylone z błędem „server not found” lub podobnymi, kiedy to klient nie może połączyć się z serwerem.
Omówienie
[edytuj | edytuj kod]Podczas komunikacji przez HTTP żądana jest od serwera odpowiedź, tak jak w przypadku gdy przeglądarka internetowa wysyła żądanie pobrania pliku HTML z numerycznym kodem odpowiedzi i podobnym do e-maila komunikatem MIME. W kodzie 404, pierwsza „4” oznacza błąd klienta, taki jak źle wpisany URL. Kolejne dwie cyfry oznaczają wystąpienie konkretnego błędu. Używanie przez HTTP trójcyfrowych kodów jest podobne do wcześniejszych protokołów jak FTP czy NNTP.
Popularna legenda twierdzi, jakoby kod błędu 404 wziął swoją nazwę od numeru pokoju w laboratoriach CERN, w którym zostało opracowane World Wide Web, jednakże w CERN nie ma pokoju 404[1].
Każdy kod odpowiedzi ma przyporządkowany łańcuch znaków w języku angielskim. Przy kodzie 404 jest to „Not Found”. Serwery, które wysyłają kod 404, zazwyczaj zawierają krótki plik HTML, który zawiera wzmiankę zarówno o numerycznym kodzie, jak i łańcuchu znaków. Te komunikaty mogą być dostosowywane do użytkownika w wielu rodzajach serwerów. Przykładowo w Apache może być to zrobione przez umieszczenie na serwerze pliku .htaccess lub przez edycję httpd.conf.
Internet Explorer nie wyświetla niestandardowych komunikatów, które są mniejsze niż 512 bajtów. Zamiast tego używa swojego wbudowanego komunikatu o błędzie. To domyślne zachowanie może być zmienione przez menu Narzędzia > Opcje internetowe i odznaczenie „Pokaż przyjazne komunikaty o błędach HTTP” w zakładce Zaawansowane.
Błąd 404 jest często zwracany, kiedy strona została przesunięta w inne miejsce lub usunięta. W pierwszym przypadku lepiej użyć odpowiedzi 301 Moved Permanently, która może być ustawiona w większości serwerów, lub przez URL rewriting. W drugim przypadku odpowiedź powinna brzmieć 410 Gone. Ponieważ te dwie opcje wymagają specjalnej konfiguracji serwera, większość stron internetowych nie używa ich.
Popularność WWW wprowadziła użycie „404” jako neologizmu, który oznacza zaginioną rzecz lub osobę. Również popularne stało się tworzenie humorystycznych stron 404 oraz witryn grupujących najciekawsze strony 404.
Fałszywe błędy 404
[edytuj | edytuj kod]Niektóre strony internetowe pokazują błąd „nie znaleziono”, jednak zwracając kod HTTP „200 OK”. Jest to tak zwane miękkie 404. Miękkie 404 stwarzają problemy przy automatycznych metodach sprawdzania, czy link jest sprawny, czy nie. Heurystyka odkrywania miękkich 404 została zaproponowana przez Bar-Yossef[2].
W lipcu 2004 brytyjska spółka telekomunikacyjna BT Group wprowadziła Cleanfeed – system blokowania stron, który zwraca błąd 404 dla każdego zapytania do stron zidentyfikowanych jako nielegalne przez Internet Watch Foundation. Rządy, które cenzurują Internet, również często zwracają nieprawdziwe błędy 404, kiedy użytkownik próbuje skorzystać z zablokowanej strony internetowej[potrzebny przypis].
Przypisy
[edytuj | edytuj kod]- ↑ History of 404. [dostęp 2007-07-11]. [zarchiwizowane z tego adresu (2007-07-11)].
- ↑ Sic Transit Gloria Telae: Towards an Understanding of the Web’s Decay. www2004.org. [zarchiwizowane z tego adresu (2007-02-10)]., § 3.
Linki zewnętrzne
[edytuj | edytuj kod]- ErrorDocument Directive (ang.) – instrukcje tworzenia własnych stron 404 w serwerze Apache 2.0
- Tworzenie własnych stron 404. alistapart.com. [zarchiwizowane z tego adresu (2014-01-11)]. (ang.).
- Różne strony 404 (ang.)
- Jak radzić sobie z błędami 404 (ang.)