I. transfer of data on different machines. The word




We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

he HTTP is a kind of
protocol used in transfer of information around the web. As the name Hyper Text
Transfer Protocol clearly says that the protocol is related to transfer of data
on different machines. The word Hypertext was coined by Ted Nelson. An English
engineer and computer scientist named Tim Berners-Lee was credited development
of protocol HTTP and language HTML (Hyper Text Markup Language). The initial
release was HTTP/0.9 version which was basic model with no complex features. It
was just used to transfer data to different machines. Then Dave Raggett took up
the mantle to enhance its features and he led the HTTP Working Group who later
introduced HTTP v1.0 and HTTP/1.1. Most of the browsers catching up to these
protocols and within a year almost 65% of the browsers were compatible with
these protocols.

As this protocol developed, many more devices
started to get connected to each other as other browsers also started to get
compatible with these newer versions. This was just the start of something big
as it lead to the development of the now known Internet because internet is
basically just web pages written in HTML and transferred between machines via

Now internet usage is not just restricted to the
transfer of web pages and requests in constrained extensions, instead, it has
allowed many users to send and receive complex extensions like MIME which is
currently used in mailing websites.



How HTTP works


We know that HTTP is a communication process which involves a
sequence of requests and responses between client and server. The first thing
that is done is a connection between the server and client is established. This
is done by creation of a connection object. Now the HTTP is a stateless
protocol which means that there is no memory of what was done previously. The
server will not know whether that client had previously connected to it or not.
So a new connection had to be established every time any request was prompted
in the previous versions.

The connection that is necessary was previously called non
persistent in which browsers often opened connections to fetch related data.
This method increased the resources usage and incurred a huge overhead on the
servers as they were running simultaneously many connections together. This
problem was solved in the later versions as the allowed persistent connections
in which a single TCP connection was kept alive for all the communication
between the machines. These connections were also known as keep-alive

These connections were nothing but a pair of request and response with
specific syntax called connection headers. The connection is initiated by the
browser and a request is sent to the server for suppose a web page. When this
request reaches the server, it responds back with the requested web page if no
error is occurred which is called the response. In case of web page request,
the response is an HTML file which is fetched by recurrent jumps.

The connection between the server and client is not that simple as
it seems. It involves various steps. For example, if a client wants to access a
website then a request is sent to the DNS server to get the address of the
desired server. Once getting the address, the request for establishment of
connection is sent to that server. If the server deems the request valid, it
responds to request and acknowledges the connection. Now as the connection is
established, further requests can be made under the same connection object in
cases of persistent connections. The request header that is send includes various
fields like the method type, address, port number, cache id( if any) etc.