แยกส่วนหัวพร็อกซี่ของ libcurl ออกจากส่วนหัวของเว็บไซต์
ให้ libcurl มีรายการส่วนหัวพร็อกซี่และปลายทางแยกกัน พร้อมตระหนักว่าการส่งต่อด้วยข้อความธรรมดามีขอบเขตการมองเห็นที่ต่างกัน
สำหรับแฮนเดิล libcurl ที่มีอยู่ ให้แยกรายการส่วนหัวปลายทางและพร็อกซี่อย่างชัดเจน:
curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers); คงแฮนเดิลที่กำหนดค่าไว้และรายการที่ถูกต้องให้มีชีวิตตลอดการถ่ายโอน CURLHEADER_SEPARATE แยกส่วนหัวที่ใช้บน CONNECT ออกจากส่วนหัวที่ใช้สำหรับคำขอปลายทาง ตัวอย่างนโยบายแบบรวมรุ่นเก่าอาจใส่รายการปกติในทั้งสองการแลกเปลี่ยน
| เส้นทางคำขอ | ความหมายของรายการแยก |
|---|---|
| HTTPS ภายในอุโมงค์ CONNECT ทั่วไป | การแลกเปลี่ยนพร็อกซี่เกิดขึ้นก่อน จากนั้นส่วนหัว HTTP ปลายทางจะตามมาภายใน TLS ปลายทาง |
| การส่งต่อ HTTP ทั่วไป | พร็อกซี่สามารถอ่านส่วนหัวปลายทางได้ และ libcurl สามารถใช้ทั้งสองรายการที่เกี่ยวข้องในคำขอที่ส่งต่อเพียงครั้งเดียว |
เครื่องหมายกำหนดเส้นทางสำหรับพร็อกซี่เท่านั้นเป็นของการแลกเปลี่ยนพร็อกซี่ ด้วยการส่งต่อข้อความธรรมดา ฟิลด์กำหนดเองตามอำเภอใจสามารถไปถึงต้นทางได้ เว้นแต่การจัดส่งต่อจะจัดการมัน ชื่อของตัวเลือกไม่ใช่การรับประกันความลับ
ใช้ตัวเลือกข้อมูลรับรองที่รองรับสำหรับการรับรองความถูกต้อง สำหรับเมทาดาทาที่ผู้ปฏิบัติงานกำหนด ให้ระบุว่าขั้นตอนใดใช้มันและสามารถส่งต่อได้หรือไม่ แทนที่จะใส่รหัสผ่านในฟิลด์ทั่วไป
เมื่อเครื่องหมายหายไปหรือดูเหมือนรั่วไหล ให้ระบุคำขอจริงที่มีมัน การเรียกกลับส่วนหัวที่แสดงการแลกเปลี่ยนหลายครั้งอาจทำให้รายการที่แยกอย่างถูกต้องดูเหมือนปนกัน