Тези стойности не са конкуриращи се изписвания на един режим:

Connection: Upgrade
Connection: keep-alive, Upgrade

Втората изброява две опции за връзката. HTTP дефинира Connection като списък, разделен със запетаи, с имена на опциите без значение от регистъра. Код, който сравнява цялата стойност с точния низ Upgrade, пропуска валиден списък, съдържащ тази опция.

При обикновено препращане HTTP посредникът разбира входящото поле, премахва полетата, посочени от неговите опции, след което премахва самия Connection или го заменя със свои собствени опции за управление на изходящата връзка.

Премахването само на твърдо зададено поле Keep-Alive е недостатъчно. Съобщението може да посочи в списъка друго поле, специфично за връзката, и това поле не бива да изтича в обикновеното препращане.

Поддръжката на надграждане на протокола изисква съзнателна работа с двете връзки и новия протокол. Сляпото копиране на входящите заглавки Upgrade не е реализация на това предаване.

Когато един браузър работи, а друг се проваля, сравнете действителните стойности на полетата от двете страни на посредника. Разликата между един токен и списък от два токена може да разкрие грешка в анализатора, без браузърът да трябва да имитира точното форматиране на друг браузър.

Това се отнася за HTTP съобщенията, които проксито разбира. Обикновен тунел HTTPS CONNECT не разкрива пред проксито полето Connection на шифрования сайт.

Подобни статии