HTTP/2 y HTTP/3 a través de un proxy: qué llega al servidor y por qué QUIC no pasa
Imagina una situación que desconcierta incluso a ingenieros experimentados. Abres un sitio web directamente en el navegador y ves en el panel de desarrollador un orgulloso h2 — la conexión usa HTTP/2. Luego envías la misma solicitud a través de un proxy y descubres con asombro que el servidor responde con el viejo y confiable HTTP/1.1. ¿Dónde quedó la segunda versión del protocolo? ¿Por qué el proxy parece haberte devuelto al pasado? Y lo más intrigante: ¿por qué HTTP/3, que funciona sobre QUIC, se niega rotundamente a pasar por un proxy convencional, como si chocara contra una pared invisible?
Este artículo es un análisis exhaustivo de la capa de transporte al trabajar a través de un proxy. No abordaremos los temas de huellas de conexión ni detección de automatización. Nuestro enfoque es la mecánica pura: qué llega realmente al servidor, dónde ocurre la negociación de la versión del protocolo, por qué el transporte UDP es incompatible con un proxy clásico y cómo tomar una decisión consciente sobre la versión. Al final del material, entenderás este tema a un nivel que te permitirá depurar los escenarios de red más complicados.