Explicación básica del protocolo HTTP

1. Introducción a HTTP

1. ¿Qué es la comunicación?

La comunicación es la transmisión y el intercambio de información. Los
tres elementos de la
comunicación : el tema de la comunicación, el contenido de la comunicación y el método de comunicación.

2. Qué protocolo de comunicación

Protocolo de comunicación (Protocolo de comunicación) se refiere a las reglas y acuerdos que ambas partes de la comunicación deben cumplir para completar la comunicación.
Comprensión popular: Las dos partes en comunicación utilizan un formato acordado para enviar y recibir mensajes. Este formato de comunicación preestablecido se denomina protocolo de comunicación.
Por ejemplo, la regla de escritura del sobre es el protocolo de comunicación.

Para realizar la transmisión de contenido web entre el cliente y el servidor, ambas partes en la comunicación deben cumplir con el protocolo de transmisión del contenido web.
El contenido web también se denomina hipertexto, por lo que el protocolo de transferencia de contenido web también se denomina Protocolo de transferencia de hipertexto (HyperText Transfer Protocol), abreviado como protocolo HTTP.

3. ¿Qué es el protocolo http?

El protocolo HTTP es el Protocolo de transferencia de hipertexto (HyperText Transfer Protocol), que especifica el formato de transmisión que se debe observar al transmitir contenido web entre el cliente y el servidor.

4. El modelo interactivo del protocolo http

http usa un modelo de interacción de solicitud / respuesta

Dos, mensaje de solicitud http

Porque el protocolo HTTP pertenece al protocolo de comunicación entre el navegador del cliente y el servidor. Por lo tanto, la solicitud iniciada por el cliente se denomina solicitud HTTP y el mensaje enviado por el cliente al servidor se denomina mensaje de solicitud HTTP, también llamado mensaje de solicitud HTTP.

1. Los componentes del mensaje de solicitud http

La solicitud de publicación se divide en 4 componentes,
línea de solicitud,
encabezado de solicitud,
línea en blanco,
cuerpo de
solicitud, solicitud de obtención, se divide en 3, sin cuerpo de
solicitud, línea de
solicitud, encabezado de solicitud,
línea en blanco

1. Línea de solicitud

La línea de solicitud consta de tres partes: método de solicitud, URL y versión del protocolo HTTP, separadas por espacios.
Formato:

//请求方式 空格   url    空格 协议版本  回车符 换行符
post       /api/login        HTTP/1.1

2. Encabezado de la solicitud

El encabezado de la solicitud se utiliza para describir la información básica del cliente, de modo que la información relacionada con el cliente se notifica al servidor. Por ejemplo: User-Agent se usa para describir el navegador actual;
Content-Type se usa para describir el formato de datos enviado al servidor;
Accept se usa para describir qué tipo de contenido devuelto puede recibir el cliente;
Accept-Language se usa para describir al cliente Qué tipo de contenido de texto en lenguaje humano espera recibir el final.
El encabezado de la solicitud consta de varias líneas de pares clave / valor, y la clave y el valor de cada línea están separados por dos puntos en inglés.
El formato es
campo de encabezado valor de dos puntos retorno de carro carácter de nueva línea
campos de encabezado de solicitud común

Campo de encabezado Descripción
anfitrión Nombre de dominio del servidor a solicitar
Conexión El modo de conexión entre el cliente y el servidor (cerrar o mantener activo)
Largancia de contenido Se usa para describir el tamaño del cuerpo de la solicitud.
Aceptar Lista de tipos de contenido de respuesta reconocidos por el cliente
Agente de usuario El tipo de navegador que realizó la solicitud.
Tipo de contenido El cliente le dice al servidor el tipo de datos realmente enviados
Aceptar codificación El formato de codificación de compresión de contenido que puede recibir el cliente.
Aceptar-idioma La prioridad del lenguaje natural que esperan los usuarios

3. Línea en blanco

Después del último campo de encabezado de solicitud hay una línea en blanco para informar al servidor que el encabezado de solicitud ha terminado.
La línea en blanco en el mensaje de solicitud se utiliza para separar el encabezado de la solicitud del cuerpo de la solicitud.
Google Chrome es un separador

4. Cuerpo de la solicitud

Lo que se almacena en el cuerpo de la solicitud son los datos que se enviarán al servidor a través de POST.
Y obtener solicitud no tiene solicitud, solo la publicación tiene el cuerpo de la solicitud.
Es decir, los datos en Form Data, haga clic en Ver fuente para ver el cuerpo de la solicitud original.

Tres, mensaje de respuesta HTTP

1. Los componentes del mensaje de respuesta

El mensaje de respuesta consta de 4 partes: línea de estado, encabezado de respuesta, línea en blanco y cuerpo de respuesta.

1. Línea de estado

La línea de estado consta de tres partes: la versión del protocolo HTTP, el código de estado y el texto de descripción del código de estado.

HTTP/1.1      200     OK
//协议版本  状态码 描述文本

2. Encabezado de respuesta

Usado para describir la información básica del servidor, el encabezado de respuesta consta de varias filas de pares clave-valor.
Campos comunes

Puede consultar el documento del sitio web oficial de MDN para obtener una explicación detallada de los campos de respuesta

