Explicación detallada de la diferencia entre Http 1.0 y 1.1 y 2.0

Http 的 1.0

Pregunta 1: Conexión corta

http se basa en el protocolo Tcp, debido a que es una conexión corta, cada conexión http; y desconexión corresponderá al protocolo de enlace Tcp de tres vías, conexión de inicio lento y desconexión de cuatro ondas. (Se puede resolver configurando Conexión: mantener vivo)

Problema 2: bloqueo

El número de solicitudes simultáneas iniciadas por el cliente es fijo y, si hay demasiadas solicitudes, se pondrá en cola y se bloqueará.

Optimización de http 1.1

Optimización 1: conexión larga

Un canal de conexión Tcp puede paralelamente múltiples solicitudes http y se cierra. Pero el servidor aún procesa el orden de las solicitudes de los clientes. Entonces el servidor aún se bloqueará.

Optimización 2: optimización de caché

El procesamiento de caché, en HTTP1.0, If-Modified-Since y Expires en el encabezado se utilizan principalmente como criterios para el juicio de caché, HTTP1.1 introduce más estrategias de control de caché como la etiqueta de entidad, If-Unmodified-Since, If-Match, If-None-Match y más encabezados de caché opcionales están disponibles para controlar la estrategia de caché.

Optimización 3: Gestión de notificaciones de errores.

Se agregaron 24 códigos de respuesta de estado de error en HTTP1.1. Por ejemplo, 409 (Conflicto) indica que el recurso solicitado entra en conflicto con el estado actual del recurso; 410 (Desaparecido) indica que un recurso en el servidor se elimina permanentemente

Optimización 4: nuevo método de solicitud

PUT: solicitar al servidor que almacene un recurso;
BORRAR: solicitar al servidor que elimine el recurso identificado;
OPCIONES: solicitar para consultar el rendimiento del servidor, o consultar las opciones y requisitos relacionados con el recurso;
TRACE: solicitar al servidor que devuelva la información de la solicitud recibida, principalmente para pruebas O diagnóstico;
CONNECT: reservado para uso futuro

Optimización 5: optimización del host

Optimización de host agregada, a través de diferentes hosts puede admitir el servicio, una IP corresponde a múltiples hosts virtuales.

Optimización 6: optimización de carga reanudable

Se introduce el campo de encabezado de rango, que permite que solo se solicite una determinada parte del recurso, es decir, el código de retorno es 206 (Partial Content), lo que facilita la libre elección de los desarrolladores para hacer un uso completo del ancho de banda y las conexiones.

Optimización Http2.0

Optimización 1: Totalmente multiplexado

El cliente y el servidor pueden iniciar o responder en paralelo para evitar el bloqueo causado por la serialización.

Optimización 2: compresión de mensajes

Más algoritmos de compresión y transmisión optimizada de campos repetidos como cookies

Optimización 3: Encuadre binario

Capa de encuadre binaria agregada. Entre la capa http y tcp, el marco se puede desordenar y ensamblar en el otro extremo.

Optimización 4: inserción del servidor

Una solicitud al cliente, múltiples respuestas

Solicitar ejemplos y análisis

// 请求
GET / HTTP/1.1

Host:xxx.xxxx.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.10) Gecko/2016042316 Firefox/3.0.10

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-us,en;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

If-Modified-Since: Mon, 25 May 2016 03:19:18 GMT


//响应
HTTP/1.1 200 OK

Cache-Control: private, max-age=30

Content-Type: text/html; charset=utf-8

Content-Encoding: gzip

Expires: Mon, 25 May 2016 03:20:33 GMT

Last-Modified: Mon, 25 May 2016 03:20:03 GMT

Vary: Accept-Encoding

Server: Microsoft-IIS/7.0

X-AspNet-Version: 2.0.50727

X-Powered-By: ASP.NET

Date: Mon, 25 May 2016 03:20:02 GMT

Content-Length: 12173

Significado del código de estado

Códigos de estado HTTP 1.1 y su significado

El código de estado consta de tres dígitos. El primer dígito define la categoría de respuesta y hay cinco valores posibles:

1xx: Mensaje de indicación: indica que se ha recibido la solicitud, continuar procesando

2xx: Correcto: indica que la solicitud se ha recibido, comprendido y aceptado correctamente.

3xx: Se debe realizar una acción de redireccionamiento adicional para completar la solicitud

4xx: error de cliente: la solicitud tiene un error de sintaxis o la solicitud no se puede cumplir

5xx: error del lado del servidor: el servidor no pudo cumplir con una solicitud legítima

Referencia:
https://www.jianshu.com/p/52d86558ca57
https://www.debugger.wiki/article/html/1565502376358922
https://juejin.im/entry/6844903489596833800
https://blog.csdn.net / zhglance / article / details / 76162176
https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/232

Supongo que te gusta

Origin blog.csdn.net/u010321471/article/details/108505738
Recomendado
Clasificación