HTTP (Protocolo de transferencia de hipertexto) es un protocolo para transferir información entre un cliente y un servidor. Cuando se comunica mediante HTTP, el servidor proporciona al cliente información sobre el resultado del procesamiento de la solicitud a través del código de estado de respuesta HTTP. Los códigos de estado son números de tres dígitos que se utilizan para indicar diferentes resultados y acciones del procesamiento. Este artículo presentará códigos de estado de respuesta HTTP comunes y los clasificará por categoría.
Serie 1xx: respuestas informativas
código de estado | descripción en inglés | Descripción de la Situación |
---|---|---|
100 | Continuar | El servidor solo recibe parte de la solicitud, pero una vez que el servidor no rechaza la solicitud, el cliente debe continuar enviando el resto de la solicitud. |
101 | Protocolos de conmutación | Protocolo de conversión del servidor: el servidor se convertirá a otro protocolo de acuerdo con la solicitud del cliente. |
103 | Control | Sugerencia para la solicitud de currículum cuando falla la solicitud PUT o POST. |
Serie 2xx: respuesta exitosa
código de estado | descripción en inglés | Descripción de la Situación |
---|---|---|
200 | DE ACUERDO | La solicitud fue exitosa (Esta es la respuesta estándar a una solicitud HTTP exitosa). |
201 | Creado | Se crea la solicitud y se crea un nuevo recurso. |
202 | Aceptado | Se ha aceptado una solicitud de procesamiento, pero el procesamiento no está completo. |
203 | Información no autorizada | Información no autorizada. La solicitud fue exitosa. Pero algunos encabezados de respuesta pueden ser incorrectos porque se utiliza una copia de otro documento. |
204 | Sin contenido | sin contenido. El servidor procesó exitosamente, pero no se devolvió ningún contenido. Garantiza que el navegador continúe mostrando el documento actual sin actualizar la página web. Este código de estado es útil si el usuario actualiza periódicamente la página y el servlet puede determinar que el documento del usuario es suficientemente reciente. |
205 | Restablecer contenido | Restablecer contenido. La solicitud se procesó con éxito, pero no se devolvieron documentos nuevos. Pero el navegador debería restablecer lo que muestra. Se utiliza para obligar al navegador a borrar la entrada del formulario. |
206 | Contenido parcial | Parte. El servidor procesó con éxito una solicitud GET parcial |
Serie 3xx: Redirección
código de estado | descripción en inglés | Descripción de la Situación |
---|---|---|
300 | Múltiples opciones | Múltiples selecciones. lista enlazada. El recurso solicitado puede incluir múltiples ubicaciones, y se puede devolver una lista de características y direcciones de recursos para la selección del terminal de usuario (por ejemplo, navegador). Los usuarios pueden seleccionar un enlace para llegar a su destino. Se permiten hasta cinco direcciones. |
301 | Movido permanentemente | Mudarse permanentemente. El recurso solicitado se ha movido permanentemente a la nueva URL, la información devuelta incluirá la nueva URI y el navegador será dirigido automáticamente a la nueva URL. Cualquier nueva solicitud futura debería utilizar la nueva URL en su lugar. |
302 | Encontró | Mudanza temporal. Similar al 301. Pero los recursos sólo se trasladan temporalmente. Los clientes deben seguir usando la URL original. |
303 | Ver Otros | Ver otras direcciones. Similar al 301. Ver usando solicitudes GET y POST |
304 | No modificado | sin modificar. El recurso solicitado no ha sido modificado. Cuando el servidor devuelva este código de estado, no se devolverá ningún recurso. El cliente tiene documentos almacenados en caché y realiza una solicitud condicional (normalmente proporcionando un encabezado If-Modified-Since que indica que el cliente sólo quiere documentos posteriores a una fecha especificada). El servidor le dice al cliente que el documento original almacenado en el búfer puede seguir utilizándose. |
305 | Usa proxy | Utilice un proxy. Se debe acceder al recurso solicitado a través de un proxy. |
306 | No usado | Código de estado HTTP obsoleto. Ya no se utiliza, pero el código aún está reservado. |
307 | Redirección temporal | Redirección temporal. Similar al 302. Con una redirección de solicitud GET, la página solicitada se ha movido temporalmente a la nueva URL. |
Serie 4xx: error del cliente
código de estado | descripción en inglés | Descripción de la Situación |
---|---|---|
400 | Solicitud incorrecta | El servidor no pudo entender la solicitud debido a un error de sintaxis. |
401 | No autorizado | Solicitud legítima, pero el acceso a la página solicitada está prohibido. Debido a que la página solicitada requiere autenticación, el cliente no la proporcionó o la autenticación falló. |
402 | pago requerido | reservado para uso futuro |
403 | Prohibido | Acceso prohibido: el servidor comprende la solicitud del cliente, pero se niega a ejecutarla. |
404 | Extraviado | El recurso no existe. El servidor no pudo encontrar el recurso (página web) solicitado por el cliente. Este código permite a los diseñadores de sitios web configurar una página de personalidad "No se pudo encontrar el recurso que solicitó". |
405 | Método no permitido | Método no permitido. Método prohibido en solicitud de cliente. |
406 | Inaceptable | Solicitud inaceptable. El servidor no pudo completar la solicitud según las características del contenido solicitadas por el cliente. |
407 | Se requiere autenticación proxy | Se requiere autenticación proxy. La solicitud requiere autenticación de proxy, similar a 401, pero el solicitante debe usar el proxy para autorización. |
408 | Pide tiempo fuera | Tiempo de espera agotado. El servidor esperó demasiado la solicitud enviada por el cliente y se agotó el tiempo de espera |
409 | Conflicto | La solicitud no se pudo completar debido a un conflicto. |
410 | Desaparecido | La página solicitada no está disponible. |
411 | Longitud requerida | 'Longitud del contenido' no está definido. El servidor no aceptará la solicitud sin este contenido. |
412 | Condición previa Falló | El servidor evaluó que una condición previa de la solicitud era errónea. |
413 | Solicitar entidad demasiado grande | El servidor no aceptará la solicitud porque la entidad solicitada es demasiado grande. |
414 | Solicitud-URI demasiado largo | La URL solicitada es demasiado larga. El servidor no aceptará la solicitud porque la URL es demasiado larga. Esto sucede cuando una solicitud POST se convierte en una solicitud GET con un mensaje de consulta largo. |
Serie 5xx: error del servidor
código de estado | descripción en inglés | Descripción de la Situación |
---|---|---|
500 | Error Interno del Servidor | Error Interno del Servidor. La solicitud no se completó. El servidor encontró una situación impredecible. |
501 | No se ha implementado | La función no está implementada. El servidor no admite la funcionalidad solicitada o no puede completar la solicitud. |
502 | Mala puerta de enlace | Mala puerta de entrada. La solicitud no se completó. El servidor recibió una respuesta no válida de un servidor ascendente mientras actuaba como puerta de enlace o proxy. |
503 | Servicio No Disponible | El servicio no está disponible (sobrecargado o caído). |
504 | Tiempo de espera de puerta de enlace | Se agotó el tiempo de espera de la puerta de enlace. Mientras actuaba como puerta de enlace o proxy, el servidor no pudo recibir una respuesta oportuna del servidor ascendente. |
505 | Versión HTTP no compatible | El servidor no admite la versión del protocolo HTTP especificada en la solicitud. |
511 | Se requiere autenticación de red | Los usuarios deben proporcionar autenticación para obtener acceso a la red. |
Después de conocer el conocimiento relevante del código de estado, sabemos que estos son los comentarios relevantes del servidor.
我们在学习的时候就被教育说应该将真实情况反馈给客户端,但是在爬虫中,可能该站点的开发人员或者运维人员为了阻止数据被爬虫轻易获取,可能在状态码上做手脚,也就是说返回的状态码并不一定就是真实情况,比如:服务器已经识别出你是爬虫,但是为了让你疏忽大意,所以照样返回状态码200,但是响应体重并没有数据。
所有的状态码都不可信,一切以是否从抓包得到的响应中获取到数据为准
network中抓包得到的源码才是判断依据,elements中的源码是渲染之后的源码,不能作为判断标准