solicitud [Proceso] Http Http

El navegador envía una petición HTTP proceso

Navegador de entrar en la URL: http: //www.baidu.com, después de qué medidas se completará?

1, las solicitudes de construcción

En primer lugar, construir un navegador línea de petición fue construido a través de la buena, el navegador está listo para iniciar una solicitud de red.

GET /index.html HTTP1.1

2, búsqueda en la caché

Antes de iniciar realmente una solicitud de red, el navegador primero tendrá que comprobar si el archivo solicitado en la memoria caché del navegador. Entre ellos, la caché del navegador es una copia almacenada localmente de los recursos, la tecnología para su uso directo en la siguiente solicitud .

Cuando un navegador solicita una búsqueda de recursos ya existe en las copias caché del navegador ahí, vamos a interceptar la petición y devolver una copia del final de la solicitud de recursos. Si la búsqueda en la caché falla, el acceso a la solicitud de red. Sería beneficioso:

  • Aliviar el estrés servidor, mejorar el rendimiento
  • Para el sitio web, la memoria caché es conseguir una parte importante de la carga de recursos rápidamente, reduciendo el tiempo de los recursos adquirir.

3, listo para direcciones IP y puertos

Hemos preparado anteriormente por el principio del conocimiento y también aprender acerca de la relación entre HTTP y TCP. Navegador usando el protocolo HTTP como protocolo de capa de aplicación utilizado para información de texto paquete de solicitud ; utilizando TCP / IP como protocolo de transporte para enviarlo a la red, por lo que antes de comenzar el trabajo de HTTP, las necesidades de su navegador para establecer una conexión con el servidor a través de TCP . Ese contenido HTTP se logra mediante la transmisión de datos de la fase de TCP.

TCP y HTTP relación diagrama:

 

 En consecuencia, podemos saber que es establecer una solicitud HTTP a la red, para obtener la dirección IP resuelta a través de URL y la información de puerto para establecer conexiones de servidor y TCP . Nosotros previamente "protocolo TCP" cuando se trata del paquete de datos al lado de recepción se transmiten a través de la dirección IP. Y nuestra dirección de sitio web suele ser el nombre de dominio, el nombre de dominio y la necesidad de direcciones IP para hacer la relación de correspondencia, que el sistema de resolución de direcciones IP " sistema de nombres de dominio (DNS) " para resolver la dirección IP, número de puerto y obtener la conexión de obtener preestablecidos que corresponden condiciones. En otras palabras, el navegador solicita DNS devuelve el correspondiente nombre de dominio IP, y la solicitud se consulta caché de datos DNS cuando el servicio DNS, para determinar si el nombre de dominio ha sido resuelto, si la consulta se analiza directamente, para obtener la IP después se determina si la URL especificar el número de puerto, no el protocolo HTTP cuando el puerto por defecto 80.

 

4, a la espera de la cola TCP

Chrome tiene un mecanismo para el mismo nombre de dominio al mismo tiempo sólo para crear hasta seis conexión TCP , si hay 10 solicitudes ocurrir en el mismo nombre de dominio, de los cuales cuatro solicitudes se ponen en cola para entrar en el estado, llevadas a cabo hasta que se complete la solicitud. Por supuesto, si el número actual de solicitudes es inferior a 6, irá directamente a la siguiente etapa, para establecer una conexión TCP.

5, para establecer una conexión TCP

Después de la cola de espera para el final, y la aplicación de servidor TCP "de tres vías" (protocolo TCP se ha descrito anteriormente), es decir, el cliente y el servidor envía tres paquetes para confirmar la conexión, la conexión a darse cuenta de que el navegador y los servicios.

6, transmite una solicitud HTTP

Una vez establecida la conexión TCP, el navegador y el servidor se pueden comunicar. Los datos se transmiten en la comunicación HTTP en este proceso.

HTTP formato de solicitud de datos:

 

 

 

En primer lugar, el navegador envía al servidor de línea de petición , que incluye un método de petición, petición URI (Uniform Resource Identifier) de protocolo y HTTP versión .

Hay maneras en que la solicitud GET, POST, PUT, DELETE, etc., que se utilizan comúnmente para POST enviar algunos datos al servidor, como la visita al sitio web para enviar la información del usuario en el servidor, por lo general estos datos se pasan la solicitud cuerpo enviado.

Después de que el navegador envía una solicitud de línea de comandos, sino también para enviar alguna información adicional para formar las cabeceras de solicitud, alguna información básica sobre el navegador le indica al servidor. Por ejemplo, contiene el kernel del sistema operativo y otro navegador la información del navegador que está utilizando, y la información de nombre de dominio de la petición actual, galletas y así sucesivamente.

 

 

 

HTTP solicita flujo de procesamiento del lado del servidor

1, solicitud de devolución

