Los códigos de estado HTTP es el protocolo de transferencia de hipertexto. Los códigos HTTP son un mensaje del servidor que nos indica cómo han salido las cosas en la petición recibida por el servidor. En total, hay más de 60 códigos.
Algunos de estos códigos son conocidos por casi todo el mundo, como por ejemplo el error 404 o el error 500.
¿Qué son los códigos de estado?
Los códigos de estado son mensajes que devuelve el servidor después de recibir una petición HTTP. La inmensa mayoría de veces, no vemos esos códigos, es cuando algo sale mal el momento en el que recibimos como respuesta un código HTTP (como un error 404).
Códigos de estado de HTTP
Los códigos se agrupan en cinco categorías: 100, 200, 300, 400 y 500.
- 100: Son códigos meramente informativos, indicando que la petición iniciada se ha recibido y que se continúe con el proceso.
- 200: Los códigos 200 también indican que todo ha ido bien. La petición se ha recibido, se ha procesado y se ha devuelto correctamente.
- 300: Los códigos 300 son de redirección y se devuelven para indicar al navegador que la página o recurso solicitado se ha movido de sitio.
- 400: Los códigos 400 corresponden a errores del cliente y sí los verás.
- 500: Los códigos 500 son errores por parte del servidor, indicando que la petición fue aceptada, pero que un error en el servidor impidió el cumplimiento de dicha solicitud.
Códigos de estado 100
- 100 Continue: El navegador puede continuar realizando su petición.
- 101 Switching Protocols: El servidor acepta el cambio de protocolo propuesto por el navegador.
- 102 Processing: El servidor está procesando la petición del navegador pero todavía no ha terminado.
- 103 Checkpoint: Se va a reanudar una petición cancelada con anterioridad.
Códigos de estado 200
- 200 OK: Respuesta estándar indicando que las peticiones son correctas.
- 201 Created: La petición ha sido procesada y como resultado, se ha creado un nuevo recurso.
- 202 Accepted: La petición ha sido aceptada para su procesamiento, pero esta no ha sido completada.
- 203 Non-Authoritative Information: La petición se ha completado con éxito, pero su contenido se ha obtenido de otro servidor.
- 204 No Content: La petición se ha completado con éxito pero su respuesta está sin contenido.
- 205 Reset Content: La petición se ha completado con éxito, pero su respuesta no tiene contenido y además, el navegador tiene que inicializar la página desde la que se realizó la petición.
- 206 Partial Content: La petición serve parcialmente el contenido solicitado. Esta característica es muy útil para reanudar descargas que se han pausado.
- 207 Multi-Status: La petición devuelve varias peticiones a la vez.
- 208 Already Reported: La petición ya fue devuelta con el listado de elementos, así que no se vuelve a listar.
Códigos de estado 300
- 300 Multiple Choices: Indica al navegador que tiene múltiples opciones para el contenido que el cliente podría seguir. Esto podría ser utilizado, por ejemplo, para presentar distintas opciones de formato para vídeo o listar archivos con distintas extensiones.
- 301 Moved Permanently: Esta y todas las peticiones futuras deberían ser dirigidas a la URL dada.
- 302 Found: Indica que la página o recurso está disponible en otra ubicación.
- 303 See Other: Indica lo mismo que el error 302.
- 304 Not Modified: Indica al navegador la petición a la URL no ha sido modificada desde que fue requerida por última vez . Así se puede evitar descargarla de nuevo, ahorrando ancho de banda.
- 305 Use Proxy: Recurso disponible desde un proxy.
- 306 Switch Proxy: Este código ya no se usa, utilizado en versiones antiguas de HTTP.
- 307 Temporary Redirect: Indica que este recurso o página se ha movido de sitio, pero todavía puede ser procesada en esa dirección.
- 308 Permanent Redirect: La página ha cambiado de lugar de forma permanente.
Códigos de estado 400
- 400 Bad Request: El servidor no puede procesar la solicitud porque algo ha ido mal con la petición. Si recibes este error, prueba a actualizar la página.
- 401 Unauthorized: Similar al error 403, indica que no tienes permiso para recibir el contenido.
- 402 Payment Required: Código no utilizado.
- 403 Forbidden: La petición es correcta, pero el servidor no te ofrece el recurso. Es posible que necesites privilegios en el servicio antes de poder acceder.
- 404 Not Found: El código de estado más famoso de todos. Se utiliza cuando el servidor no encuentra la página o recurso solicitado.
- 405 Method Not Allowed: Petición realizada con un método no soportado.
- 406 Not Acceptable: El servidor no es capaz de devolver los datos en ninguno de los formatos aceptados.
- 407 Proxy Authentication Required: Se requiere al cliente que se identifique mediante un proxy.
- 408 Request Timeout: El servidor ha pasado demasiado tiempo esperando una respuesta por parte del cliente.
- 409 Conflict: La petición solicitada no se pudo completar porque hubo un conflicto con ella.
- 410 Gone: Indica que el recurso solicitado ya no está disponible y no lo estará de nuevo.
- 411 Length Required: El servidor rechaza la petición del navegador porque no incluye la cabecera Contect-Length adecuada.
- 412 Precondition Failed: El servidor no es capaz de cumplir con algunas de las condiciones impuestas por el navegador en su petición.
- 413 Payload Too Large: La petición del navegador es demasiado grande y el servidor no la procesa.
- 414 URI Too Long: La dirección web es demasiado larga.
- 415 Unsupported Media Type: La petición del navegador tiene un formato que no entiende el servidor y no se procesa.
- 416 Range Not Satisfiable: El cliente ha pedido una parte de un recurso que es incorrecto.
- 417 Expectation Failed: El servidor no puede cumplir con las expectaciones de la cabecera y no la procesa.
- 418 I’m a teapot: «Soy una tetera». Este código es una broma y fue definido en 1998 como una inocentada, en el Protocolo de Transmisión de Hipertexto de Cafeteras.
- 421 Misdirected Request: El servidor no es capaz de producir una respuesta.
- 422 Unprocessable Entity: La petición es correcta pero contiene algún error semántico.
- 423 Locked: Recurso bloqueado.
- 424 Failed Dependency: La solicitud falló debido a una falla en la solicitud previa.
- 426 Upgrade Required: El cliente debe usar TSL/1.0.
- 428 Precondition Required: El servidor requiere que la petición sea condicional.
- 429 Too Many Requests: Hay demasiadas peticiones.
- 431 Request Header Fields Too Large: El servidor no puede procesar la petición, la cabecera es demasiado grande.
- 452 Unavailable for Legal reasons: El contenido ha sido eliminado como consecuencia de una orden judicial o sentencia.
Códigos de estado 500
- 500 Internal Server Error: Código que indica un fallo en la programación de la página web.
- 501 Not Implemented: El servidor no soporta alguna funcionalidad necesaria para responder a la solicitud.
- 502 Bad Gateway: El servidor está actuando como un proxy o gateway y ha recibido una respuesta inválida del otro servidor.
- 503 Service Unavailable: El servidor no puede responder a la petición porque está saturado o está realizando tareas de mantenimiento.
- 504 Gateway Timeout: El servidor está actuando como un proxy o gateway y no recibió respuesta a tiempo del servidor.
- 505 HTTP Version Not Supported: El servidor no soporta la versión del protocolo HTTP.
- 506 Variant Also Negotiates: El servidor ha detectado una referencia circular al procesar la parte de la negociación del contenido de la petición.
- 507 Insufficient Storage: El servidor no puede crear o modificar el recurso solicitado porque no hay suficiente espacio de almacenamiento libre.
- 508 Loop Detected: El servidor ha detectado un bucle infinito.
- 509 Bandwidth Limit Exceeded: Límite de ancho de banda excedido. Este código de estatus, a pesar de ser utilizado por muchos servidores, no es oficial.
- 510 Not Extended: El servidor requiere de extensiones adicionales para completar la petición.
- 511 Network Authentication Required: El cliente necesita identificarse para poder realizar peticiones.
- 512 Not updated: Este error prácticamente es inexistente e indica que el servidor está en una operación de actualizado y no puede tener conexión.
- 513 Version Mismatch: Este error indica que la versión no es compatible con tu hardware.