No results for

Powered byAlgolia

HTTP/2.0 es la última versión del protocolo HTTP e introduce algunas mejoras importantes en comparación con su predecesor. La principal es la introducción de un protocolo de hilo binario con flujos multiplexados a través de una única conexión TCP. Esto resuelve un antiguo problema de rendimiento de HTTP/1.1, el bloqueo de cabecera.

Bueno, al menos lo resuelve parcialmente, ya que todavía hay mecanismos de control de la congestión TCP que interfieren con la naturaleza independiente prevista de los flujos multiplexados en los casos de paquetes perdidos/atrapados y de retransmisión/remontaje. La solución completa es ejecutar HTTP/2.0 sobre UDP, que es lo que Google implementó con QUIC.

Características adicionales de HTTP/2.0

  • Compresión integrada de las cabeceras HTTP
  • Push del servidor
  • Canalización de solicitudes
  • Priorización de solicitudes

HTTP/2 con k6

Cuando realizas peticiones HTTP en k6, éste actualiza automáticamente la conexión a HTTP/2.0 si el servidor lo soporta, al igual que lo haría tu navegador web. Puedes comprobar qué protocolo se ha utilizado para una petición concreta mirando la propiedad proto del objeto de respuesta.

Check if protocol used for request is HTTP/2.0
1import http from 'k6/http';
2import { check, sleep } from 'k6';
3
4export default function () {
5 const res = http.get('https://test-api.k6.io/');
6 check(res, {
7 'protocol is HTTP/2': (r) => r.proto === 'HTTP/2.0',
8 });
9 sleep(1);
10}

Para más información sobre los valores que puede tener el campo r.proto, consulte la siguiente documentación: