Após a linha de requisição CONNECT, estes bytes ainda pertencem ao proxy:

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

Encaminhar Host ou User-Agent para a porta 443 entrega ao destino cabeçalhos em texto simples onde ele espera TLS. Essa falha pode ocorrer antes de a escolha de cifra ter importância.

  1. Leia e analise até o terminador de cabeçalhos com linha em branco, dentro de um prazo de configuração e um limite de tamanho de cabeçalhos.
  2. Aplique a autenticação do proxy e a política de destino.
  3. Estabeleça a conexão de destino aprovada.
  4. Envie a resposta CONNECT bem-sucedida e entre no modo túnel.

Preserve os bytes armazenados após o limite para o próximo estado adequado. Não os descarte nem trate os cabeçalhos de requisição do proxy como a requisição posterior do site.

O cliente tem uma obrigação correspondente no lado da resposta: termine de ler a resposta CONNECT bem-sucedida antes de iniciar o protocolo tunelizado. Ambas as extremidades devem concordar sobre o limite em que o fluxo muda de papel.

Artigos relacionados