8 métodos de solicitud en el método de solicitud HTTP (introducción simple)

Breve introduccion

HTTP es un protocolo de transferencia de hipertexto, que define la especificación de la transferencia de texto entre el cliente y el servidor. HTTP utiliza el puerto 80 de manera predeterminada. Este puerto se refiere al puerto del servidor, mientras que el puerto utilizado por el cliente se asigna dinámicamente. Cuando no especificamos el acceso al puerto, el navegador nos ayudará a agregar el puerto 80 de forma predeterminada. También podemos especificar el puerto de acceso nosotros mismos: http://www.ip138.com:80. Cabe señalar que la mayoría del acceso ahora usa el protocolo HTTPS, y el puerto predeterminado de HTTPS es 443. Si usa el puerto 80 para acceder al servidor del protocolo HTTPS, es posible que se le niegue.

Inserte la descripción de la imagen aquí

Método de solicitud HTTP:

Hay ocho métodos (a veces llamados "acciones") definidos en el protocolo HTTP / 1.1 para indicar los diferentes modos de operación del recurso especificado por Request-URL.
HTTP 1.0 define tres métodos de solicitud: métodos GET, POST y HEAD.
HTTP1.1 agrega cinco nuevos métodos de solicitud: métodos OPTIONS, PUT, DELETE, TRACE y CONNECT
Inserte la descripción de la imagen aquí

1. OPTIONS
devuelve el método de solicitud HTTP admitido por el servidor para recursos específicos. También puede usar la solicitud "*" al servidor web para probar la funcionalidad del servidor.
2. HEAD
solicita al servidor una respuesta consistente con la solicitud GET, pero la respuesta El cuerpo no será devuelto. Este método puede obtener la metainformación contenida en el encabezado del mensaje pequeño de respuesta sin transmitir todo el contenido de la respuesta.
3. GET
envía una solicitud a un recurso específico. Nota: El método GET no debe usarse en operaciones que causen "efectos secundarios", como en la aplicación web. Una de las razones es que las arañas web y similares pueden acceder aleatoriamente a GET. Las funciones de solicitud de obtención correspondientes en Loadrunner: web_link y web_url
4. POST
envía datos al recurso especificado para procesar la solicitud (como enviar un formulario o cargar un archivo). Los datos están contenidos en el cuerpo de la solicitud. Las solicitudes POST pueden resultar en el establecimiento de nuevos recursos y / o modificación de los recursos existentes. La solicitud POST correspondiente funciona en Loadrunner: web_submit_data, web_submit_form
5. PUT
carga el contenido más reciente en la ubicación del recurso especificado
6. DELETE
solicita al servidor que elimine el recurso identificado por la URL de solicitud
7.
La solicitud recibida por el servidor de eco TRACE se utiliza principalmente para pruebas o Diagnóstico
8. El
protocolo CONNECT HTTP / 1.1 está reservado para un servidor proxy que puede cambiar la conexión a una tubería.
Nota:
1) El nombre del método distingue entre mayúsculas y minúsculas. Cuando el recurso al que se dirige una solicitud no admite el método de solicitud correspondiente, el servidor debe devolver el código de estado 405 (Mothod no permitido); cuando el servidor no reconoce ni admite el método de solicitud correspondiente En este momento, se debe devolver el código de estado 501 (no implementado).
2) El servidor HTTP debe al menos implementar los métodos GET y HEAD / POST, otros métodos son opcionales, además de los métodos anteriores, los servidores HTTP específicos admiten métodos personalizados extendidos.

Cómo funciona HTTP

El protocolo HTTP define cómo un cliente web solicita páginas web de un servidor web y cómo el servidor transmite las páginas web al cliente. El protocolo HTTP utiliza un modelo de solicitud / respuesta. El cliente envía un mensaje de solicitud al servidor, que contiene el método de solicitud, la URL, la versión del protocolo, el encabezado de solicitud y los datos de solicitud. El servidor responde con una línea de estado. El contenido de la respuesta incluye la versión del protocolo, los códigos de éxito o error, la información del servidor, los encabezados de respuesta y los datos de respuesta.

Pasos de solicitud / respuesta HTTP:

El cliente se conecta al servidor web-> envía una solicitud Http-> el servidor acepta la solicitud y devuelve una respuesta HTTP-> libera la conexión Conexión TCP-> el navegador del cliente analiza el contenido HTML

1. El cliente se conecta al servidor web
Un cliente HTTP, generalmente un navegador, establece una conexión de socket TCP con el puerto HTTP del servidor web (el valor predeterminado es 80). Por ejemplo, http://www.baidu.com

2. Enviar solicitud HTTP
A través del socket TCP, el cliente envía un mensaje de solicitud de texto al servidor Web. Un mensaje de solicitud consta de una línea de solicitud, un encabezado de solicitud, una línea en blanco y datos de solicitud.

