Por fin llega HTTP/2 a Proxyman v26.0.0

Imagen de portada de Por fin llega HTTP/2 a Proxyman v26.0.0

5 min de lectura

Por fin llega HTTP/2. Proxyman v26.0.0 para macOS incluye compatibilidad con HTTP/2 en la versión estable. Ya no necesitas una app beta aparte.

Si tu app usa HTTP/2, ahora puedes inspeccionar ese tráfico con Proxyman. Lee las solicitudes y respuestas, comprueba el protocolo utilizado y trabaja con los mismos filtros y herramientas de depuración que usas a diario.

Esta versión también incluye Split View y una nueva Tab View al estilo de Safari para los usuarios PRO. Ambas facilitan tener a la vista distintas partes de una captura con mucho tráfico.

Por qué importa HTTP/2

Una app suele enviar varias solicitudes al abrir una pantalla. Puede cargar tu perfil, obtener una lista y descargar imágenes al mismo tiempo. La forma en que esas solicitudes comparten una conexión puede afectar a lo que ves al depurar.

HTTP/2 cambia la forma en que viajan los mensajes HTTP:

  • Varias solicitudes pueden compartir una misma conexión al mismo tiempo. Cada intercambio usa su propio stream.
  • La compresión de cabeceras reduce los datos repetidos que se envían por esa conexión.
  • Reutilizar conexiones puede reducir la necesidad de abrir más conexiones TCP y repetir la configuración de TLS.
  • Los métodos, las URL, los códigos de estado y los cuerpos siguen teniendo el significado que ya conoces.

El estándar HTTP/2 explica estos cambios en detalle. Pueden reducir la sobrecarga, pero no hacen que cada solicitud sea más rápida. El trabajo del servidor, las condiciones de la red y tu propia app siguen influyendo. HTTP/2 también usa TCP, así que la pérdida de paquetes puede afectar a las solicitudes que comparten una conexión.

Para depurar, la ventaja es práctica. Puedes inspeccionar el tráfico que usa HTTP/2 en lugar de depender solo de una captura con HTTP/1.1. Esto ayuda cuando un problema depende de la negociación del protocolo o de que varias solicitudes se ejecuten a la vez.

Activa HTTP/2 en Settings

HTTP/2 viene desactivado por defecto. Para activarlo:

  1. Instala Proxyman v26.0.0 o posterior en tu Mac.
  2. Abre Proxyman → Settings → General.
  3. En la sección Proxy, activa Use HTTP/2.
  4. Para inspeccionar HTTPS, instala el certificado de Proxyman en el dispositivo cliente y confía en él.
  5. Activa SSL Proxying para la app o el dominio que quieras inspeccionar.
  6. Envía una solicitud nueva desde tu app o recarga la página.
Activa Use HTTP/2 en Proxyman Settings, en General
Activa Use HTTP/2 en Proxyman Settings, en General

Empieza a capturar HTTP/2

Esta demostración muestra cómo activar HTTP/2 y empezar a capturar solicitudes nuevas en Proxyman.

Cambiar la configuración de HTTP/2 cierra las conexiones existentes para que las nuevas usen el nuevo ajuste. Las conexiones WebSocket y Server-Sent Events activas también pueden necesitar reconectarse.

Si ya capturas HTTPS con Proxyman, tu configuración de certificado y de dominios puede mantenerse. Si es tu primera captura, sigue la guía de SSL Proxying. Los dispositivos remotos también necesitan que su tráfico pase por Proxyman en tu Mac.

Qué puedes inspeccionar

Selecciona una solicitud capturada para leer los detalles disponibles de ese intercambio:

  • El método, la URL, los parámetros de consulta y las cabeceras de la solicitud.
  • Las cookies y los cuerpos de la solicitud, como JSON, datos de formulario o contenido binario.
  • El estado, las cabeceras y el cuerpo de la respuesta.
  • Las cabeceras trailer, cuando el cliente o el servidor las envían después del cuerpo.
  • El tiempo de la solicitud y la información del protocolo HTTP registrada.
  • Los detalles de la conexión, como el protocolo negociado por el servidor, cuando estén disponibles.

