HTTP Connection başlıqlarını vergüllə ayrılmış tokenlər kimi təhlil edin
Bir forward proxy eyni HTTP/1.1 sahəsində keep-alive və Upgrade ilə rastlaşdıqda hər bir registrdən asılı olmayan Connection seçimini təhlil edin.
Bu dəyərlər tək bir rejimin rəqib yazılışları deyil:
Connection: Upgrade
Connection: keep-alive, Upgradeİkincisi iki əlaqə seçimi sadalayır. HTTP, Connection başlığını vergüllə ayrılmış siyahı kimi təyin edir və seçim adları registrdən asılı deyil. Bütün dəyəri dəqiq Upgrade sətri ilə müqayisə edən kod həmin seçimi ehtiva edən etibarlı siyahını qaçırır.
Adi yönləndirmə üçün HTTP vasitəçisi daxil olan sahəni təhlil edir, seçimlərinin adlandırdığı sahələri çıxarır, sonra Connection-un özünü çıxarır və ya onu növbəti əlaqə üçün öz nəzarət seçimləri ilə əvəz edir.
Yalnız kodda sabitlənmiş Keep-Alive sahəsini çıxarmaq kifayət deyil. Mesaj siyahıda başqa bir əlaqəyə xas sahənin adını çəkə bilər və həmin sahə adi yönləndirməyə sızmalı deyil.
Protokol yüksəltməsini dəstəkləmək iki əlaqənin və yeni protokolun qəsdən idarə olunmasını tələb edir. Daxil olan Upgrade başlıqlarını kor-koranə kopyalamaq bu ötürmənin tətbiqi deyil.
Bir brauzer işləyib digəri uğursuz olduqda, vasitəçinin hər iki tərəfindəki faktiki sahə dəyərlərini müqayisə edin. Tək tokenlə iki tokenlik siyahı arasındakı fərq, brauzerdən başqa brauzerin dəqiq formatlaşdırmasını təqlid etməsini tələb etmədən təhlil xətasını üzə çıxara bilər.
Bu, proksin təhlil etdiyi HTTP mesajlarına aiddir. Adi HTTPS CONNECT tuneli şifrələnmiş saytın Connection sahəsini həmin proksiyə açmır.