Disse verdiene er ikke konkurrerende stavemåter for én modus:

Connection: Upgrade
Connection: keep-alive, Upgrade

Den andre lister opp to tilkoblingsalternativer. HTTP definerer Connection som en kommaseparert liste, med alternativnavn som ikke skiller mellom store og små bokstaver. Kode som sammenligner hele verdien med den nøyaktige strengen Upgrade, går glipp av en gyldig liste som inneholder alternativet.

For vanlig videresending analyserer et HTTP-mellomledd det innkommende feltet, fjerner felt som er navngitt av alternativene, og fjerner deretter Connection selv eller erstatter det med mellomleddets egne kontrollalternativer for den videre tilkoblingen.

Å fjerne bare et hardkodet Keep-Alive-felt er utilstrekkelig. 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 de to tilkoblingene og den nye protokollen. Å blindt kopiere de innkommende Upgrade-headerne er ikke en implementering av den overleveringen.

Når én nettleser virker og en annen feiler, sammenlign de faktiske feltverdiene på begge sider av mellomleddet. En forskjell mellom ett token og en liste med to tokens kan avdekke en parserfeil uten å kreve at nettleseren etterligner en annen nettlesers nøyaktige formatering.

Dette gjelder HTTP-meldinger som proxyen analyserer. En vanlig HTTPS CONNECT-tunnel eksponerer ikke det krypterte nettstedets Connection-felt for den proxyen.

Relaterte artikler