এই মানগুলি একটিমাত্র মোডের প্রতিদ্বন্দ্বী বানান নয়:

Connection: Upgrade
Connection: keep-alive, Upgrade

দ্বিতীয়টি দুটি সংযোগ অপশন তালিকাভুক্ত করে। HTTP Connection-কে কমা-বিভক্ত তালিকা হিসেবে সংজ্ঞায়িত করে, যেখানে অপশনের নামগুলি কেস-অসংবেদনশীল। সম্পূর্ণ মানকে Upgrade স্ট্রিংয়ের সঙ্গে তুলনা করা কোড সেই অপশনযুক্ত বৈধ তালিকাটি এড়িয়ে যায়।

সাধারণ ফরওয়ার্ডিংয়ের জন্য একটি HTTP মধ্যবর্তী আগত ফিল্ডটি পার্স করে, এর অপশনগুলি যে ফিল্ডগুলির নাম দেয় সেগুলি সরিয়ে দেয়, তারপর Connection নিজেই সরিয়ে দেয় বা পরবর্তী সংযোগের জন্য নিজস্ব নিয়ন্ত্রণ অপশন দিয়ে প্রতিস্থাপন করে।

শুধু কোডে লিখিত Keep-Alive ফিল্ড সরানো যথেষ্ট নয়। একটি বার্তা তালিকায় অন্য একটি সংযোগ-নির্দিষ্ট ফিল্ডের নাম দিতে পারে, এবং সেই ফিল্ড সাধারণ ফরওয়ার্ডিংয়ে ফাঁস হওয়া উচিত নয়।

প্রোটোকল আপগ্রেড সমর্থন করতে দুটি সংযোগ ও নতুন প্রোটোকলের সচেতন ব্যবস্থাপনা প্রয়োজন। আগত Upgrade হেডারগুলি অন্ধভাবে কপি করা সেই হ্যান্ডঅফের বাস্তবায়ন নয়।

একটি ব্রাউজার কাজ করলে আর অন্যটি ব্যর্থ হলে মধ্যবর্তীর দুই পাশে প্রকৃত ফিল্ড মান তুলনা করুন। একটি টোকেন ও দুটি টোকেনের তালিকার পার্থক্য ব্রাউজারকে অন্য ব্রাউজারের সঠিক ফরম্যাটিং অনুকরণ করতে না দিয়েই পার্সার ত্রুটি প্রকাশ করতে পারে।

এটি প্রক্সি যে HTTP বার্তাগুলি পার্স করে তা নিয়ে। সাধারণ HTTPS CONNECT টানেল এনক্রিপ্ট করা ওয়েবসাইটের Connection ফিল্ড সেই প্রক্সির কাছে প্রকাশ করে না।

সম্পর্কিত নিবন্ধ