"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > La referencia definitiva para códigos de estado HTTP en diseño de API

La referencia definitiva para códigos de estado HTTP en diseño de API

Publicado el 2024-11-17
Navegar:240

The Ultimate Reference for HTTP Status Codes in API Design

En el mundo del desarrollo web y el diseño de API, los códigos de estado HTTP desempeñan un papel crucial en la comunicación del resultado de las solicitudes entre clientes y servidores. Estos códigos proporcionan una forma estandarizada de indicar condiciones, éxitos o errores específicos que ocurren durante el procesamiento de solicitudes HTTP. Comprender estos códigos de estado es esencial para los desarrolladores, ya que ayuda a depurar, manejar errores y crear aplicaciones más sólidas.

1. 1xx Informativo

Estos códigos de estado indican una respuesta provisional. Rara vez se utilizan en la práctica, pero pueden resultar útiles en determinados escenarios.

  • 100 Continuar: El servidor ha recibido los encabezados de la solicitud y el cliente debe proceder a enviar el cuerpo de la solicitud.
  • 101 Cambio de protocolos: El solicitante ha pedido al servidor que cambie de protocolo y el servidor ha aceptado hacerlo.

2. Éxito 2xx

Estos códigos de estado indican que la solicitud del cliente fue recibida, comprendida y aceptada exitosamente.

  • 200 OK: La solicitud fue exitosa y la respuesta contiene los datos o el resultado solicitado.
    • Ejemplo: Recuperar la información del perfil de un usuario.
  • 201 Creado: La solicitud se realizó correctamente y se creó un nuevo recurso.
    • Ejemplo: crear una nueva cuenta de usuario o publicar una nueva entrada de blog.
  • 204 Sin contenido: el servidor procesó correctamente la solicitud pero no devuelve ningún contenido.
    • Ejemplo: actualizar la configuración de un usuario donde no se necesita ningún cuerpo de respuesta.
  • 206 Contenido parcial: El servidor entrega solo una parte del recurso debido a un encabezado de rango enviado por el cliente.
    • Ejemplo: transmisión de contenido de vídeo o descarga de archivos grandes en fragmentos.

3. Redirección 3xx

Estos códigos de estado indican que el agente de usuario debe tomar medidas adicionales para cumplir con la solicitud.

  • 301 movido permanentemente: el recurso solicitado se ha movido permanentemente a una nueva URL.
  • 302 encontrado: el recurso solicitado reside temporalmente en una URL diferente.
  • 304 No modificado: Indica que el recurso no ha sido modificado desde la versión especificada en los encabezados de la solicitud.

4. Error del cliente 4xx

Estos códigos de estado están destinados a situaciones en las que el cliente parece haber cometido un error.

  • 400 Solicitud incorrecta: el servidor no puede procesar la solicitud debido a una sintaxis no válida o una entrada incorrecta.

    • Ejemplo: envío de JSON con formato incorrecto en el cuerpo de la solicitud.
    • Uso: Úselo cuando la solicitud en sí tiene un formato incorrecto o contiene parámetros no válidos.
  • 401 No autorizado: La solicitud requiere autenticación del usuario.

    • Ejemplo: intentar acceder a un punto final de API protegido sin proporcionar credenciales válidas.
    • Uso: Úselo cuando se requiere autenticación y no se ha proporcionado o no es válida.
  • 403 Prohibido: El servidor entiende la solicitud pero se niega a autorizarla.

    • Ejemplo: un usuario que intenta acceder a funciones exclusivas para administradores.
    • Uso: Se utiliza cuando el usuario está autenticado pero no tiene permiso para la operación solicitada.
  • 404 No encontrado: El recurso solicitado no se pudo encontrar en el servidor.

    • Ejemplo: intentando recuperar un perfil de usuario eliminado.
    • Uso: Usar cuando el recurso solicitado no existe.
  • Método 405 no permitido: el método especificado en la solicitud no está permitido para el recurso identificado por el URI de solicitud.

    • Ejemplo: enviar una solicitud POST a un punto final que solo acepta solicitudes GET.
  • 409 Conflicto: La solicitud no se pudo procesar debido a un conflicto con el estado actual del recurso.

    • Ejemplo: Intentando crear un usuario con un correo electrónico que ya existe en el sistema.
    • Uso: Úselo cuando haya un conflicto con el estado actual del recurso, como entradas duplicadas.
  • 422 Entidad no procesable: el servidor comprende el tipo de contenido y la sintaxis de la solicitud, pero no puede procesar las instrucciones contenidas.

    • Ejemplo: enviar un formulario con datos no válidos que no supera la validación del lado del servidor.
    • Uso: Úselo para errores de validación donde la sintaxis de la solicitud es correcta, pero los datos son semánticamente incorrectos.
  • 429 Demasiadas solicitudes: El usuario ha enviado demasiadas solicitudes en un período de tiempo determinado ("limitación de velocidad").

    • Ejemplo: implementar limitación de tasa de API para evitar abusos.

