แยกวิเคราะห์ Connection Header ของ HTTP เป็นโทเค็นที่คั่นด้วยจุลภาค
แยกวิเคราะห์ทุกตัวเลือก Connection โดยไม่สนตัวพิมพ์เล็กใหญ่ เมื่อ forward proxy พบ keep-alive และ Upgrade ในฟิลด์ HTTP/1.1 เดียวกัน
ค่าเหล่านี้ไม่ใช่การสะกดที่แข่งขันกันของโหมดเดียว:
Connection: Upgrade
Connection: keep-alive, Upgrade
ค่าที่สองระบุตัวเลือกการเชื่อมต่อสองตัว HTTP กำหนดให้ Connection เป็นรายการที่คั่นด้วยจุลภาค โดยชื่อตัวเลือกไม่สนตัวพิมพ์เล็กใหญ่ โค้ดที่เปรียบเทียบค่าทั้งหมดกับสตริง Upgrade ตรงตัวจะพลาดรายการที่ถูกต้องซึ่งมีตัวเลือกนั้น
สำหรับการส่งต่อปกติ ตัวกลาง HTTP จะแยกวิเคราะห์ฟิลด์ที่เข้ามา ลบฟิลด์ที่ถูกระบุชื่อโดยตัวเลือกของมัน แล้วลบ Connection เองหรือแทนที่ด้วยตัวเลือกควบคุมของตัวกลางสำหรับการเชื่อมต่อถัดไป
การลบเฉพาะฟิลด์ Keep-Alive ที่เขียนตายตัวนั้นไม่เพียงพอ ข้อความอาจระบุฟิลด์อื่นที่เฉพาะเจาะจงกับการเชื่อมต่อในรายการ และฟิลด์นั้นต้องไม่รั่วไหลเข้าสู่การส่งต่อปกติ
การรองรับการอัปเกรดโปรโตคอลต้องจัดการการเชื่อมต่อทั้งสองและโปรโตคอลใหม่อย่างตั้งใจ การคัดลอก Upgrade header ที่เข้ามาโดยไม่คิดไม่ใช่การนำการส่งมอบนั้นไปใช้
เมื่อเบราว์เซอร์หนึ่งทำงานได้และอีกตัวล้มเหลว ให้เปรียบเทียบค่าฟิลด์จริงทั้งสองด้านของตัวกลาง ความต่างระหว่างโทเค็นเดียวกับรายการสองโทเค็นสามารถเปิดเผยข้อผิดพลาดของตัวแยกวิเคราะห์ได้โดยไม่ต้องให้เบราว์เซอร์เลียนแบบการจัดรูปแบบที่แน่นอนของเบราว์เซอร์อื่น
เรื่องนี้เกี่ยวกับข้อความ HTTP ที่พร็อกซีแยกวิเคราะห์ อุโมงค์ HTTPS CONNECT ปกติไม่ได้เปิดเผยฟิลด์ Connection ของเว็บไซต์ที่เข้ารหัสให้พร็อกซีนั้น