HTTP-Connection-Header als komma-getrennten Tokens parsen
Parse all Connection-Optioun onofhängeg vun der Grouss- a Klengschreiwung, wann e Forward-Proxy keep-alive an Upgrade am selwechten HTTP/1.1-Feld fënnt.
Dës Wäerter sinn net konkurréierend Schreifweisen vun engem eenzegen Modus:
Connection: Upgrade
Connection: keep-alive, UpgradeDéi zweet zielt zwou Verbindungsoptiounen op. HTTP definéiert Connection als eng komma-getrennte Lëscht, bei där d'Optiounsnummen net tëschent Grouss- a Klengschreiwung ënnerscheeden. Code, deen de ganzen Wäert mat der genauer Zeecheketten Upgrade vergläicht, verpasst eng gëlteg Lëscht, déi dës Optioun enthält.
Fir d'gewéinlech Weiderleedung parst en HTTP-Intermediär dat erakommend Feld, hieft Felder ewech, déi vu sengen Optiounen genannt ginn, an hieft duerno Connection selwer ewech oder ersetzt et duerch seng eegen Kontrolloptiounen fir déi nächst Verbindung.
Nëmmen e fest kodéiert Keep-Alive-Feld ewechzehuelen ass net genuch. Eng Noriicht kann eng aner verbindungsspezifesch Feld an der Lëscht nennen, an dat Feld däerf net an d'gewéinlech Weiderleedung lecken.
D'Ënnerstëtzung vun engem Protokoll-Upgrade erfuerdert en bewosste Ëmgang mat deenen zwou Verbindungen an dem neie Protokoll. D'erakommend Upgrade-Header blann ze kopéieren ass keng Ëmsetzung vun där Iwwerreechung.
Wann ee Browser funktionéiert an en aneren net, vergläich déi tatsächlech Feldwäerter op béide Säite vum Intermediär. En Ënnerscheed tëschent engem eenzegen Token an enger Lëscht vun zwee Tokens kann e Parsefehler opdecken, ouni datt de Browser déi genee Formatéierung vun engem anere Browser musse kopéieren.
Dëst betrëfft d'HTTP-Noriichten, déi de Proxy parst. En gewéinlechen HTTPS CONNECT-Tunnel weist dem Proxy d'Connection-Feld vun der verschlësselter Websäit net.