La diferencia entre publicar y recibir mensajes de solicitud
(1) POST es más seguro (no se utilizará como parte de la URL, no se almacenará en caché, no se guardará en registros del servidor ni en registros de navegación del navegador)
(2 ) Se envía POST Los datos son más grandes (get tiene un límite de longitud de URL)
(3) la publicación puede enviar más tipos de datos (get solo puede enviar caracteres ASCII)
(4) post es mejor que get Slow
(5) Post se usa para modificar y escribir datos, y get generalmente se usa para operaciones como clasificación y filtrado de búsqueda (las consultas de búsqueda en Taobao y Alipay se envían todas mediante get ), con el propósito de obtener recursos, leer datos
(6) y muchos más...
Las respuestas anteriores son solo algunas respuestas simples.
Es un bloque de datos enviado entre aplicaciones HTTP. Estos fragmentos de datos comienzan con cierta metainformación en forma de texto que describe el contenido y el significado del mensaje, seguido de una porción de datos opcional. Estos mensajes fluyen entre el cliente, el servidor y el proxy.
Para una solicitud HTTP, el mensaje HTTP fluirá desde el "cliente" al "agente" y luego al "servidor". Una vez completado el trabajo del servidor, el mensaje fluirá desde el "servidor". "al "agente"” y luego fluye al “cliente”.
Todos los mensajes HTTP se pueden dividir en dos categorías, mensajes de solicitud y mensajes de respuesta. La estructura básica de los mensajes de solicitud y respuesta es aproximadamente la misma, solo que la sintaxis de la línea inicial es diferente.
La estructura general es la siguiente:
Dé un ejemplo simple:
La línea de solicitud consta de tres partes: método de solicitud, URL de solicitud (excluido el nombre de dominio ), versión del protocolo HTTP.
Existen muchos métodos de solicitud: GET, POST, HEAD, PUT, DELETE, OPTIONS, TRACE, CONNECT.
Los más utilizados son GET y POST.
La longitud de los parámetros pasados es limitada, porque los parámetros pasados se expresan directamente en la barra de direcciones y los navegadores y servidores específicos tienen restricciones en la longitud de la URL.
Por lo tanto, GET no es adecuado para transmitir datos privados, ni tampoco es adecuado para transmitir grandes cantidades de datos.
La mayoría de las solicitudes HTTP generales son GET.
POST encapsula los datos transferidos en datos de solicitud HTTP y aparece en forma de nombre/valor. Puede transmitir una gran cantidad de datos. No hay límite en la cantidad de datos y no se mostrará. en la URL.
El formulario se envía mediante POST.
HEAD es similar a GET, pero cuando el servidor recibe una solicitud HEAD, solo devuelve el encabezado de respuesta y no envía el contenido de la respuesta. Por lo tanto, si solo necesita verificar el estado de una determinada página, es más eficiente usar HEAD, porque ahorra tiempo de transmisión del contenido de la página.
Eliminar un recurso.
Se utiliza para obtener los métodos admitidos por la URL actual. Si la solicitud tiene éxito, se incluirá un encabezado llamado "Permitir" en el encabezado HTTP y el valor es el método admitido, como "GET, POST".
Almacena un recurso en la ubicación especificada.
En esencia, PUT y POST son muy similares. Ambos envían datos al servidor, pero existe una diferencia importante entre ellos. PUT generalmente especifica la ubicación de almacenamiento del recurso, mientras que POST no. Datos POST La ubicación de almacenamiento la determina el propio servidor.
Hace eco de las solicitudes recibidas por el servidor, utilizadas principalmente para pruebas o diagnóstico.
El método CONNECT está reservado para el protocolo HTTP/1.1 y puede cambiar la conexión a un servidor proxy de canalización. Normalmente se utiliza para la comunicación entre un enlace de servidor cifrado SSL y un servidor proxy HTTP no cifrado.
HTTP/1.0 admite: GET, POST y HEAD tres métodos de solicitud HTTP.
HTTP/1.1 es la versión actualmente en uso. Esta versión utiliza conexiones persistentes de forma predeterminada y funciona bien con servidores proxy. También admite el envío de múltiples solicitudes simultáneamente en forma de canalización para reducir la carga de la línea y aumentar la velocidad de transferencia.
HTTP/1.1 agrega cinco nuevos métodos de solicitud HTTP: OPCIONES, PUT, DELETE, TRACE y CONNECT.
1.User-Agent: El tipo de navegador que generó la solicitud.
2.Aceptar: el tipo de datos que el cliente espera aceptar. Por ejemplo, Aceptar: texto/xml (aplicación/json) significa que el tipo que espera recibir es xml (json).
3.Content-Type: El tipo de datos de la entidad enviados por el remitente.
Por ejemplo, Tipo de contenido: texto/html (aplicación/json) significa que se envía el tipo html.
4.Host: el nombre de host solicitado, que permite que varios nombres de dominio estén en la misma dirección IP, es decir, un host virtual.
Hay una línea en blanco después del encabezado de la solicitud, que informa al servidor que no hay más encabezados de solicitud debajo.
GET no solicita datos, pero POST sí.
Los encabezados de solicitud más utilizados relacionados con los datos de la solicitud son Content-Type y Content-Length.
La línea de estado también consta de tres partes: versión del protocolo HTTP del servidor, código de estado de respuesta, descripción de texto del código de estado
Formato: Versión HTTP Código de estado Frase de motivo CRLF
p>Por ejemplo: HTTP/1.1 200 OK
Código de estado: consta de 3 dígitos, el primer número define la categoría de respuesta
1.1xx: Instrucción información, Indica que la solicitud ha sido recibida y el procesamiento continúa.
2.2xx: Éxito, indica que la solicitud ha sido aceptada y procesada exitosamente.
3.3xx: Redireccionamiento
4.4xx: Error del cliente
5.5xx: Error del servidor, el servidor no pudo cumplir con la solicitud legítima