Pars HTTP Connection-hoder som kommaseparerte tokens
Pars hver Connection-opsjon uten å skille mellom store og små bokstaver når en forward proxy møter keep-alive og Upgrade i samme HTTP/1.1-felt.
Disse verdiene er ikke konkurrerende stavemåter av én modus:
Connection: Upgrade
Connection: keep-alive, Upgrade
Den andre angir to tilkoblingsvalg. HTTP definerer Connection som en kommaseparert liste, der navnene på valgene ikke skiller mellom store og små bokstaver. Kode som sammenligner hele verdien med den eksakte strengen Upgrade, overser en gyldig liste som inneholder dette valget.
Ved vanlig videresending parser en HTTP-mellomtjener det innkommende feltet, fjerner felt som navngis av valgene, og fjerner deretter Connection selv eller erstatter det med mellomtjenerens egne kontrollvalg for den videre forbindelsen.
Å fjerne bare et hardkodet Keep-Alive-felt er ikke nok. En melding kan navngi et annet tilkoblingsspesifikt felt i listen, og det feltet må ikke lekke inn i vanlig videresending.
Støtte for en protokolloppgradering krever bevisst håndtering av begge forbindelsene og den nye protokollen. Å kopiere de innkommende Upgrade-hodet blindt er ikke en implementering av den overgangen.
Når én nettleser virker og en annen feiler, sammenlign de faktiske feltverdiene på begge sider av mellomtjeneren. Forskjellen mellom ett token og en liste med to tokens kan avsløre en parserfeil uten at nettleseren må etterligne en annen nettlesers nøyaktige formatering.
Dette gjelder HTTP-meldinger som proxyen parser. En vanlig HTTPS CONNECT-tunnel gir ikke den krypterte nettsidens Connection-felt til den proxyen.