Помимо обычного GET
/ POST
/ HEAD
/ PUT
, многие HTTP прокси - серверы понимают дополнительный CONNECT
запрос, который устанавливает соединение TCP сырец с удаленным хостом. Это требуется для правильной поддержки HTTPS, но часто может использоваться для других протоколов.
$ nc proxy.example.com 8080 -> CONNECT mail.example.com:587 HTTP/1.0 -> <- HTTP/1.0 200 Connection Established <- Proxy-agent: Apache/2.2.19 (Debian) <- <- 220 mail.example.com ESMTP Badger badger badger badger badger postfix postfix! -> ehlo grawity-pc <- 250-mail.example.com <- 250-PIPELINING <- 250-SIZE 10240000 <- 250-STARTTLS <- 250-ENHANCEDSTATUSCODES <- 250-8BITMIME <- 250 DSN -> quit <- 221 2.0.0 Bye