Què signifiquen aquests codis d'estat HTTP?

Què signifiquen aquests codis d'estat HTTP?

Els codis d'estat HTTP són una part vital de la navegació web. Cada vegada que feu una sol·licitud, cada cop que feu clic a un enllaç o introduïu un URL, obtindreu una resposta. Darrere d’aquesta resposta hi ha un codi numèric que resumeix el resultat.





Heu sentit a parlar del codi 404 i probablement heu maleït el navegador cada vegada que en mostra un. Però HTTP és més potent del que us podríeu adonar i els codis d'estat gestionen molts escenaris diferents. Seguiu llegint per obtenir més informació sobre aquests petits números críptics.





Com es comuniquen els clients i servidors web

La navegació web és possible gràcies a la comunicació entre clients i servidors. Quan demaneu visualitzar una pàgina, el vostre client (navegador) envia una sol·licitud a un servidor (lloc web). Aquesta sol·licitud és satisfactòriament satisfactòria, moment en què el servidor us envia una resposta perquè la llegiu.





En la seva resposta, el servidor web inclou més que només el contingut. Per començar, inclou una sèrie de capçaleres, petits trossos de metadades que s’apliquen a la resposta. Per exemple, el fitxer Tipus de contingut la capçalera pot tenir aquest aspecte:

Content-Type: text/html; charset=UTF-8

Això significa que la resposta és HTML en lloc d'una imatge o un fitxer de música.



Però abans del contingut, fins i tot abans de les capçaleres, cada resposta HTTP inclou una línia que té un aspecte semblant:

HTTP/1.1 200 OK

En aquest exemple, al costat de la versió HTTP (1.1), un codi d'estat diu 200 OK. En altres paraules, tot és bo, aquí teniu el vostre contingut. El 200 és el bit més important. Els sistemes poden provar-los per determinar exactament què ha passat. L'OK és un breu suggeriment breu, que descriu l'estat dels humans que observen.





Exemples de codis d'estat comuns

Els codis d'estat 404 i 200 són molt comuns, però hi ha moltes més possibilitats.

  • 500 (ERROR INTERN DEL SERVEI) és un estat d'error. Vol dir que alguna cosa ha fallat al servidor i no pot satisfer la sol·licitud. Pot ser un error de programació o algun altre error en temps d'execució.
  • 403 PROHIBIT) significa que el servidor ha entès la sol·licitud però es nega a permetre-la. Això sovint s'aplica a accions relacionades amb l'usuari en aplicacions web més complicades. Per exemple, intentar editar una publicació que posseeix una altra persona.
  • 401 (NO AUTORITZAT) és molt similar a 403. En aquest cas, la sol·licitud original no té permís per accedir al recurs perquè no proporcionava cap credencial d’usuari. Dit d’una altra manera, no heu iniciat la sessió.
  • 400 (MALA SOL·LICITUD) significa que el servidor no ha pogut entendre el que es demanava. Potser hi falta informació, com ara un paràmetre URL. Potser alguna cosa va corrompre la sol·licitud en trànsit.

Grups de codis d'estat HTTP

Tots els codis d’estat que hem vist fins ara són de tres dígits, tots entre 200 i 500. Això no és casualitat. Els estats HTTP tenen una longitud de tres dígits, amb el primer dígit entre un i cinc, inclosos. I el valor d’aquest primer dígit situa el codi en un dels cinc grups, cadascun amb un significat específic.





El primer grup, 1xx, és informatiu. Tots aquests casos signifiquen que el servidor ha entès la sol·licitud, però no està preparat per enviar una resposta. No els veureu gaire en acció, però hi són per a sistemes que els necessiten.

El grup 2xx és la casa de la resposta que normalment voleu: 200 (OK) . Aquest és el cas d’èxit més habitual, però n’hi ha d’altres.

El 204 (SENSE CONTINGUT) el codi és força estrany. Un servidor el pot retornar com a resultat d'un PUT, un POST o un PATCH. El significat, en aquests casos, seria que el servidor realitzés l’actualització, però no cal retornar res al client.

Els codis del grup 3xx demostren com els estats HTTP van més enllà de comunicar l'èxit o el fracàs. Els codis d'estat que comencen per un 3 indiquen una redirecció. Això vol dir que la sol·licitud original no era dolenta, però el client hauria d’utilitzar un URL diferent.

Això pot ser temporal, com en el cas de 302 (TROBAT) , que un lloc pot utilitzar per allotjar un URL promocional que redirigeixi a una pàgina del producte final. Un lloc pot utilitzar una redirecció permanent a través de 301 (MOU PERMANENTMENT) estat. Aquesta és una bona pràctica quan, per exemple, un lloc ha canviat el nom d'una pàgina.

què paga més el servei de lliurament

Els estats de redirecció solen anar acompanyats d’un Ubicació capçalera. Això indica al client quina URL ha de sol·licitar en lloc de l'original. Els servidors solen respondre amb capçaleres addicionals. Aquests proporcionaran informació més útil que només el codi d’estat.

