Data Networking/Fall 2014/Priya/HTTP

Hypertext Transfer Protocol (HTTP 1.1) edit

Hypertext Transfer Protocol (HTTP 1.1), rfc 2616, is a stateless protocol used by the application layer programs to communicate with web servers. An application layer protocol sends a request message to the server to fetch a certain web site. The server responds with a response message containing the base HTML file and other referenced objects. By default, the web server is listening to incoming requests on port 80.

The client can use either persistent or non-persistent HTTP connections to communicate with the server. Non-persistent HTTP connection means that the client opens an TCP connection with the server to fetch only one object, then the connection is terminated. For persistent HTTP connections, the client opens a TCP connection to the server through which it can request multiple objects over the same connection.

In addition, a client can open parallel non-persistent HTTP connections to server to fetch multiple objects. The client can also use the concept of pipe-lining to fetch multiple objects over the same connection persistent HTTP connection. These two modifications can reduce the round-trip time greatly. The following diagram illustrates the different messages exchanged between the client and the server over a persistent HTTP connection:

 
HTTP Signaling



After understanding the basic concepts and terminology for HTTP protocol, now we'll discuss the different web servers that are available and how to configure them.