Campo descripción
X-Powered-By: Express Campos personalizados, decirle al navegador qué software utilizo
Acceso-Control-Permitir-Origen: *
Tipo de contenido: aplicación / json; juego de caracteres = utf-8 Dile al cliente en qué formato de datos te estoy respondiendo
Longitud del contenido: 68 ¿Cuál es la longitud de los datos de respuesta?
ETag: W / '' 44-nt / y6yOFj7H04EVW1DWBIMG + Pq0
Fecha: miércoles, 27 de noviembre de 2019 02:13:24 GT Tiempo de respuesta
Conexión: mantener vivo

3. Línea en blanco

Solo se usa para separar el encabezado de la respuesta y el cuerpo de la respuesta.

4. Cuerpo de respuesta

¿Es el contenido de respuesta almacenado?

En respuesta

Cuatro, método de solicitud HTTP

Método de solicitud descripción
OBTENER Consulta, envía una solicitud para obtener recursos en el servidor, el cuerpo de la solicitud no contendrá los parámetros solicitados y los datos de la solicitud se colocan en el encabezado del protocolo.
CORREO Nuevo, envíe recursos al servidor, envíe formularios o cargue archivos, los datos se incluyen en el cuerpo de la solicitud y se envían al servidor
PONER Envíe recursos al servidor y utilice los nuevos recursos enviados para reemplazar los recursos antiguos correspondientes al servidor.
ELIMINAR Solicitar al servidor que elimine el recurso especificado
CABEZA El encabezado solicita una respuesta que es la misma que la respuesta de la solicitud de obtención, pero no hay un cuerpo de respuesta
OPCIONES Obtenga el método de solicitud http admitido por el servidor http, lo que permite al cliente ver el rendimiento del servidor, como la verificación previa cuando ajax entre dominios, etc.
CONECTAR Establecer un túnel al servidor identificado por el recurso de destino
RASTRO Realice una prueba de bucle invertido de mensajes a lo largo de la ruta del recurso de destino, principalmente para pruebas o diagnóstico
PARCHE Es un complemento del método put, que se utiliza para actualizar localmente los recursos conocidos.

Cinco, código de estado de respuesta

También es parte del protocolo HTTP. El
código de estado de respuesta utilizado para identificar la respuesta se enviará al navegador del cliente junto con el mensaje de respuesta. El navegador puede saber que el resultado de esta solicitud es exitoso de acuerdo con el código de estado de respuesta devuelto. por el servidor. Aún falló

1. La composición y clasificación de los códigos de situación

El código de estado se compone de tres dígitos decimales. El primer dígito decimal define el tipo de código de estado y los dos últimos dígitos se utilizan para subdividir el
código de estado. Hay 5 tipos de códigos de estado.

clasificación Descripción de clasificación
1 ** El comienzo de 1 es que el servidor recibe la solicitud y requiere que el solicitante continúe realizando la operación, que rara vez se usa en la práctica.
2 ** Éxito, la operación se recibió y se procesó correctamente
3 ** Redirigir, se requieren más acciones para completar la solicitud
4 ** Error de cliente, error de sintaxis de solicitud o no se puede completar la solicitud
5 ** Error del lado del servidor, el servidor encontró un error al procesar la solicitud.

2.2 Código de estado de respuesta al principio

código de estado Descripción inglesa Descripción china
200 OK La solicitud es exitosa, generalmente se usa para obtener o publicar solicitudes
201 Creado Creó, solicitó y creó con éxito un nuevo recurso, generalmente utilizado para pos o solicitudes de colocación

3.3 Código de estado de redireccionamiento al principio

código de estado Descripción inglesa Descripción china
301 Movido permanentemente Movido permanentemente, el recurso solicitado se ha movido permanentemente a la nueva URL, la información devuelta incluye la nueva URL, el navegador dirigirá automáticamente la nueva URL y cualquier nueva solicitud en el futuro debe ser reemplazada por la nueva URL.
302 Encontró Movimiento temporal, similar al 301, pero el recurso solo se mueve temporalmente, el cliente debe continuar con la URL original
304 No modificado Sin modificar, el recurso solicitado no se ha modificado. Cuando el servidor devuelve este código de estado, no devolverá ningún recurso. El mensaje de respuesta no contiene el cuerpo de la respuesta. El cliente generalmente almacena en caché los recursos accedidos

4.4 Código de estado al principio

código de estado Descripción inglesa Descripción china
400 Solicitud incorrecta 1.语义有误,当前请求无法被服务器理解,除非进行修改,否则客户端不应该重复提交这个请求。
401 Unauthorized 当前请求需要用户验证
403 Forbidden 服务器已经理解请求,但是拒绝执行它
404 Not Found 服务器无法根据客户端的请求找到资源
408 Request Timeout 请求超时,服务器等待客户端发送的请求时间过长,超时。

5.以5开头的状态码

状态码 英文描述 中文描述
500 Internal Server Error 服务器内部错误,无法完成请求
501 Not Implemented 服务器不支持该请求方法,无法完成请求,只有get和head请求方法是要求每个服务器必须支持的,其他请求方法不支持的服务器上会返回501
500 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求

Supongo que te gusta

Origin blog.csdn.net/m0_48459838/article/details/113705361
Recomendado
Clasificación