Before getting to the real question, let me explain how my project works: for sake of simplicity, my proxy is on my laptop, where the client (my browser) also is; the remote server will be, for example, YouTube.
The client is connected to a specific port of the proxy thanks to SwitchOmega plugin: the client wants to connect to www.youtube.com and the proxy gets the following request:
CONNECT www.youtube.com:443 HTTP/1.1 Host: www.youtube.com:443 Proxy-Connection: keep-alive User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
I was told that when a proxy gets a
CONNECT request, it should open a TCP connection to IP:Port, return a
200 OK message to client and send data until one side of the connection is closed.
With another plugin that tracks HTTP requests, HTTP Trace, I see a different request on my browser:
GET https://www.youtube.com/ Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 and other data...
So, why my proxy receives
CONNECT www.youtube.com:443 HTTP/1.1 while HTTP Trace shows
GET https://www.youtube.com/? Do they mean the same thing?