HTTP Connection аталыштарын үтүр менен бөлүнгөн токендер катары талдоо
Форвард прокси бир HTTP/1.1 талаасында keep-alive жана Upgrade жолукканда, ар бир Connection параметрин регистрге карабастан талдаңыз.
Бул маанилер бир режимдин атаандаш жазылыштары эмес:
Connection: Upgrade
Connection: keep-alive, UpgradeЭкинчиси эки туташуу параметрин тизмелейт. HTTP Connectionды үтүр менен бөлүнгөн тизме катары аныктайт, параметр аттары регистрге көз каранды эмес. Бүт маанини так Upgrade сабы менен салыштырган код ошол параметрди камтыган жарактуу тизмени өткөрүп жиберет.
Кадимки жиберүү үчүн HTTP ортомчусу кирүүчү талааны талдайт, өз параметрлери атаган талааларды алып салат, андан кийин Connectionдын өзүн алып салат же кийинки туташуу үчүн ортомчунун өз башкаруу параметрлери менен алмаштырат.
Кандайдыр бир катуу коддолгон Keep-Alive талаасын гана алып салуу жетишсиз. Билдирүү тизмеде туташууга таандык башка талааны аташы мүмкүн жана ал талаа кадимки жиберүүгө агып кетпеши керек.
Протоколду жаңыртууну колдоо эки туташууну жана жаңы протоколду атайын иштетүүнү талап кылат. Кирүүчү Upgrade аталыштарын сокур көчүрүү — бул өткөрүп берүүнүн ишке ашырылышы эмес.
Бир браузер иштеп, экинчиси ийгиликсиз болгондо, ортомчунун эки тарабындагы реалдуу талаа маанилерин салыштырыңыз. Бир токен менен эки токенден турган тизменин айырмасы браузерден башка браузердин так форматтоосун туурашын талап кылбастан эле талдоочу катасын ачып бере алат.
Бул прокси талдаган HTTP билдирүүлөрүнө тиешелүү. Кадимки HTTPS CONNECT туннели шифрленген сайттын Connection талаасын ошол проксиге ачпайт.