រង់ចាំបន្ទាត់ទទេបន្ទាប់ពី CONNECT
អានការឆ្លើយតប HTTP/1 CONNECT ពេញលេញ មុនពេលប្រគល់ socket ទៅ TLS ទោះបីបន្ទាត់ស្ថានភាពមកមុនក៏ដោយ។
អតិថិជនឃើញ 200 Connection Established ចាប់ផ្តើម TLS ហើយរាយការណ៍ភ្លាមៗនូវរឿងគ្មានន័យ នៅកន្លែងដែលគួរមានកំណត់ត្រា TLS។ រកមើលការឆ្លើយតប HTTP ដែលមិនទាន់បញ្ចប់ មុនពេលស្តីបន្ទោសការកំណត់ស៊ីហ្វឺរបស់គោលដៅ។
ក្នុងការផ្លាស់ប្តូរ HTTP/1 CONNECT បន្ទាត់ស្ថានភាពគ្រាន់តែជាការចាប់ផ្តើមនៃការឆ្លើយតប។ វាលក្បាលអាចមកបន្ទាប់។ បន្ទាត់ទទេដែលបញ្ចប់ផ្នែកក្បាល បង្ហាញការផ្លាស់ទៅផ្លូវរូង បន្ទាប់ពីការឆ្លើយតប CONNECT ជោគជ័យ។
HTTP/1.1 200 Connection Established\r\n
Proxy-Agent: example\r\n
\r\n
បៃទាំងនេះអាចមកក្នុងការអានមួយ ការអានច្រើន ឬការអានដែលមានបៃបន្ទាប់ផងដែរ។ TCP មិនរក្សាព្រំដែនសរសេររបស់ម៉ាស៊ីនមេទេ។
ធ្វើឱ្យការប្រគល់ជាស្ថានភាពច្បាស់លាស់របស់ parser
- ប្រមូល និងញែកបន្ទាត់ស្ថានភាព។ ប្រើស្ថានភាពជាលេខ ជំនួសឱ្យឃ្លាហេតុអង់គ្លេសពិតប្រាកដ។
- បន្តរហូតដល់ចុងបញ្ចប់ពេញលេញនៃផ្នែកក្បាលមកដល់។ បន្ទាត់ស្ថានភាពជោគជ័យមិនធ្វើឱ្យវាលនៅសល់បាត់ទេ។
- សម្រាប់ការឆ្លើយតប CONNECT ជោគជ័យ ចាត់ទុកបៃបន្ទាប់ពីចុងបញ្ចប់នោះភ្លាមៗជាការចាប់ផ្តើមទិន្នន័យផ្លូវរូង។ សម្រាប់ការឆ្លើយតបផ្សេងទៀត អនុវត្តតាមការដោះស្រាយការឆ្លើយតប HTTP និងការផ្ទៀងផ្ទាត់ដែលសមស្រប។
- ផ្ទេរការតភ្ជាប់ និងបៃដែលមិនបានប្រើ តាមរយៈចំណុចប្រទាក់ I/O មានបឺហ្វ័រដែលពិធីការបន្ទាប់គាំទ្រ។
ជំហានចុងក្រោយមានសារៈសំខាន់ ទោះបីការស្វែងរកសញ្ញាបំបែកល្អក៏ដោយ។ អ្នកអានមានបឺហ្វ័រអាចបានប្រើ socket ច្រើនជាងអ្វីដែល parser បានស្នើ។ ការចាប់ផ្តើម TLS លើ socket ទទេ ខណៈបោះបង់អ្នកអាននោះ អាចទុកបៃក្នុងបឺហ្វ័រឯកជនរបស់អ្នកអាន។
ប្រើកំណត់ពេលរៀបចំ និងដែនកំណត់ទំហំក្បាល។ EOF មុនចុងបញ្ចប់ គឺជាការឆ្លើយតបប្រូកស៊ីមិនពេញលេញ មិនមែនជាការអញ្ជើញឱ្យរង់ចាំរហូត ឬសាកល្បង TLS យ៉ាងណានោះទេ។
គិតអំពីព្រំដែនជាច្រើន
ស្រមៃថាការអានមួយបញ្ចប់បន្ទាប់ពី Proxy-Agent:។ parser នៅត្រូវការបៃក្បាល HTTP បន្ថែម។ ស្រមៃថាការអានមួយទៀតបញ្ចប់នៅកណ្តាលលំដាប់ CRLF ចុងក្រោយ។ នោះមិនទាន់ជាផ្នែកក្បាលពេញលេញទេ។ ឥឡូវស្រមៃថាផ្នែកក្បាលជោគជ័យពេញលេញ ហើយមានបៃផ្លូវរូងបន្តក្នុងបឺហ្វ័រដូចគ្នា៖ បៃបន្ថែមទាំងនោះត្រូវរស់រានពីការប្រគល់។
407 ជាលទ្ធផលខុសគ្នា។ វាត្រូវការការដោះស្រាយការផ្ទៀងផ្ទាត់។ វាមិនអនុញ្ញាតឱ្យ TLS ClientHello ចូលផ្លូវរូងដែលមិនដែលបើកនោះទេ។
ជ្រើសរើស connector ដែលមានការថែទាំ លុះត្រាតែការអនុវត្ត handshake គឺជាកិច្ចការ។ ព្រំដែននេះជាក់លាក់ចំពោះការផ្លាស់ប្តូរ HTTP/1 ដែលបង្ហាញនៅទីនេះ។ ប្រូកស៊ី HTTP/2 ដឹក CONNECT លើស្ទ្រីមដែលមានការដាក់ស៊ុមខុសគ្នា។