Fortolk HTTP Connection-headere som kommaseparerede tokens
Fortolk hver Connection-indstilling uden hensyn til store og små bogstaver, når en forward-proxy møder keep-alive og Upgrade i samme HTTP/1.1-felt.
Disse værdier er ikke konkurrerende stavemåder for én tilstand:
Connection: Upgrade
Connection: keep-alive, UpgradeDen anden angiver to forbindelsesindstillinger. HTTP definerer Connection som en kommasepareret liste med indstillingsnavne, der ikke skelner mellem store og små bogstaver. Kode, der sammenligner hele værdien med den præcise streng Upgrade, overser en gyldig liste, der indeholder den indstilling.
Ved almindelig videresendelse fortolker en HTTP-mellemled det indkommende felt, fjerner felter, som dens indstillinger navngiver, og fjerner derefter selve Connection eller erstatter det med mellemleddets egne kontrolindstillinger for den videre forbindelse.
Det er ikke nok kun at fjerne et hårdkodet Keep-Alive-felt. En meddelelse kan navngive et andet forbindelsesspecifikt felt på listen, og det felt må ikke lække ind i almindelig videresendelse.
Understøttelse af en protokolopgradering kræver bevidst håndtering af de to forbindelser og den nye protokol. Blind kopiering af de indkommende Upgrade-headere er ikke en implementering af den overlevering.
Når én browser virker og en anden fejler, sammenlign de faktiske feltværdier på begge sider af mellemleddet. En forskel mellem et enkelt token og en liste med to tokens kan afsløre en parserfejl, uden at browseren skal efterligne en anden browsers præcise formatering.
Det handler om de HTTP-meddelelser, som proxyen fortolker. En almindelig HTTPS CONNECT-tunnel eksponerer ikke den krypterede websites Connection-felt for den proxy.