2 Approaches:
- Upgrade an incoming http request to WS and then perform 2 way read/write of data between client and target server
- (low level approach) Hijack the incoming http request and create a tcp connection to target server, and then copy data between the 2 tcp connections