[Red avanzada] Servidor HTTP (2)

1. Código de estado HTTP

El código de estado HTTP (código de estado HTTP) es un número de tres dígitos que utiliza el servidor para describir el resultado de la solicitud del navegador. Son parte de la definición en el protocolo HTTP/1.1 y generalmente se usan para indicar si la solicitud del navegador fue exitosa y, cuando la solicitud falló, el motivo de la falla. Los códigos de estado HTTP son muy importantes para los desarrolladores y mantenedores porque pueden ayudar a diagnosticar problemas y optimizar la experiencia del usuario.

Los códigos de estado HTTP se pueden dividir en cinco categorías:

  1. 1xx (código de estado informativo): este tipo de código de estado indica que se ha recibido la solicitud y el servidor necesita que el cliente continúe con la operación. Estos códigos de estado rara vez se usan y solo se usan para proporcionar información adicional.

  2. 2xx (Código de estado de éxito): este tipo de código de estado indica que la solicitud se procesó correctamente. Los códigos de estado de éxito comunes incluyen:

    • 200 OK: la solicitud se realizó correctamente y el servidor procesó correctamente la solicitud.
    • 201 Creado: La solicitud fue exitosa y el servidor ha creado un nuevo recurso.
    • 204 Sin contenido: la solicitud es exitosa, pero no hay contenido para devolver.
  3. 3xx (Códigos de estado de redirección): estos códigos de estado indican que se requieren más acciones para completar la solicitud. Los navegadores generalmente manejan estas operaciones automáticamente. Los códigos de estado de redirección comunes incluyen:

    • 301 Movido permanentemente: el recurso se movió permanentemente y se le asignó un nuevo URI al recurso solicitado.
    • 302 Encontrado: el recurso se mueve temporalmente y al recurso solicitado se le asigna temporalmente un nuevo URI.
    • 304 No modificado: el recurso no ha cambiado y no es necesario enviarlo nuevamente al cliente.
  4. 4xx (Código de estado de error del cliente): este tipo de código de estado indica que la solicitud contenía una sintaxis incorrecta o no se pudo completar. Los códigos de estado de error comunes del cliente incluyen:

    • 400 Solicitud incorrecta: la solicitud tiene un formato incorrecto y el servidor no puede entender la solicitud.
    • 401 No autorizado: la solicitud requiere la autenticación del usuario.
    • 403 Prohibido: El servidor entiende la solicitud, pero se niega a ejecutarla.
    • 404 No encontrado: el recurso solicitado no existe en el servidor.
  5. 5xx (código de estado de error del servidor): este tipo de código de estado indica que ocurrió un error mientras el servidor procesaba la solicitud. Los códigos de estado de error comunes del servidor incluyen:

    • 500 Error interno del servidor: el servidor encontró un error y no pudo completar la solicitud.
    • 502 Puerta de enlace incorrecta: el servidor, que actúa como puerta de enlace o proxy, recibió una respuesta no válida del servidor ascendente.
    • 503 Servicio no disponible: el servidor no puede procesar la solicitud temporalmente, generalmente debido a una sobrecarga o mantenimiento.

Comprender los códigos de estado HTTP ayuda a los desarrolladores y mantenedores a localizar y resolver problemas rápidamente, mejorando la estabilidad del sitio web y la experiencia del usuario.

2. Clasificación del código de estado HTTP

