Client socket, HTTP client, and some interface cleanup