3. El servidor acepta la solicitud y devuelve una respuesta HTTP al
servidor web para analizar la solicitud y ubicar el recurso solicitado. El servidor escribe una copia del recurso en el socket TCP, que el cliente lee. Una respuesta consta de 4 partes: línea de estado, encabezado de respuesta, línea en blanco y datos de respuesta.
4. Libere la conexión de conexión TCP
Si el modo de conexión está cerrado, el servidor cierra activamente la conexión TCP, y el cliente cierra pasivamente la conexión y libera la conexión TCP, si el modo de conexión está activo, la conexión permanecerá durante un período de tiempo y puede continuar recibiendo dentro de ese tiempo Solicitud;

5. El navegador del cliente analiza el contenido HTML El
navegador del cliente primero analiza la línea de estado y comprueba el código de estado que indica si la solicitud se realizó correctamente. Luego, cada encabezado de respuesta se analiza y el encabezado de respuesta informa los siguientes bytes de un documento HTML y el conjunto de caracteres del documento. El navegador del cliente lee los datos de respuesta HTML, los formatea de acuerdo con la sintaxis de HTML y los muestra en la ventana del navegador.

Mensaje de solicitud HTTP

El mensaje de solicitud de que el cliente envía una solicitud HTTP al servidor incluye el siguiente formato:
línea de solicitud (línea de solicitud), encabezado de solicitud (encabezado), línea en blanco y datos de solicitud.
Inserte la descripción de la imagen aquí
La línea de solicitud comienza con un símbolo de método, separado por un espacio, seguido del URI de la solicitud y la versión del protocolo.
Obtenga el ejemplo de solicitud, utilizando Charles para obtener la solicitud:

GET /562f25980001b1b106000338.jpg HTTP/1.1
Host    img.mukewang.com
User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept    image/webp,image/*,*/*;q=0.8
Referer    http://www.imooc.com/
Accept-Encoding    gzip, deflate, sdch
Accept-Language    zh-CN,zh;q=0.8

La primera parte: la línea de solicitud, utilizada para indicar el tipo de solicitud, el recurso al que se debe acceder y la versión HTTP utilizada.
GET indica que el tipo de solicitud es GET, [/562f25980001b1b106000338.jpg] es el recurso al que se debe acceder, y la última parte de la línea describe el uso Es la versión HTTP 1.1.

La segunda parte: el encabezado de la solicitud, la parte inmediatamente posterior a la línea de solicitud (es decir, la primera línea) se utiliza para explicar que la información adicional que utilizará el servidor
es el encabezado de la solicitud de la segunda línea, y HOST indicará el destino de la solicitud. -Los scripts del agente, del lado del servidor y del lado del cliente pueden acceder, es una base importante para la lógica de detección del tipo de navegador. Esta información la define su navegador y se envía automáticamente en cada solicitud, etc.

Parte 3: líneas en blanco, se requieren líneas en blanco después del encabezado de la solicitud
Incluso si los datos de la solicitud en la cuarta parte están en blanco, debe haber líneas en blanco.

Parte 4: Los datos de la solicitud también se denominan asunto, y se pueden agregar otros datos.
Los datos de solicitud para este ejemplo están vacíos.

Ejemplo de solicitud POST, usando Charles para tomar la solicitud:

POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name = Professional% 20Ajax & publisher = Wiley
Parte 1: la línea de solicitud, la primera línea es la solicitud posterior y la versión http1.1.
La segunda parte: encabezado de solicitud, la segunda línea a la sexta línea.
La tercera parte: línea en blanco, línea en blanco de la séptima línea.
Parte IV: Solicitud de datos, línea ocho.

Mensaje de solicitud HTTP Respuesta

En general, el servidor devolverá un mensaje de respuesta HTTP después de recibir y procesar la solicitud del cliente.

La respuesta HTTP también se compone de cuatro partes, a saber: línea de estado, encabezado de mensaje, línea en blanco y cuerpo de respuesta
Inserte la descripción de la imagen aquí

Ejemplos

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
<html>
      <head></head>
      <body>
            <!--body goes here-->
      </body>
</html>

La primera parte: la línea de estado, que consiste en el número de versión del protocolo HTTP, el código de estado y el mensaje de estado.
La primera línea es la línea de estado, (HTTP / 1.1) indica que la versión HTTP es la versión 1.1, el código de estado es 200 y el mensaje de estado es (ok)

La segunda parte: el encabezado del mensaje, que se utiliza para explicar cierta información adicional que debe utilizar el cliente. La
segunda y tercera líneas son el encabezado del mensaje,
Fecha: la fecha y la hora en que se generó la respuesta; Tipo de contenido: HTML (texto / html), el tipo de codificación es UTF-8

La tercera parte: línea en blanco, la línea en blanco después del encabezado del mensaje, la
cuarta parte: el cuerpo de la respuesta, la información de texto devuelta por el servidor al cliente.
La parte html después de la línea en blanco es el cuerpo de la respuesta.

Solicitar código de estado de devolución:
200 OK Este resultado aparece cuando su operación devolverá datos en el cuerpo de respuesta.

204 Sin contenido Este resultado aparece cuando su operación es exitosa, pero los datos no se devuelven en el cuerpo de la respuesta.

304 No modificado (redireccionamiento) Este resultado aparece cuando la entidad de prueba se ha modificado desde la última recuperación.

403 Error de cliente prohibido

401 Error de cliente no autorizado

413 Carga útil demasiado grande (error del cliente) Este resultado aparece cuando la longitud de la solicitud es demasiado larga.

400 BadRequest (error del cliente) Este resultado se produce cuando el parámetro no es válido.

404 No encontrado (error del cliente) Este resultado ocurre cuando el recurso no existe.

405 Método no permitido (error del cliente) Este error se produce porque la combinación de método y recurso es incorrecta. Por ejemplo, no puede usar DELETE o PATCH en una colección de entidades.

412 Error de condición previa del cliente fallido

501 No implementado (error del servidor) Este resultado ocurre cuando no se implementa una operación solicitada.

503 Servicio no disponible (error del servidor) Este resultado se produce cuando el servicio API web no está disponible.

OBTENER Y PUBLICAR:

Los datos enviados por el método "get" se completarán directamente en la URL del mensaje de solicitud, como "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1" "?" El signo de interrogación divide el nombre de dominio y obtiene Para los parámetros enviados, A en A = B es el nombre del parámetro, B es el valor del parámetro y varios parámetros están separados por &. Si el valor del parámetro es chino, se convertirá en código hexadecimal cifrado como% ab% 12 En general, la longitud máxima de las URL manejadas por los navegadores es de 1024 B (los diferentes navegadores son diferentes), por lo que la longitud de los parámetros enviados por el método GET es limitada.

Los datos enviados por el método "post" se adjuntarán al cuerpo. Generalmente, la longitud del cuerpo de la solicitud es ilimitada, pero la longitud que se puede procesar en el formulario es generalmente de 100k (diferentes protocolos y diferentes navegadores son diferentes), y el mensaje de la capa inferior debe ser considerado No se recomienda que la eficiencia de la transmisión sea demasiado larga.

Por lo tanto, el método GET se puede usar para transmitir información de parámetros públicos, y el análisis es más conveniente, como las palabras clave de búsqueda de Baidu, y el método POST se puede usar para enviar la información confidencial de un usuario (si no se usa el cifrado HTTPS, el cuerpo del mensaje sigue siendo Es texto simple y puede ser fácilmente interceptado y leído)
Inserte la descripción de la imagen aquí

Características principales

1.
Sin conexión El significado de sin conexión es limitar solo una solicitud por conexión. Después de que el servidor procesa la solicitud del cliente y recibe la respuesta del cliente, se desconecta. El uso de este método puede ahorrar tiempo de transmisión.

2. El
protocolo HTTP sin estado es un protocolo sin estado. Sin estado significa que el protocolo no tiene memoria para el procesamiento de transacciones. La falta de estado significa que si el procesamiento posterior requiere la información previa, debe ser retransmitida, lo que puede resultar en un aumento en la cantidad de datos transferidos por conexión. Por otro lado, cuando el servidor no necesita información previa, su respuesta es más rápida.

3. Simple y rápido Cuando los
clientes solicitan servicios del servidor, solo necesitan transferir el método de solicitud y la ruta. Los métodos de solicitud comunes incluyen GET, HEAD y POST. Cada método especifica un tipo diferente de contacto cliente-servidor. Debido a que el protocolo HTTP es simple, el tamaño del programa del servidor HTTP es pequeño, por lo que la velocidad de comunicación es rápida.

4.
HTTP flexible permite la transmisión de cualquier tipo de objeto de datos. El tipo que se transmite está marcado por Content-Type.

5. Soporta modos B / S y C / S

Asignación

  • Aprender HTTPlos fundamentos del acuerdo, incluyendo el proceso de solicitud, pedir método
  • http es el protocolo de transferencia de hipertexto, el número de puerto predeterminado es 80, el cliente es dinámico, el navegador cambiará automáticamente a 80 el número de puerto predeterminado https es 443
  • 8 tipos de métodos de solicitud: get, post, put, delete, options, trace, connect, head
  • proceso de solicitud se divide en dos tipos request, y response, pero son el mismo proceso, la recepción de una solicitud de
  • El flujo es: línea de estado, encabezado de mensaje, línea en blanco y cuerpo de respuesta
  • Pasos de solicitud de respuesta: el
    cliente se conecta al servidor web-> envía una solicitud Http-> el servidor acepta la solicitud y devuelve una respuesta HTTP-> libera la conexión Conexión TCP-> el navegador del cliente analiza el contenido HTML
252 artículos originales publicados · Me gusta 106 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/weixin_42554191/article/details/105459441
Recomendado
Clasificación