Las solicitudes que comparten una conexión HTTP/2 aparecen como intercambios separados en la lista de solicitudes. Puedes seleccionar cada una e inspeccionar su contenido sin leer los frames binarios subyacentes.

Los trailers son útiles en las API que envían información final después del cuerpo de la respuesta. Por ejemplo, una respuesta de gRPC puede incluir grpc-status y grpc-message en sus trailers. Una respuesta HTTP 200 por sí sola no indica si esa llamada RPC se completó correctamente. Capturar esta información no significa que todos los cuerpos binarios se vuelvan texto legible de forma automática.

Comprueba el protocolo que usó tu solicitud

Activar HTTP/2 permite que Proxyman lo use. No obliga a que cada conexión use HTTP/2.

Hay dos conexiones que tener en cuenta:

  • Tu app o tu navegador se conecta a Proxyman.
  • Proxyman se conecta al servidor upstream.

Estas conexiones pueden usar versiones de HTTP distintas. El cliente debe admitir HTTP/2 y negociarlo. El servidor upstream también debe admitirlo para que esa conexión lo use. Proxyman permite usar HTTP/1.1 como alternativa.

Después de enviar una solicitud nueva:

  • Comprueba su versión de HTTP en los detalles de la solicitud.
  • Abre Connection Log en el panel Request para comprobar el protocolo upstream, si se registró.
  • Busca el protocolo que aceptó el servidor. h2 significa HTTP/2.
  • Recuerda que ofrecer h2 durante la negociación no demuestra que el servidor lo haya elegido.

En este ejemplo, Proxyman ofrece h2 y http/1.1, y el servidor acepta h2.

Connection Log de HTTP/2 que muestra que el servidor aceptó h2 en Proxyman
Connection Log de HTTP/2 que muestra que el servidor aceptó h2 en Proxyman

Las capturas antiguas guardadas pueden no contener detalles del protocolo upstream. La falta de información no significa que la conexión usara HTTP/1.1. La guía de Connection Log explica cómo leer los pasos registrados.

Compara el tráfico con Split View y pestañas

Imagina que tu app carga bien un perfil, pero no consigue cargar su lista de actividad. Mantén visibles los dos endpoints mientras reproduces el problema:

  1. Haz clic con el botón derecho en la app o el dominio de la barra lateral y elige Open as Split View.
  2. Filtra el primer panel por el endpoint del perfil.
  3. Filtra el segundo panel por el endpoint de actividad.
  4. Selecciona una solicitud en cada panel y compara su estado, sus cabeceras y sus cuerpos.

Cada panel conserva sus propios filtros y su selección. Ambos usan la misma captura, así que las solicitudes nuevas siguen disponibles en cualquiera de las dos vistas.

Para otra investigación, elige Open as New Tab o pulsa ⌘T. Cambia entre pestañas sin volver a crear tus filtros y arrastra las pestañas al orden que quieras. Split View y Tab View requieren Proxyman PRO.

Si sigues viendo HTTP/1.1

  • Comprueba que Use HTTP/2 esté activado y envía una solicitud nueva.
  • Confirma que el cliente y el servidor admiten HTTP/2. Que se use la alternativa puede ser normal.
  • Revisa la confianza en el certificado y SSL Proxying si el contenido HTTPS sigue cifrado.
  • Comprueba que tu app o tu dispositivo envían el tráfico a través de Proxyman.
  • Si una app rechaza la conexión, revisa sus requisitos de certificado, incluido el SSL pinning.

Sigue leyendo

Descarga la versión, activa HTTP/2 y captura la solicitud que quieras entender.

Noah Tran
Noah Tran

Empieza a capturar tráfico HTTP/2

Descarga Proxyman para macOS, activa Use HTTP/2 en Settings e inspecciona una solicitud nueva.

Descargar Proxyman para macOS