5. Error del servidor 5xx

Estos códigos de estado indican casos en los que el servidor es consciente de que ha encontrado un error o de otro modo es incapaz de realizar la solicitud.

  • Error interno del servidor 500: un mensaje de error genérico que indica que el servidor encontró una condición inesperada que le impidió cumplir con la solicitud.

    • Ejemplo: se produce una excepción no controlada en el código del lado del servidor.
  • 501 No implementado: El servidor no admite la funcionalidad requerida para cumplir con la solicitud.

    • Ejemplo: usar un nuevo método HTTP que el servidor no reconoce.
  • 502 Puerta de enlace incorrecta: el servidor, mientras actuaba como puerta de enlace o proxy, recibió una respuesta no válida del servidor ascendente.

    • Ejemplo: un servidor proxy inverso no puede conectarse al servidor de origen.
  • Servicio 503 no disponible: el servidor actualmente no puede manejar la solicitud debido a una sobrecarga temporal o mantenimiento.

    • Ejemplo: un servidor está en mantenimiento programado o experimenta mucho tráfico.
  • Tiempo de espera de puerta de enlace 504: el servidor, aunque actuaba como puerta de enlace o proxy, no recibió una respuesta oportuna del servidor ascendente.

    • Ejemplo: se agota el tiempo de espera mientras se espera una respuesta de una API de terceros.

Mejores prácticas para utilizar códigos de estado HTTP

  1. Sea específico: utilice el código de estado más específico que se aplique a la situación. Esto ayuda a los clientes a comprender exactamente qué sucedió y cómo responder.

  2. Uso coherente: mantenga la coherencia en la forma en que utiliza los códigos de estado en su API. Esto facilita que los desarrolladores trabajen con su API.

  3. Proporcione información adicional: junto con el código de estado, incluya un mensaje de error detallado en el cuerpo de la respuesta cuando corresponda. Esto puede ayudar con la depuración y mejorar la experiencia del desarrollador.

  4. Consideraciones de seguridad: tenga cuidado al revelar demasiada información en las respuestas de error, especialmente para los errores 4xx y 5xx. Evite exponer detalles confidenciales sobre la arquitectura o implementación de su sistema.

  5. Documentación: documente claramente qué códigos de estado utiliza su API y bajo qué circunstancias. Esto ayuda a los consumidores de API a comprender cómo interpretar y manejar diferentes respuestas.

Al comprender e implementar correctamente los códigos de estado HTTP, los desarrolladores pueden crear API y aplicaciones web más sólidas, claras y fáciles de usar. Estos códigos sirven como una herramienta de comunicación crucial entre clientes y servidores, ayudando a optimizar el manejo de errores y mejorar la confiabilidad general del sistema.

Declaración de liberación Este artículo se reimprime en: https://dev.to/shanu001x/the-ultimate-reference-for-http-status-codes-in-api-design-77b?1 Si hay alguna infracción, comuníquese con Study_golang@163 .com para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3