Гэтыя значэнні не з'яўляюцца канкуруючымі напісаннямі аднаго рэжыму:

Connection: Upgrade
Connection: keep-alive, Upgrade

Другі радок пералічвае два варыянты злучэння. HTTP вызначае Connection як спіс праз коску, дзе назвы варыянтаў не залежаць ад рэгістру. Код, які параўноўвае ўсё значэнне з дакладным радком Upgrade, прапускае сапраўдны спіс, што змяшчае гэты варыянт.

Для звычайнай перасылкі HTTP-пасрэднік разбірае атрыманае поле, выдаляе палі, названыя яго варыянтамі, а затым выдаляе сам Connection або замяняе яго ўласнымі варыянтамі кіравання для наступнага злучэння.

Выдалення толькі жорстка зададзенага поля Keep-Alive недастаткова. Паведамленне можа называць у спісе іншае поле, спецыфічнае для злучэння, і гэта поле не павінна прасачыцца ў звычайную перасылку.

Падтрымка павышэння пратаколу патрабуе ўсвядомленай працы з абодвума злучэннямі і новым пратаколам. Сляпое капіраванне атрыманых загалоўкаў Upgrade не з'яўляецца рэалізацыяй такой перадачы.

Калі адзін браўзер працуе, а другі не, параўнайце фактычныя значэнні палёў з абодвух бакоў пасрэдніка. Розніца паміж адным токенам і спісам з двух токенаў можа выявіць памылку разбору, не патрабуючы ад браўзера пераймаць дакладнае фарматаванне іншага браўзера.

Гэта датычыцца HTTP-паведамленняў, якія разбірае праксі. Звычайны тунэль HTTPS CONNECT не паказвае праксі поле Connection зашыфраванага сайта.

Падобныя артыкулы