תגובת CONNECT מוצלחת של HTTP/1.1 מסתיימת אחרי חלק הכותרות שלה:

HTTP/1.1 200 Connection Established

מעבר לגבול הזה אותו חיבור נושא את המנהרה. ביעד HTTPS, הבתים הבאים של הלקוח מתחילים בדרך כלל את חילופי TLS עם היעד.

אסור ל-proxy להוסיף Transfer-Encoding או Content-Length לתגובת CONNECT מוצלחת. אין גוף תגובת HTTP לחלק ל-chunks. הוספת chunk סיום ריק הייתה מזריקה בתים לתוך המנהרה החדשה.

גם ללקוח יש דרישה: עליו להתעלם משדות ה-framing האלה אם הם מופיעים בתגובת CONNECT מסוג 2xx. לכן שולח פגום אינו סיבה לתאר כל לקוח תקין ככזה שממתין לגוף מחולק.

השאירו את החיבור שנוצר פתוח להעברה. סגירתו אחרי 200 הורסת את המנהרה; פתיחת חיבור אחר אינה המשך של בקשת CONNECT שהתקבלה.

לתגובת CONNECT שנכשלה יש טיפול אחר והיא יכולה לשאת גוף שגיאת HTTP רגיל. הפרידו את התגובה הזו מהמסירה המוצלחת כשאתם מיישמים או קוראים עקבות proxy.

מאמרים קשורים