HTTP 404
Mesajul de eroare HTTP 404, 404 Not Found, 404, Page Not Found sau Server Not Found este un cod de răspuns Hypertext Transfer Protocol (HTTP), în comunicațiile în cadrul rețelelor computerizate, pentru a indica faptul că browserul a putut comunica cu un anumit server, dar serverul nu a putut găsi ceea ce a fost solicitat. În continuare, atunci când informațiile solicitate sunt găsite, dar accesul nu este acordat, serverul poate de asemenea returna o eroare 404 dacă dorește să nu dezvăluie aceste informații.[1]
Serverul de găzduire a site-ului web va genera în mod obișnuit o pagină web „404 Not Found” atunci când un utilizator încearcă să urmeze o legătură deconectată sau inexistentă; prin urmare, eroarea 404 este una dintre cele mai recunoscute erori întâlnite pe World Wide Web.
Prezentare generală
În timpul comunicațiilor prin HTTP, un server este obligat să răspundă la o solicitare, cum ar fi o cerere a browserului web pentru o pagină web, cu un cod de răspuns numeric și un mesaj opțional, obligatoriu sau interzis (bazat pe codul de stare). În codul 404, prima cifră indică o eroare a clientului, cum ar fi un URL incorect scris Uniform Resource Locator (URL). Următoarele două cifre indică eroarea specifică întâlnită. Utilizarea codurilor de trei cifre de către HTTP este similară cu cea a acestor coduri în protocoalele anterioare, cum ar fi FTP și NNTP . La nivelul HTTP, un cod de răspuns 404 este urmat de o „frază motiv” care poate fi citită de persoane. Specificația HTTP sugerează expresia "Not Found"[2] (Negăsit) și multe servere web emit în mod implicit o pagină HTML care include atât codul 404 cât și fraza "Not Found".
O eroare 404 este adesea returnată atunci când paginile au fost mutate sau șterse. În primul caz, este mai bine să se folosească o mapare URL sau redirecționare URL revenind un răspuns 301 Moved Permanently (Mutat Permanent), care poate fi configurat în majoritatea fișierelor de configurare a serverului sau prin rescrierea URL-ului ; în cel de-al doilea caz, mesajul ”410 Gone” (410 Plecat) ar trebui returnat. Deoarece aceste două opțiuni necesită o configurație specială a serverului, majoritatea site-urilor web nu le folosesc.
Erorile 404 nu trebuie confundate cu erorile DNS, care apar atunci când URL-ul dat se referă la un nume de server care nu există. O eroare 404 indică faptul că serverul însuși a fost găsit, dar că serverul nu a putut să recupereze pagina solicitată.
Erori soft 404
Unele site-uri web raportează o eroare „nu a fost găsită” întorcând o pagină web standard cu un cod de răspuns „200 OK”, raportând în mod fals că pagina a fost încărcată corect; acest lucru este cunoscut sub numele de soft 404. Termenul "soft 404" a fost introdus în 2004 de Ziv Bar-Yossef și colab.[3]
Soft 404s sunt problematice pentru metodele automate de a descoperi dacă o legătură este ruptă. Unele motoare de căutare, precum Yahoo și Google, folosesc procese automatizate pentru a detecta 404-uri soft.[4] Soft 404s pot apărea ca urmare a erorilor de configurare atunci când se utilizează anumite programe de server HTTP, de exemplu cu software-ul Apache, când un Document de eroare 404 (specificat într-un fișier .htaccess ) este specificat ca o cale absolută (de exemplu http: // exemplu .com / eroare.html ) mai degrabă decât o cale relativă (/error.html). [5] Acest lucru se poate face și cu scopul de a forța anumite browsere (cum ar fi Internet Explorer ) să afișeze un mesaj de eroare 404 personalizat, mai degrabă decât să înlocuiască ceea ce este servit cu un mesaj de eroare „prietenos” specific browserului (în Internet Explorer, acest comportament este declanșat atunci când 404 este servit, iar HTML-ul primit este mai scurt decât o anumită lungime și poate fi dezactivat manual de către utilizator).
Există, de asemenea, erori "soft 3XX" în care conținutul este returnat cu un status 200, dar provine de la o pagină redirecționată, cum ar fi atunci când paginile lipsă sunt redirecționate către pagina rădăcină / pagina principală a domeniului.
Servere proxy
Unele servere proxy generează o eroare 404 atunci când un cod de eroare de 500 de grade ar fi mai corect. Dacă serverul proxy nu poate satisface o solicitare pentru o pagină din cauza unei probleme cu gazda la distanță (cum ar fi eșecurile de rezolvare a numelui de gazdă sau conexiunile TCP refuzate), aceasta ar trebui descrisă ca o eroare a serverului intern 5xx, dar poate livra o 404 în loc . Acest lucru poate confunda programele care se așteaptă și acționează pe răspunsuri specifice, deoarece acestea nu mai pot distinge cu ușurință între un server web absent și o pagină web lipsă de pe un server web care este prezent.
404 intenționate
În iulie 2004, furnizorul britanic de telecomunicații BT Group a implementat sistemul de blocare a conținutului Cleanfeed, care returnează o eroare 404 oricărei solicitări de conținut identificate drept potențial ilegale de Internet Watch Foundation . [6] Alte ISP-uri returnează o eroare HTTP 403 „interzisă” în aceleași circumstanțe. [7] Practica de a folosi erori false de 404 ca mijloc de a ascunde cenzura a fost de asemenea raportată în Thailanda [8] și Tunisia . [9] În Tunisia, unde cenzura era severă înainte de revoluția din 2011, oamenii au luat cunoștință de natura falselor erori 404 și au creat un personaj imaginar numit „ Ammar 404 ” care reprezintă „cenzorul invizibil”. [10]
Coduri de eroare substatus Microsoft Internet Server 404
Software-ul webserver dezvoltat de Microsoft, Serviciile de Informații Internet (IIS) de la Microsoft, returnează un set de coduri de substatus cu 404 răspunsuri. Codurile substatus iau forma cifrelor zecimale anexate codului de stare 404. Codurile substatus nu sunt recunoscute oficial de IANA și nu sunt returnate de serverele non-Microsoft.
Coduri substatus
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/404_Store_Not_Found.jpg/300px-404_Store_Not_Found.jpg)
Serverele IIS 7.0, IIS 7.5 și IIS 8.0 ale Microsoft definesc următoarele coduri de substatus HTTP pentru a indica o cauză mai specifică a unei erori 404:
- 404.0 - Nu a fost găsit.
- 404.1 - Site-ul nu a fost găsit.
- 404.2 - restricție ISAPI sau CGI .
- 404.3 - restricție de tip MIME .
- 404.4 - Nu este configurat niciun handler.
- 404.5 - Negat prin configurarea filtrării cererii.
- 404.6 - Verbul respins.
- 404.7 - Extensia fișierului refuzată.
- 404.8 - Spațiu de nume ascuns.
- 404.9 - Atributul de fișier ascuns.
- 404.10 - Cerere antet prea lung.
- 404.11 - Cererea conține o secvență de evadare dublă.
- 404.12 - Cererea conține caractere de biți mari.
- 404.13 - Lungimea conținutului prea mare.
- 404.14 - Solicitare URL prea lungă.
- 404.15 - Șir de interogare prea lung.
- 404.16 - Solicitarea DAV a fost trimisă la gestionarea fișierului static.
- 404.17 - Conținut dinamic mapat în gestionarea fișierului static printr-o mapare MIME cu wildcard.
- 404.18 - Secvența de șir de interogare refuzată.
- 404.19 - Negat prin regula de filtrare.
- 404.20 - Prea multe segmente URL.
Pagini de eroare personalizate
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Wikimedia_error_404.png/220px-Wikimedia_error_404.png)
Serverele Web pot fi configurate de obicei pentru a afișa o pagină de eroare 404 personalizată, incluzând o descriere mai naturală, marcarea site-ului părinte și uneori o hartă a site-ului, un formular de căutare sau un widget de 404 pagini. Fraza de nivel de protocol, care este ascunsă de utilizator, este foarte rar personalizată. Cu toate acestea, Internet Explorer nu va afișa pagini personalizate, cu excepția cazului în care sunt mai mari de 512 octeți, optând în schimb să afișeze o pagină de eroare „prietenoasă”. [11] Google Chrome a inclus funcționalități similare, unde 404 este înlocuit cu sugestii alternative generate de algoritmi Google, dacă pagina are dimensiunea sub 512 octeți. O altă problemă este că, dacă pagina nu oferă un punct de referință, și există o pagină personalizată separată 404, traficul suplimentar și timpii de încărcare mai lungi vor fi generate pe fiecare pagină. [12] [13]
Multe organizații folosesc 404 de pagini de eroare ca o oportunitate de a injecta umor în ceea ce altfel ar putea fi un site web serios. De exemplu, Metro UK arată un urs polar pe un skateboard, iar agenția de dezvoltare web Left Logic are un program de desen simplu.[14] Pe parcursul campaniei electorale generale din Marea Britanie din 2015, principalele partide politice au folosit toate cele 404 de pagini pentru a-și propune adversarii politici sau pentru a arăta politicile relevante pentru susținătorii potențiali. [15] În Europa, proiectul NotFound, creat de mai multe organizații europene, inclusiv Missing Children Europe și Child Focus, încurajează operatorii site-ului să adauge un fragment de cod pentru a servi 404 pagini de eroare personalizate [16] care furnizează date despre copiii dispăruți . [17]
În timp ce multe site-uri web trimit informații suplimentare într-un mesaj de eroare 404 - cum ar fi un link către pagina principală a unui site web sau o casetă de căutare - unii încearcă să găsească pagina web corectă dorită de utilizator. Extensiile sunt disponibile pentru unele sisteme de gestionare a conținutului (CMS) pentru a face acest lucru. [18]
Urmărirea erorilor 404
Există o serie de instrumente care se glisează printr-un site web pentru a găsi pagini care returnează 404 coduri de stare. Aceste instrumente pot fi utile pentru a găsi link-uri care există pe un anumit site web. Limitarea acestor instrumente constă în faptul că găsesc linkuri doar într-un anumit site web și ignoră 404 rezultate din linkurile de pe alte site-uri web. Drept urmare, aceste instrumente lipsesc de la 83% din 404 de pe site-urile web.[19] O modalitate de a evita acest lucru este de a găsi 404 erori prin analizarea legăturilor externe. [20]
O altă metodă comună este urmărirea traficului către 404 de pagini folosind analiza fișierului jurnal.[21] Acest lucru poate fi util pentru a înțelege mai multe despre ce au ajuns 404 de utilizatori pe site. O altă metodă de urmărire a traficului la 404 de pagini este utilizarea instrumentelor de urmărire a traficului bazate pe JavaScript.[22]
Referințe
- ^ „RFC 7231, HTTP/1.1 Semantics and Content, Section 6.5.4 404 Not Found”. ietf.org. iunie 2014. Accesat în .
- ^ „RFC 7231, HTTP/1.1 Semantics and Content, Section 6.5.4 404 Not Found”. ietf.org. iunie 2014. Accesat în .
- ^ Ziv Bar-Yossef; Andrei Z. Broder; Ravi Kumar; Andrew Tompkins (). Sic Transit Gloria Telae: Towards an Understanding of the Web's Decay. Proceedings of the 13th International Conference on World Wide Web (WWW). pp. 328–337. doi:10.1145/988672.988716. ISBN 978-1581138443.
- ^ „Why is your crawler asking for strange URLs that have never existed on my site?”. Yahoo Ysearch Help page. Accesat în .
- ^ „Farewell to soft 404s”. Google Official Blog. Accesat în .
- ^ „LINX Public Affairs » Cleanfeed: the facts”. Publicaffairs.linx.net. . Arhivat din original la . Accesat în .
- ^ „DEMON – Error 403”. Accesat în .
- ^ Sambandaraksa, Don (). „The old fake '404 Not Found' routine”. Bangkok Post. Accesat în .
- ^ Noman, Helmi (). „Tunisian journalist sues government agency for blocking Facebook, claims damage for the use of 404 error message instead of 403”. Open Net Initiative. Accesat în .
- ^ „Anti-censorship movement in Tunisia: creativity, courage and hope!”. Global Voices Advocacy. . Arhivat din original la . Accesat în .
- ^ „Friendly HTTP Error Pages”. msdn.com. . Arhivat din original la . Accesat în .
- ^ Heng, Christopher (). „What is Favicon.ico and How to Create a Favicon Icon for Your Website”. The Site Wizard. Accesat în .
- ^ „The Dastardly "favicon.ico not found" Error”. Internet Folks. .
- ^ „From skateboarding bears to missing children: The power of the 404 Not Found error page”. Metro. . Accesat în .
- ^ „The political Page 404 war”. BBC Newsbeat. . Accesat în .
- ^ „Notfound.org”. Arhivat din original la .
- ^ „Missing children messages go on 404 error pages”. BBC News. . Accesat în .
- ^ Swenson, Sahala (). „Make your 404 pages more useful”. Official Google Webmaster Central Blog. Google, Inc. Accesat în .
- ^ „Sources Leading To 404s”. SpringTrax. Accesat în .
- ^ Cushing, Anne (). „A Data-Centric Approach To Identifying 404 Pages Worth Saving”. Search Engine Land. Accesat în .
- ^ „Tracking and Preventing 404 Errors”. 404errorpages.com. Accesat în .
- ^ „Understand 404 Errors”. SpringTrax.com. Accesat în .
Vezi și
Legături externe
- Un mai util 404
- 404anwnne Nu s-a găsit Protocolul de transfer de hipertext (HTTP / 1.1): Specificații semantice și conținut, în cadrul grupului de lucru Internet Engineering
- Directiva ErrorDocument - instrucțiuni privind paginile de eroare personalizate pentru serverul web Apache 2.0
- 404 Nu a fost gasit - o melodie premiată despre codul de eroare