En el món del desenvolupament web, els codis d'error HTTP tenen un paper fonamental per afectar l'experiència de l'usuari i la reputació d'un lloc web. En aquest article, considerarem una llista completa de codis d'error del servidor, analitzarem el seu significat i aprendrem a interpretar de manera eficaç els codis de resposta del servidor per resoldre problemes i optimitzar el rendiment de les aplicacions web.
Què és un codi de resposta HTTP
El codi de resposta HTTP és l'idioma dels servidors web que tradueix les sol·licituds del navegador en instruccions comprensibles. És com un poeta responent preguntes virtuals, donant-los sentit i direcció. Els codis de resposta no sempre són codis d'error HTTP. Per exemple, "200 OK" significa que tot està bé, però l'error HTTP "404 Not Found" significa que la pàgina es perd a l'espai virtual. Cada codi és una expressió única de l'estat del servidor, la descodificació del qual ens permet entendre què passa a l'altra banda del món virtual.
Codis 1xx (informació)
Els codis d'estat 1xx del protocol HTTP són una mena de primer enllaç en el diàleg entre el servidor i el client. En lloc de donar una resposta completa a una sol·licitud, proporcionen informació sobre l'estat actual, fent que l'intercanvi de dades sigui més eficient. Fem-los una ullada més de prop:
100 Continua. Codi de resposta HTTP en el qual el servidor dóna llum verda a l'usuari, permetent-li continuar enviant una sol·licitud gran amb seguretat.
101 Protocols de commutació. El servidor diu al client que està canviant les regles del joc, per exemple, passant d'HTTP a HTTPS més segur. En aquest cas, s'utilitza la capçalera "Actualització" per al canvi de protocol.
102 Tramitació. Aquest codi és com un missatge que el servidor ha acceptat la sol·licitud, però encara està ocupat amb una operació complexa.
103 primers consells. Aquí el servidor envia diverses capçaleres indicatives al client abans de la resposta principal, advertint sobre alguna cosa que pot ser rellevant en un futur proper.
Codi 2xx (èxit)
Els codis d'error HTTP del grup 2xx indiquen una sol·licitud satisfactòria del servidor. Bàsicament actuen com a "llum verda" en l'àmbit de les comunicacions web, confirmant que tot va segons el previst i s'ha completat amb èxit.
200 OK. Aquest estat s'utilitza quan el servidor processa una sol·licitud mitjançant el mètode GET sense problemes i retorna les dades sol·licitades com a resposta. La capçalera "Tipus de contingut" informa del tipus de contingut a la resposta. Només informa al client que la sol·licitud ha tingut èxit.
201 Creat. Aquí el servidor anuncia la creació d'un nou recurs.
202 Acceptat. El servidor fa saber a l'usuari que la sol·licitud ha estat acceptada, però trigarà un temps a respondre.
203 Informació no autoritzada. Aquest codi proporciona al client dades que potser no són oficials, però que es poden utilitzar per comparar.
204 Sense contingut. El servidor ha processat la sol·licitud però no retorna cap contingut addicional.
205 Restablir contingut. Aquí es demana al client que restabliri la vista o les dades actuals després de l'enviament.
206 Contingut parcial. Aquest cas indica que la resposta conté només una part del contingut sol·licitat. La capçalera "Interval de contingut" indica l'interval de contingut parcial.
207 Multiestatus. El servidor ha completat correctament una sol·licitud de diverses operacions del client i la resposta conté informació sobre l'estat de cadascuna de les operacions.
226 IM utilitzat. Aquest codi indica que el servidor va utilitzar el mètode de metadades incrementals (IM) i va respondre passant només les parts de recursos modificades al client.
Codis 3xx (redireccions)
Els codis 3xx del protocol HTTP són com a punters que guien l'usuari cap a una nova ubicació del recurs. Informen al client que s'han de fer un seguiment per obtenir el contingut sol·licitat o per ser redirigit a un altre recurs. Submergem-nos en els detalls de cadascun d'ells:
300 opcions múltiples. El client rep un senyal que hi ha diverses ubicacions possibles per al recurs i se li dóna una opció com a resposta. En les circumstàncies actuals, la capçalera "Ubicació" pot indicar opcions alternatives per al recurs.
301 Mogut permanentment. El servidor informa a l'usuari que el recurs s'ha mogut permanentment a una altra ubicació.
302 trobats. Aquest codi HTTP és similar a una redirecció temporal. El servidor informa al consumidor que el recurs està disponible temporalment en un URL diferent. La capçalera "Ubicació" apunta al nou URL per a la redirecció temporal.
303 Vegeu Altres. Es diu al client que el recurs està disponible en una URL diferent i ha de fer una sol·licitud GET a aquesta nova adreça.
304 no modificat. Aquest estat indica al client que el recurs no ha canviat des de l'última sol·licitud i que no cal que es torni a descarregar. Quan es fa una sol·licitud, s'utilitza la capçalera "If-Modified-Since" per comprovar si el recurs s'ha modificat.
305 Utilitzeu el proxy. Com a resposta, el servidor informa que hauria d'utilitzar el servidor intermediari especificat per accedir al recurs sol·licitat.
306 (reservat) — El codi s'ha reservat, però de fet no s'utilitza.
307 Redirecció temporal. Aquest codi és similar al 302 Found, però requereix que el client es mantingui en el mètode de sol·licitud que s'utilitzava a la sol·licitud original.
308 Redirecció permanent. Indica que el recurs ha fet un moviment permanent a un nou URI i que el client hauria d'utilitzar el nou URI per a totes les sol·licituds futures.
Error HTTP 4xx (errors del client)
Els codis d'error HTTP 4xx indiquen errors del client. Això vol dir que el problema és del costat de l'usuari, com ara el navegador web o l'aplicació.
Sol·licitud incorrecta de 400. El servidor no pot processar la sol·licitud a causa d'errors de sintaxi, dades no vàlides o altres errors del costat del client.
401 No autoritzat. El servidor no pot processar la sol·licitud a causa d'errors de sintaxi, dades no vàlides o altres errors del costat del client.
402 Pagament obligatori. El codi no està actiu en aquest moment i està reservat per a un ús futur. Pot indicar la necessitat de pagar abans d'accedir al recurs en el futur.
Error HTTP 403 prohibit. El client no té els drets suficients per accedir al recurs sol·licitat.
404 No trobat. El recurs sol·licitat no existeix al servidor. Aquest és un dels errors més comuns dels usuaris.
No es permet el mètode 405. El servidor no admet el mètode de sol·licitud especificat durant aquest recurs. La capçalera "Permetre" indica els mètodes permesos per al recurs. Amb aquest codi,
406 No acceptable. El servidor no pot proporcionar dades en un format que pugui ser acceptat pel client.
407 Es requereix autenticació de proxy. L'autenticació al servidor intermediari és necessària per accedir al recurs sol·licitat.
408 Sol·licitud de temps d'espera. El servidor estava esperant rebre una sol·licitud del client, però s'ha esgotat el temps d'espera. La capçalera "Reintentar-després" pot indicar el temps després del qual es pot tornar a intentar la sol·licitud.
409 Conflicte. La sol·licitud no es pot completar a causa d'un conflicte amb l'estat actual del recurs.
410 Desaparegut. El recurs sol·licitat existia anteriorment, però ara s'ha suprimit i no s'espera la seva restauració.
411 Longitud requerida. El servidor demana especificar la longitud del contingut a la sol·licitud; l'absència d'aquesta informació es considera un error.
412 La condició prèvia ha fallat. No es compleix una condició prèvia a la sol·licitud, que impedeix que s'executi.
413 Càrrega útil massa gran. La mida de les dades de la sol·licitud supera els límits del servidor.
414 URI massa llarg. La longitud de l'URI a la sol·licitud supera els límits acceptables.
415 Tipus de suport no compatible. El servidor no pot processar el tipus de dades proporcionat a la sol·licitud.
416 Interval no satisfactori. Error HTTP on l'interval sol·licitat no coincideix amb les dades actuals del servidor.
417 L'expectativa ha fallat. La condició esperada a la capçalera "Espera" no s'ha complert.
418 Sóc una tetera. Aquest codi s'inclou com a broma i no implica cap acció real per a l'usuari o el servidor, i no és un error total. Indica que el servidor és una tetera i no és capaç de fer cafè.
421 Sol·licitud mal dirigida. El servidor no processa la sol·licitud a causa d'un error en la sol·licitud o la configuració del servidor.
422 Entitat no processable. El servidor entén la sol·licitud, però no la processa a causa d'errors de dades.
423 Tancat. El recurs està bloquejat i no es pot processar.
424 Dependència fallida. La sol·licitud depèn d'una altra sol·licitud no executada.
425 Massa aviat. El servidor no està preparat per processar la sol·licitud a causa de la seva arribada anticipada.
426 Actualització necessària. El servidor requereix l'ús d'un protocol més avançat per processar la sol·licitud.
428 Condició prèvia necessària. El servidor requereix que s'especifiquen determinades condicions prèvies a la sol·licitud.
429 Massa sol·licituds. El client va enviar massa peticions en poc temps, superant els límits del servidor.
431 Camps de capçalera de sol·licitud massa grans. Les capçaleres de la sol·licitud superen la mida màxima permesa.
449 Torna-ho a provar amb. Indica que la sol·licitud no la pot executar el servidor actual, però pot ser processada amb èxit per un altre servidor i el client hauria de tornar a provar la sol·licitud amb un URI nou.
451 No disponible per motius legals. El recurs no està disponible per motius legals.
499 Sol·licitud de client tancada. El servidor va rebre la sol·licitud, però el client va tancar la connexió abans de completar el processament.
Error HTTP 5xx (errors del servidor)
Els codis d'error HTTP 5xx indiquen els problemes del servidor. Aquests codis indiquen problemes que s'han produït al costat del servidor, fent que el servidor no pugui processar la sol·licitud de l'usuari de manera correcta. Fem-los una ullada més de prop:
Error HTTP 500 Error intern del servidor. El servidor es troba amb circumstàncies inesperades que li impedeixen completar la sol·licitud. La capçalera "Servidor" pot indicar el servidor on s'ha produït l'error.
501 No implementat. El servidor no admet la funcionalitat necessària per processar la sol·licitud del client. La capçalera "Via" pot indicar el servidor intermediari a través del qual s'ha produït l'error.
502 Bad gateway. Aquest codi significa que el servidor que actua com a proxy ha rebut una resposta incorrecta d'un altre servidor.
HTTP error El servei 503 no està disponible. El servidor no pot processar les sol·licituds temporalment.
504 Timeout de la passarel·la. El servidor, que actua com a proxy, no va rebre una resposta oportuna d'un altre servidor.
No s'admet la versió HTTP 505. El servidor no admet la versió del protocol HTTP especificada a la sol·licitud. Com a opció de còpia de seguretat, la capçalera "Actualització" pot indicar protocols compatibles.
La variant 506 també es negocia. Aquest estat no s'utilitza a HTTP/1.1; tanmateix, si el servidor detecta una configuració interna que provoca ambigüitat en la negociació del contingut, pot utilitzar aquesta resposta.
507 Emmagatzematge insuficient. El servidor no pot satisfer la sol·licitud a causa de l'espai d'emmagatzematge insuficient al servidor.
508 Bucle detectat. El servidor ha detectat un bucle mentre processa la sol·licitud i es nega a completar la sol·licitud per evitar un bucle infinit.
509 S'ha superat el límit d'amplada de banda. L'error es produeix quan es supera l'ample de banda del servidor a causa d'un gran volum de sol·licituds o trànsit.
510 No ampliat. El client ha de transferir extensions addicionals per continuar la sol·licitud.
511 Es requereix autenticació de xarxa. El client s'ha d'autenticar per accedir a la xarxa.
Com comprovar el codi d'estat de la pàgina
En aquesta secció, considerarem tres maneres principals de comprovar el codi d'estat de la pàgina: mitjançant la línia d'ordres, utilitzant un navegador web i utilitzant serveis en línia independents. Cadascun d'aquests mètodes té els seus propis avantatges i pot ser útil en diferents situacions.
Comprovació de la resposta del servidor mitjançant la línia d'ordres
La línia d'ordres proporciona una manera còmoda de comprovar el codi d'estat de la pàgina sense haver d'utilitzar un navegador web. Per a aquest mètode, heu d'obrir la línia d'ordres i utilitzar l'ordre:
curl -I http://page-address
Aquesta ordre envia una sol·licitud HEAD (només sol·licitud de capçaleres) a l'URL especificat i mostra informació inclòs el codi d'estat HTTP:
L'exemple anterior mostra un codi de resposta correcta. En el cas d'una resposta que conté un codi d'error, com ara l'error HTTP 404 Not Found, el resultat serà similar:
Comprovació de la resposta del servidor mitjançant la consola del navegador
La consola de desenvolupadors del navegador web ofereix eines per dur a terme diverses operacions, inclosa la comprovació del codi d'estat de la pàgina. Per veure el codi HTTP a la resposta del servidor, heu d'obrir la consola del desenvolupador (Ctrl+Maj+K) o (Ctrl+Maj+J) segons el navegador utilitzat. A continuació, seleccioneu la secció "xarxa" i carregueu la pàgina desitjada:
Comprovació de la resposta del servidor mitjançant eines independents
Hi ha un gran nombre de serveis en línia independents que proporcionen eines per comprovar el codi d'estat de la pàgina web. Aquests serveis normalment us permeten rebre ràpidament una visió general de la disponibilitat i el rendiment del vostre recurs. Tots funcionen amb el mateix principi. Com a exemple, considerarem el recurs més popular: httpstatus.io
En primer lloc, heu d'obrir el servei en si, després introduïu l'adreça de la pàgina quina resposta necessiteu esbrinar i sol·liciteu la verificació:
El resultat es mostrarà a la part inferior de la pàgina:
Conclusió
En conclusió, cal subratllar que comprendre i poder llegir els codis d'error HTTP és una habilitat clau per a qualsevol persona implicada en el desenvolupament web i el manteniment del servidor. A mesura que descobrim cada error i explorem les eines per detectar-los, veiem els motius pels quals és tan important gestionar amb eficàcia aquests aspectes dels serveis web.