HTTP stands for Hyper Text Transfer Protocol.
HTTP works at application layer, transfering data for world wide web(www). This
protocol was devloped initially by Tim-Berners-Lee at CERN in 1989.Standards
development of HTTP was further carried by the Internet Engineering Task
Force(IETF) and the World Wide Web Consortium(W3C).
HTTP is designed to allow elements inside
network to enable communications between clients and servers. A web browser is
an example of a client, this list also include the indexing software used by
search provide, mobile apps, voice browsers, and other software that accesses,
consumes, or displays web content.
The term hypertext was coined by Ted Nelson in
1965 in the Xanadu Project, which was in turn inspired by Vannevar Bush’s 1930s
vision of the microfilm-based information retrieval and management
“memex” system described in his 1945 essay “As We May
Think”.Tim Berners-Lee and his team at CERNare credited with inventing the
original HTTP along with HTML and the associated technology for a web server
and a text-based web browser.
The first documented version of HTTP was HTTP
V0.9 in 1991. They wanted to improve protocol’s efficency by extending
operations, richer meta-information, tied with a security protocol .
2.1 HTTP V0.9
The Hypertext Transfer protocol originally as
implemented by the World Wide Web initaitive software in the prototype
released. This was HTTP 0.9 which was subset of the full HTTP protocol. It used
TCP-IP link as used in old traditional styled internet. It mainly has 4 steps,
Connection, Request, responce, disconnect:
client makes a TCP-IP connection to the domain or IP,at the port number given
in the address. The port number for
HTTP is 80 by default. The server accepts the connection.
client sends a request of a line of ASCII characters terminated by a CR LF pair. A well-behaved server will not
require the carriage return character. This request consists of the word “GET”, a space, the
response, in ASCII to a simple GET request is a message in hypertext mark-up language
(HTML ). Error are supplied in human readable text in HTML. There is no
way to distinguish an error response
from a satisfactory response except for the content of the text.
connection is disconnected by the server when the whole document has been transferred. Thus, the server do not
need to store any information about the request after disconnection.For the new
document, client has to repeat the whole process.
Codes: The values of the numeric status code to HTTP
requests are as follows. The data sections of messages Error, Forward and
redirection responses may be used to contain human-readable diagnostic
These codes indicate success. The body section
if present is the object returned by the request. It is a MIME format object.
It is in MIME format, and may only be in text/plain, text/html or one fo the
formats specified as acceptable in the request.
OK (200) : The request was
(201): This occurs when the webpage is successfully created.
? Accepted (202): This occurs when the
request has been accepted. The further processing takes place afterwards.
Information (203) : This states that the information provided is not complete set of
(204):This indicates that server has got request but
there is nothing to return the client.
Error (4xx, 5xx)
The 4xx codes are for cases in which the
client have erred, and the 5xx codes for the cases which the server has erred.
Bad request (400) : The client request is with bad/wrong syntax to be satisfied.
(401) : The parameter passed for authentication have failed to do so.
(402) : The parameter to this message gives a
specification of charging schemes acceptable.
(403) : The
request is for something forbidden.
(404) : The server has not found anything matching
Error (500) : The server encountered an unexpected
implemented (501) : The server does not support the
temporarily overloaded (502) :The server cannot
process the request due to a high load.
timeout (503) : This is equivalent to Internal Error
500, the server is waiting for some other service for reply which the server
did not receive within the timeout limit.
codes in this section indicate action to be taken by the client in order to
fulfill the request.
: The data
requested has been assigned a new URI.
Browsers should automatically relink to the new reference.
: The data
requested actually resides under a different URL, however, the redirection may
be altered on occasion as for “Forward”.
(304) : If
the client has done a conditional GET and access is allowed, but the document
has not been modified since the date and time specified in If-Modified-Since field, the server responds
with a 304 status code and does not send the document body to the client.
2.2 HTTP V1.0
HTTP V1.0 is evolved from the original HTTP
V0.9. The process leading to HTTP V1.0 involved significant debate and
experimentation, but never result to a formal specification. HTTP V1.0 uses
many of the constructs defined for MIME. HTTP allows for different use of
Internet Media Types than is typically found in Internet mail.HTTP is also used
as a protocol for communication between user agents and proxies/gateways.