rizo -i https: // www.baidu.com/

Por herramienta de rizo (o panel de red), podemos entender el formato devuelve el servidor de datos:

 

 

 

En primer lugar, el servidor devuelve una línea de respuesta , incluyendo la versión de protocolo y código de estado.

Si se produce un error, el servidor pasará la solicitud de línea de código de estado para devolver el resultado del proceso, por ejemplo:

  • El código de estado más común 200 que indica el éxito del tratamiento;
  • 404 página no encontrada
  • 500, indicando que el error del servidor

A medida que el navegador enviará la solicitud junto con el encabezado de la solicitud, el servidor enviará a las cabeceras de respuesta junto con la respuesta al navegador. cabecera de respuesta contiene información de la misma, servidor, como un tiempo de generación devuelve el servidor de datos, se devuelve el tipo de datos (JSON, HTML, streaming tipo de medio), el servidor y el cliente para guardar información como cookies.

Después de la primera respuesta, el servidor envía el cuerpo de la respuesta de los datos, por lo general contiene el contenido HTML real. Lo anterior es el proceso de navegador responde servidor.

2. Desconectar

Una vez que el cliente vuelve a los datos de petición de servidor, es necesario cerrar la conexión TCP. Sin embargo, si el navegador o el servidor a unirse en su información de cabecera:

Conexión: Keep-Alive

Después de enviar la conexión TCP sigue abierta, por lo que el navegador puede continuar enviando la misma solicitud de conexión TCP. Para mantener las conexiones TCP requieren tiempo para establecer conexiones puede omitirse cuando la siguiente petición, para mejorar la velocidad de carga de recursos. Si una página incrustado imágenes son del mismo sitio web, puede inicializar una conexión persistente multiplexación para reducir la conexión TCP.

3, la redirección

Y devuelve una respuesta de respuesta de redirección filas de encabezado:

 

 301 Estado es decirle al navegador, que necesito para redirigir a otra URL, es la necesidad de direcciones URL de redirección incluido en el campo de la localización en la cabecera de respuesta, y luego, obtener la dirección del campo Ubicación del navegador, y utilizar esa dirección otra vez navegación, que es un cambio de dirección completa del proceso de implementación.

resumen

solicitud HTTP a través del proceso completo, sabemos que el proceso de solicitud de DNS lentamente y los recursos de página se almacena en caché caché del navegador hasta reducir la petición de recursos al servidor, por lo que cuando el sitio, una vez más solicitudes será más rápido.

los recursos de procesamiento de la memoria caché del navegador:

 

 

Como puede verse en la figura, la primera solicitud, cuando el servidor devuelve el encabezado de respuesta HTTP al navegador, el navegador está en el campo de la cabecera Cache-Control respuesta a establecer si se almacena en caché el recurso . En general, también es necesario para establecer la cantidad de tiempo que una caché de recursos expira, y esto es mucho tiempo por Max-edad parámetro Cache-Control en el conjunto.

Por lo tanto, en el caso de los recursos de caché que aún no ha expirado, si se solicita de nuevo el recurso, los recursos directamente a la caché del navegador.

Si la caché expira, el navegador ha decidido realizar solicitudes de red, y la cinta de cabecera If-None-Match petición HTTP , si el servidor de recursos recibe el encabezado de la solicitud, la solicitud será juzgada en función del valor de la If-None-Match para las actualizaciones.

  • Si no hay una actualización, devuelve un código de estado 304, el servidor equivalente decirle al navegador, la caché puede seguir utilizando.
  • Si se actualiza el recurso, el servidor devuelve los últimos recursos directamente en el navegador.

visita el sitio web de cadena, presentar información al servidor mediante el método POST. Después de que el servidor recibe la información presentada por el navegador, consulta la información de autenticación de identidad del usuario es correcta de la superficie es la respuesta escrita generada Set-Cookie posterior campo de encabezado al navegador.

Navegador analiza la cabecera de respuesta, si el campo set-cookie se almacena localmente cuando el usuario accede de nuevo, antes de que una petición HTTP de los navegadores de lectura y escritura de datos encabezados de solicitud cookie al servidor, la determinación información del servidor de nuevo, si es correcta muestran el estado del usuario y la información de inicio de sesión de usuario.

Por último, resumió el navegador para iniciar peticiones HTTP desde finales experimentaron un total de ocho etapas: las solicitudes de construcción, buscar el caché, listo IP y el puerto, la cola TCP espera de establecer una conexión TCP, envía una solicitud HTTP, el servidor procesa la solicitud, el servidor devuelve el pedido y desconecte .

Detalles HTTP proceso de solicitud:

 

 Transferencia - https://cloud.tencent.com/developer/article/1574325

Supongo que te gusta

Origin www.cnblogs.com/july-sunny/p/12628874.html
Recomendado
Clasificación