código de estado codigo de estado ingles Descripción y uso chino
100 Continuar Continuar: El cliente debe continuar con la solicitud. Antes de recibir el cuerpo de la solicitud, el servidor PUEDE enviar una respuesta Continuar 100 para confirmar que el servidor está listo para recibir el cuerpo de la solicitud. Esto es útil para escenarios como cargas de archivos grandes.
101 Protocolos de conmutación Cambio de protocolo: el servidor entendió y aceptó la solicitud de cambio de protocolo del cliente (como la actualización a WebSocket).
102 Procesando Procesando: El servidor ha recibido la solicitud pero aún no ha terminado de procesarla. Se utiliza principalmente para evitar que el cliente agote el tiempo de espera y evitar el envío repetido de solicitudes.
200 DE ACUERDO Solicitud exitosa: el servidor procesó con éxito la solicitud y, por lo general, devolvió el recurso o los datos solicitados.
201 Creado Creado: la solicitud es exitosa y el servidor ha creado un nuevo recurso, generalmente utilizado para la respuesta después de una solicitud POST para crear un nuevo recurso.
202 Aceptado Solicitud aceptada: el servidor ha aceptado la solicitud pero aún no la ha procesado, y no se puede garantizar el resultado final del procesamiento. Se utiliza principalmente para procesar solicitudes de forma asíncrona.
203 Información no autorizada Información no autorizada: el servidor procesó correctamente la solicitud, pero devolvió información de otro recurso.
204 Sin contenido Sin contenido: la solicitud se procesó con éxito, pero no se requirieron datos para ser devueltos. Por lo general, se usa para solicitudes DELETE y operaciones de actualización que no necesitan devolver datos.
205 Restablecer contenido Restablecer contenido: la solicitud se procesa con éxito y el cliente debe restablecer la vista del documento (como borrar el contenido del formulario).
206 Contenido parcial Contenido parcial: el servidor procesó con éxito parte de la solicitud GET, que generalmente se usa para la descarga de varias partes o la reanudación de la carga.
207 Multiestado Multiestado: la respuesta contiene información de estado para múltiples operaciones independientes, principalmente utilizadas para WebDAV.
208 Ya Reportado Reportado: La solicitud anterior se ha completado, evitando el procesamiento duplicado. Se utiliza principalmente para WebDAV.
226 Estoy usado Utilizado por IM: el servidor aplicó la operación de la instancia y el estado del recurso en la respuesta se modificó.
300 Múltiples opciones Múltiples opciones: el recurso solicitado tiene múltiples versiones opcionales, y el cliente puede elegir una para acceder según la información proporcionada en la respuesta.
301 Movido permanentemente Redirección permanente: el recurso solicitado se ha movido permanentemente a una nueva ubicación y todas las referencias deben actualizarse al nuevo URI.
302 Encontró Redirección temporal: el recurso solicitado se mueve temporalmente a una nueva ubicación y el cliente debe usar el nuevo URI para acceder al recurso.
303 Ver otros Ver otro: la solicitud se procesó y el cliente debe visitar otro URI para obtener una respuesta. Comúnmente utilizado para la redirección después del procesamiento de solicitudes POST.
304 No modificado Sin modificar: el recurso no ha cambiado desde la última solicitud y los clientes pueden continuar usando la versión en caché.
305 Usa proxy Usar proxy: se debe acceder al recurso solicitado a través del proxy especificado.
306 (No usado) (sin usar): este código de estado está en desuso y ya no se usa.
307 Redirección temporal Redirección temporal: el recurso solicitado se mueve temporalmente a una nueva ubicación, el cliente debe usar el nuevo URI para acceder al recurso, pero las solicitudes posteriores deben usar el URI original.
308 Redirección permanente Redireccionamiento permanente: similar a 301, pero requiere que el cliente use el nuevo URI en solicitudes posteriores y mantenga el método de solicitud original.
400 Solicitud incorrecta Error de solicitud: el servidor no pudo comprender o procesar la solicitud, posiblemente debido a errores de sintaxis o problemas de parámetros.
401 No autorizado No autorizado: la solicitud requiere la autenticación del usuario.
402 pago requerido Pago requerido: el recurso solicitado requiere pago para acceder y aún no se ha utilizado.
403 Prohibido Prohibido: el servidor entiende la solicitud, pero se niega a ejecutarla, posiblemente debido a razones tales como permisos insuficientes.
404 Extraviado No encontrado: el recurso solicitado no existe en el servidor.
405 Método no permitido Método de solicitud no permitido: el método HTTP utilizado en la solicitud no es aplicable al recurso solicitado.
406 Inaceptable Inaceptable: el servidor no pudo generar una respuesta que coincidiera con los atributos de contenido solicitados por el cliente.
407 Se requiere autenticación proxy Se requiere autenticación de proxy: el cliente primero debe autenticarse en el servidor proxy.
408 Pide tiempo fuera Se agotó el tiempo de espera de la solicitud: el servidor esperó demasiado a que el cliente enviara una solicitud.
409 Conflicto Conflicto: la solicitud entra en conflicto con el estado del recurso en el servidor, normalmente por modificaciones simultáneas en el mismo recurso.
410 Desaparecido Eliminado: el recurso solicitado se eliminó de forma permanente y ya no estará disponible.
411 Longitud requerida Es necesario especificar la longitud: el encabezado de la solicitud debe contener un campo de longitud de contenido válido.
412 Condición previa Falló La condición previa falló: no se cumple una condición previa en la solicitud, como usar el encabezado If-Match.
413 Carga útil demasiado grande Entidad de solicitud demasiado grande: la entidad solicitada (como un archivo cargado) es demasiado grande para que el servidor la procese.
414 URI demasiado largo El URI solicitado es demasiado largo: la longitud del URI en la línea de solicitud supera el límite permitido por el servidor.
415 Tipo de medio no compatible Tipo de medio no compatible: el servidor no admite el tipo de contenido de la entidad en la solicitud.
416 Rango no satisfactorio Rango solicitado no satisfecho: el rango de bytes solicitado por el cliente no está disponible o no es válido.
417 Expectativa fallida Error de expectativa: el servidor no pudo cumplir con las expectativas especificadas por el campo Esperar en el encabezado de la solicitud.
418 soy una tetera Soy una tetera: este código de estado se usa en huevos de Pascua para indicar que el servidor se negó a hacer café porque es una tetera.
421 Solicitud mal dirigida Solicitud mal dirigida: el servidor no pudo procesar la solicitud, posiblemente debido a un problema de configuración del servidor debido a la reutilización de la conexión.
422 Entidad no procesable Entidad no procesable: la solicitud está bien formada pero tiene errores semánticos que impiden que se procese. Se utiliza principalmente para WebDAV.
423 bloqueado Bloqueado: el recurso solicitado está bloqueado y no se puede realizar la operación solicitada. Se utiliza principalmente para WebDAV.
424 Dependencia fallida Error de dependencia: la solicitud actual falló porque una solicitud anterior falló. Se utiliza principalmente para WebDAV.
425 Demasiado temprano Prematuro: el servidor se niega a cumplir con la solicitud porque podría ser un ataque de repetición.
426 Se requiere actualización Actualización requerida: el cliente debe cambiar al protocolo especificado, como actualizar a TLS/1.0.
428 Precondición requerida Requiere condiciones previas: la solicitud debe cumplir con las condiciones previas requeridas por el servidor, como usar el encabezado If-Match.
429 Demasiadas solicitudes 请求过多:客户端发送请求过于频繁,已触发限速。
431 Request Header Fields Too Large 请求头字段过大:请求头中某个字段的大小超过服务器允许的限制。
451 Unavailable For Legal Reasons 因法律原因不可用:请求的资源因法律原因无法提供,如受到审查或侵权。
500 Internal Server Error 服务器内部错误:服务器在处理请求时发生错误。
501 Not Implemented 未实现:服务器不支持请求所需的功能或方法。
502 Bad Gateway 错误网关:作为网关或代理服务器,从上游服务器接收到无效响应。
503 Service Unavailable 服务不可用:服务器暂时无法处理请求,如因维护或超载。
504 Gateway Timeout 网关超时:作为网关或代理服务器,未及时从上游服务器接收到响应。
505 HTTP Version Not Supported 不支持的HTTP版本:服务器不支持请求所使用的HTTP协议版本。
506 Variant Also Negotiates 变体也协商:服务器存在内部配置错误,导致透明内容协商失败。
507 Insufficient Storage 存储空间不足:服务器无法完成请求,因为存储空间不足。主要用于WebDAV。
508 Loop Detected 检测到循环:服务器在处理请求时检测到无限循环。主要用于WebDAV。
510 Not Extended 未扩展:请求需要进一步扩展以完成,如提供附加认证信息。
511 Network Authentication Required 需要网络身份验证:客户端需要进行网络层面的身份验证,如提供WiFi密码。

Supongo que te gusta

Origin blog.csdn.net/weixin_52665939/article/details/130497532
Recomendado
Clasificación