Efter CONNECT-anmodningslinjen tilhører disse bytes stadig proxyen:

CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\n

Videresendelse af Host eller User-Agent til port 443 giver destinationen klartekst-headere, hvor den forventer TLS. Den fejl kan opstå, før noget ciffervalg har betydning.

  1. Læs og parse frem til header-terminatoren med den tomme linje, inden for en opsætningsfrist og en grænse for headerstørrelse.
  2. Anvend proxygodkendelse og destinationspolitik.
  3. Opret den godkendte forbindelse til målet.
  4. Send det vellykkede CONNECT-svar, og gå i tunneltilstand.

Bevar bufferlagrede bytes efter grænsen til den relevante næste tilstand. Kassér dem ikke, og behandl ikke proxyens anmodningsheadere som webstedets senere anmodning.

Klienten har en tilsvarende forpligtelse på svarssiden: afslut læsningen af det vellykkede CONNECT-svar, før den tunnelerede protokol startes. Begge ender skal være enige om den grænse, hvor strømmen skifter rolle.

Relaterede artikler