דער קליענט זעט 200 Connection Established, הייבט אָן TLS און מעלדט גלײַך שטותים דאָרט וווּ עס דאַרף זײַן אַ TLS־רעקאָרד. זוכט אַן אומפֿאַרענדיקטע HTTP־ענטפֿער, איידער איר באַשולדיקט די cipher־איינשטעלונגען פֿון דער דעסטינאַציע.

אין אַ HTTP/1 CONNECT אויסטויש איז די סטאַטוס־שורה נאָר דער אָנהייב פֿון דער ענטפֿער. נאָך איר קענען קומען header־פֿעלדער. די ליידיקע שורה וואָס פֿאַרענדיקט דעם header־אָפּשניט צײכנט אָן דעם איבערגאַנג צום טונעל נאָך אַ געראָטענער CONNECT־ענטפֿער.

HTTP/1.1 200 Connection Established\r\n
Proxy-Agent: example\r\n
\r\n

די בייטן קענען קומען אין איין לייענען, אין עטלעכע לייענען, אָדער אין אַ לייענען וואָס ענטהאַלט אויך די ווײַטערדיקע בייטן. TCP היט נישט די שרײַב־גרענעצן פֿון דעם סערווער.

מאַכט די איבערגאָב אַן אויס�דריקלעכער parser־צושטאַנד

  1. זאַמלט און פֿאַרשטעלט די סטאַטוס־שורה. ניצט דעם נומערישן סטאַטוס אַנשטאָט אַ פּינקטלעכן ענגלישן סיבה־פֿראַזע.
  2. פֿאָרט ווײַטער ביז דער פֿולער פֿאַרענדיקער פֿון דעם header־אָפּשניט קומט אָן. אַ געראָטענע סטאַטוס־שורה מאַכט נישט די איבעריקע פֿעלדער פֿאַרשווינדן.
  3. בײַ אַ געראָטענער CONNECT־ענטפֿער, באַטראַכט דעם בייט גלײַך נאָך דעם פֿאַרענדיקער ווי דעם אָנהייב פֿון טונעל־דאַטן. בײַ אַנדערע ענטפֿערס פֿאָלגט די פּאַסיקע באַהאַנדלונג פֿון HTTP־ענטפֿער און אויטענטיפֿיקאַציע.
  4. פֿירט איבער די פֿאַרבינדונג און יעדער אומניצלעכער בייט דורך דער באַפֿערטער I/O־צווישנשטעל וואָס דאָס ווײַטערדיקע פּראָטאָקאָל שטיצט.

דער לעצטער אָפּטייל איז וויכטיק אַפֿילו מיט אַ גוטער זוך פֿון דעם אָפּשיידער. אַ באַפֿערטער לייענער קען האָבן פֿאַרצירט מער פֿון דעם socket ווי דער parser האָט געבעטן. אָנצוהייבן TLS אויף דעם נאַקעטן socket בשעת מען פֿאַרלאָזט דעם לייענער קען איבערלאָזן בייטן אין דעם פּריוואַטן פּופֿער פֿון דעם לייענער.

ניצט אַ פֿריסט פֿאַרן אויסשטעלן און אַ גרענעץ פֿאַר header־גרייס. EOF פֿאַר דעם פֿאַרענדיקער איז אַן אומפֿולשטענדיקע פּראָקסי־ענטפֿער, נישט קיין פֿאַרבעטונג צו וואַרטן אײַביק אָדער פּרובירן TLS סיי ווי.

טראַכט דורך עטלעכע גרענעצן

שטעלט זיך פֿאָר אַ לייענען וואָס ענדיקט זיך נאָך Proxy-Agent:. דער parser דאַרף נאָך מער HTTP header־בייטן. שטעלט זיך פֿאָר אַן אַנדער וואָס ענדיקט זיך אין דער מיט פֿון דער לעצטער CRLF־סעקווענץ. דאָס איז נאָך נישט קיין פֿולער header־אָפּשניט. איצט שטעלט זיך פֿאָר אַ פֿולן געראָטענעם header־אָפּשניט, נאָך וואָס עס קומען טונעל־בייטן אין דעם זעלבן פּופֿער: יענע עקסטרע בייטן מוזן איבערלעבן די איבערגאָב.

407 איז אַן אַנדער אויסקום. עס פֿאָדערט אויטענטיפֿיקאַציע־באַהאַנדלונג; עס דערלויבט נישט קיין TLS ClientHello אין אַ טונעל וואָס איז קיינמאָל נישט געעפֿנט געוואָרן.

פֿאַרציט אַ באַדינטן פֿאַרבינדער, אַחוץ אויב די פֿאָרשטעלונג פֿון דער האַנט־צוקונפֿט איז די אויפֿגאַבע. די דאָזיקע גרענעץ איז ספּעציפֿיש פֿאַר דעם דאָ געוויזענעם HTTP/1 אויסטויש. אַ HTTP/2 פּראָקסי טראָגט CONNECT אויף אַ שטראָם מיט אַן אַנדער פֿרײַמינג.

פֿאַרבונדענע אַרטיקלען