This is the most important and very famous internet protocol known to all networking geeks . Being a telecom engineering undergrad , everyday I come to know about the new protocols used in networking. So lets learn about this protocol’s architecture and working.
The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World-Wide Web global information initiative since 1990.
HTTP allows an open-ended set of methods to be used to indicate the purpose of a request. It builds on the discipline of reference provided by the Uniform Resource Identiﬁer (URI), as a location (URL) or name (URN), for indicating the resource on which a method is to be applied. Messages are passed in a format similar to that used by Internet Mail and the Multipurpose Internet Mail Extensions (MIME.
HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other Internet protocols, such as SMTP, NNTP, FTP, Gopher and WAIS, allowing basic hypermedia access to resources available from diverse applications and simplifying the implementation of user agents.
The HTTP protocol is a request/response protocol. A client sends a request to the server in the form of a request method, URI, and protocol version, followed by a MIME-like message containing request modiﬁers, client information, and possible body content over a connection with a server. The server responds with a status line, including the message’s protocol version and a success or error code, followed by a MIME-like message containing server information, entity meta information, and possible entitybody content.
The ﬁrst version of HTTP, referred to as HTTP/0.9, was a simple protocol for raw data transfer across the Internet. HTTP/1.0, as deﬁned by RFC 1945, improved the protocol by allowing messages to be in the format of MIME-like messages, containing meta information about the data transferred and modiﬁers on the request/response semantics. However, HTTP/1.0 does not sufﬁciently take into consideration the effects of hierarchical proxies, caching, the need for persistent connections, or virtual hosts. “HTTP/1.1” includes more stringent requirements than HTTP/1.0 in order to ensure reliable implementation of its features. There is a secure version of HTTP (S-HTTP) speciﬁcation, which will be discussed in a separate document.
HTTP messages consist of requests from client to server and responses from server to client.
The request message has the following format:
The Request-Line begins with a method token, followed by the Request-URI and the protocol version, and ends with CRLF. The elements are separated by SP characters. No CR or LF is allowed except in the ﬁnal CRLF sequence. The details of the general header, request header and entity header can be found in the reference documents.
The response message has the following format:
The Status-Code element is a 3-digit integer result code of the attempt to understand and satisfy the request. The Reason-Phrase is intended to give a short textual description of the Status-Code. The Status-Code is intended for use by automata and the Reason-Phrase is intended for the human user. The client is not required to examine or display the Reason-Phrase. The details of the general header, response header and entity header could be found in the reference documents.
Related protocols WWW, FTP, STMP, NNTP, Gopher, WAIS, DNS, S-HTTP
Sponsor Source HTTP is deﬁned by IETF (http://www.ietf.org) in RFC 1945 and 2616.