Els estats que comencen per un 4 són errors del client. Essencialment, volen dir que el navegador (o la persona que l’utilitza) ha fet alguna cosa malament. Ja n’hem parlat de diversos (400, 401, 403, 404) i aquest és el grup més gran de codis d’estat per import important. Altres exemples d'error del client inclouen sol·licitar un URL que existia abans, però que ja no existeix: 410 (ANAT) . També n’hi ha 429 (MASSA DE SOL·LICITUDS) , que admet la limitació de la taxa perquè els recursos no es desbordin. Això és molt utilitzat per les API REST.

Finalment, els estats del rang 500-599 indiquen que el servidor ha fallat mentre intentava complir la sol·licitud.

Obtenir l'estat HTTP amb curl

L'eina de línia d'ordres HTTP més utilitzada i universalment és rínxol . Mitjançant curl, podeu enviar sol·licituds HTTP a mà, veure els detalls de resposta subjacents i examinar els codis d'estat.

El programa curl no fa que sigui increïblement fàcil mostrar només un codi d’estat, però podeu fer-ho mitjançant algunes opcions, a saber:

  • -o diu a curl que enviï la seva sortida per defecte a un fitxer. Podeu utilitzar-lo per descartar tota la sortida normal.
  • -en mostra informació personalitzada d’un conjunt de variables disponibles, una de les quals és http_code, és a dir, el codi d’estat de la resposta.

També podeu utilitzar -s per amagar alguns detalls, normalment es mostra un rínxol sobre la transferència, com ara el progrés en temps real. A continuació s’explica com es combinen aquestes opcions:

$ curl -sw '%{http_code}' -o /dev/null http://example.org
200
$ curl -sw '%{http_code}' -o /dev/null http://bbc.co.uk
301

O bé, podeu utilitzar opcions lleugerament diferents i una canalització per manipular el resultat:

$ curl -sI http://example.org/no | head -1 | cut -f2 -d' '
404

Visualització dels codis d'estat en un navegador web

Si mai heu de comprovar els codis d’estat HTTP, el navegador web us pot ajudar. La majoria dels navegadors moderns tenen una consola que pot mostrar informació avançada. Utilitzant Chrome com a exemple, a continuació s'explica com es comprova el codi d'estat d'un URL:

  1. Trieu Veure -> Desenvolupador -> Eines per a desenvolupadors des del menú principal. Això commuta una petita finestra a la part inferior del navegador.
  2. Si encara no esteu mirant el Xarxa canvieu a la pestanya de la finestra Eines per a desenvolupadors.
  3. Feu clic a Doc per mostrar només les sol·licituds de contingut de la pàgina.
  4. Actualitzeu la pàgina que esteu veient.

Tingueu en compte que, juntament amb els URL sol·licitats, el navegador mostra un fitxer Estat columna. Mostra exactament quin codi d’estat ha enviat el servidor.

Altres recursos

Hi ha molts bons recursos que expliquen més sobre els codis d'estat HTTP. La pàgina de Wikipedia titulada Llista de codis d'estat HTTP i aquest document estàndard oficial de seguiment de dades són bons punts de partida.

La referència més útil pot ser httpstatuses.com . Explica tots els codis d’estat HTTP en un format concís i fàcil d’entendre. També proporciona detalls de codi útils que poden ser útils quan es programa qualsevol cosa relacionada amb HTTP.

El format dels URL de httpstatuses és particularment útil. La pàgina del codi d'estat 403 és simplement https://httpstatuses.com/403 . Podeu canviar fàcilment l'URL per cercar qualsevol codi d'estat que necessiteu.

Els estats HTTP fan que el web funcioni

El codi d’estat HTTP és un simple número de tres dígits que la majoria de la gent experimenta sota l’aparença del 404. Però és molt més potent que això i els codis d’estat admeten un ampli ventall de comportaments.

HTTP2 és la següent versió d'HTTP, però la bona notícia és que els codis d'estat continuen sent els mateixos. Tot el que heu après aquí seguirà sent rellevant per al futur previsible.

Compartir Compartir Tweet Correu electrònic Què és HTTP / 2 i com afecta el futur d'Internet?

Internet es farà més eficient gràcies a l'arribada d'HTTP / 2. Però, què és i com millora HTTP?

Llegiu a continuació
Temes relacionats
  • Programació
  • HTTPS
  • Seguretat del navegador
Sobre l'autor Bobby Jack(58 articles publicats)

Bobby és un entusiasta de la tecnologia que va treballar com a desenvolupador de programari durant gairebé dues dècades. És un apassionat dels jocs, treballa com a editor de ressenyes a Switch Player Magazine i està immers en tots els aspectes de la publicació en línia i el desenvolupament web.

l'accés a les dades de l'aplicació s'ha denegat a Windows 10
Més de Bobby Jack

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us