A web server is used to process http request and send a response back to the client browser. I was wondering how does a client browser send a http request to the web server? Is it done via socket connection? Which socket connection is used to establish a connection with tomcat web server? Is it using Java sockets or the client browser have it's own socket to establish a connection with the Tomcat server? Or does the client browser uses the socket provided by the operating system to establish a connection to the Tomcat server?