OVERVIEW:-Hyper Transfer Protocol is used to transfer the data

OVERVIEW:-Hyper Text Transfer Protocol i.e. HTTP is a TCP/IP based communication protocol which is the most widely used protocol in the World Wide Web to deliver data in the form of text, images, audio, videos, and other kind of multimedia files. It is stateless, connectionless and media independent. It has a client/server based architecture and request/response based. Clients like web browser, robots and search engine, etc send a request to server containing request method, URI,  protocol version and a MIME-like message. The server responds with a status line including protocols version, error or success code, followed by a MIME-like message. It is a client-server or response-request protocol.  The client will  send a http request to the server via web and after established the connection it will disconnect the connection and will wait for the response  from server and server like web browser will give the particular data or content to the client. So like this http is a connectionless protocol.Http is a stateless protocol as at every time it will create a new request. You can transfer any type of media via http but only restriction is that the client and server must able to handle that data. In this research paper we will give brief introduction about HTTP parameter, request , response, overview,methods and etc. HyperText Transfer Protocol is used to transfer the data from one device to another via web browser. HTTP is a protocol and every protocol is a set of rules for transferring the data which can be in any form like audio, video, image or etc. So, HTTP defines the rules for transferring the data. HTTP works on CLIENT-SERVER model. It uses TCP-IP protocol for transferring the data. One file should contain reference of some other files. This concept was thought  by TIM-BERNERS-LEE who is also the founder of WWW .To fulfill this requirement, HTTP protocol was invented. The World Wide Web and the Internet became a huge global phenomenon due to HTTP, the World Wide Web and the Internet in turn helped HTTP to become the global standard of data transfer protocol on the web. HTTP was adopted as the basic standard data transfer protocol by the World Wide Web global information initiative ,  as the Internet expanded worldwide. Even though HTTP is the current global standard does not mean that it has no drawbacks. One of the drawbacks of HTTP is  that it is a stateless protocol, each command independent means it considers a new request every time. Secondly, HTTP transfers the data in form of text,means there is no encrypted form of data transfer so security is a major prospect.By using only HTTP one can not give the users an interactive and dynamic web browsing experience. You have to use some additional technologies like JavaScript,PHP,.net etc. HTTP is updated day by day. From the first version, HTTP 0.9, through HTTP 1.0, to the latest HTTP 1.1, various changes have been made. Some of the changes are:Quick response, by allowing multiple transactions over a single persistent connection.Less response time and more bandwidth savings, by cache support.Saving of lots of IP addresses, by allowing multiple domains to be served from a single IP address.HISTORY OF HTML:-HTML is totally developed in almost seven years. Earlier, it has started from a simple language with a less number of tags to a complex system of mark-up, allowing developer to create all Web pages addition with animated images, sound and all manner of gimmicks. HTML  was developed from the prototype written by Tim Berners-Lee in 1992. In 1989 Tim Berners-Lee invents the Web with HTML as its publishing language CERN is  the European Laboratory for Particle Physics in Geneva, Switzerland. Physicists meets each other from all over the world at  CERN. This is a surprising place for the beginnings of a technology which would, eventually, deliver everything from tourist information, online shopping and advertisements, financial data, weather forecasts and much more to any devices connected to the WWW. The founder of WWW, Tim, was working in a computing services section of CERN when he came up with the concept that each file should keep reference of some other file;for implementation of that,he came up with the annothor idea of the protocol named HTTP. At the time he had no idea that it would be implemented on such a huge scale. Particle physics research of CERN often involves collaboration with the institutes from all over the world. Tim had the idea of enabling researchers from remote sites in the world to organize and collect  information together. But he thought that simply making available a large number of research documents as files that could be possible to download it on individual computers, he suggested that you could actually link the text in the files themselves.One file could save the reference to some other. This would mean that while searching one principle, you could quickly display part of another principle that holds directly relevant text or diagrams.Thus, he thought, that it could be possible by using some form of hypertext or some way of linking documents together . Tim had  worked on document production and text processing, and had developed his first hypertext system, `Enquire’, in 1980 for his own personal use.*************************************************************************************************************************************************In 1990’s, prototype made by Tim, Web browser on the NeXT computer came out.Through 1990,The time was ripe for Tim’s inventionThen the concept of Hypertext Came into existence.The domain name systemBy the middle 1980s, the Internet had a new, easy-to-use system for naming computers.This was invented for the convenience of the users,because to remember the IP addresses is not possible.So it is a alternative of IP address www.vgecg.ac.in is a name converted through DNS from its IP 78.46.69.170.A program called Distributed Name Service maps domain names into IP addresses, keeping the IP addresses abstracted. The user who doesn’t know the IP address system can also browse the content from typing the name in form of hypertext . As a result of its introduction, email addresses became simpler. Previous to DNS, email addresses had all sorts of codes such as exclamation marks, percent signs and other extraneous information to specify the route to the other machine.************************************************************************************************************************************************What was needed was something very simple, at least in the beginning. Something needed very  basic, but attractive way of publishing text by developing some software , and also  simple protocol – HTTP – for retrieving other documents’ text via hypertext links.The text format for HTTP was named as HTML,stands  for HyperText Markup Language; has the most features for developing a simple basic web application.Finally W3c gave the standard to the HTTP and it is widely used protocol on the WWW.How Does HTTP Work?HTTP is a request-response protocol. Web browser initiates a request to a server by opening a TCP/IP connection. The request contains- a request line,- a set of request headers, and- an entity.The server sends a response that contains-a status line,- a set of response headers, and- an entity.The entity  may be binary data. The other items are the  ASCII characters. When the response has been received, either the browser or the server may terminate the TCP/IP connection, or the browser can send another request.*********************************************************************************************************************************************** ExampleAs an illustration of HTTP, here is an example exchange between a Web browser andthe VGEC server, www.vgecg.ac.in  In response to a user request to goto the URLhttp://www.vgecg.ac.inthe browser sends the following HTTP request to  www.vgecg.ac.in GET / HTTP/1.1Connection: Keep-AliveUser-Agent: Mozilla/5.0 (compatible; Konqueror/2.2-11; Linux) Accept: text/*, image/jpeg, image/png, image/*, */*Accept-Encoding: x-gzip, gzip, identityAccept-Charset: Any, utf-8, *Accept-Language: en, en_USHost: www.vgecg.ac.in A brief explanation:o The first line is the request line that comprises three fields:1. a method: The GET method indicates that the server is supposed toreturn an entity.2. a request-URI (Universal Resource Identifier). The / indicates the root ofthe document system on the server, and3. HTTP protocol version: 1.1 in this case.o The second line is the optional Connection header informs the server that thebrowser would like to leave the connection open after the response.o The third line is the optional User-Agent header that identifies the kind ofbrowser that is sending the request, its version, and its operating system.o The Accept headers specify the type, language, and encoding for the returnedentity that the browser would prefer to receive from the server. Responding to the browser, the  www.vgecg.ac.in server sends thefollowing response:HTTP/1.1 200 OKDate: Thu, 24 Jan 2002 17:33:52 GMTServer: LiteSpeedLast-Modified: Mon, 21 Jan 2002 22:08:33 GMTEtag: “47bc6-25e0-3c4c9161″Accept-Ranges: bytesContent-Length: 9696Connection: closeContent-Type: text/html– blank line—- HTML entity –A brief explanation:o The first line is the status line consisting of three fields:1. HTTP protocol version of the response: 1.1 in this case,2. a three-digit numeric status code, and3. a short description of the status code.o The Content-Length, Content-Type, Etag, and Last-Modified header linesdescribe the entity returned.*************************************************************************************************************************************************The underlying protocol is TCP for http connection.Why TCP is chosen instead of UDP?Answer is ,TCP is more reliable because if client will not receive the acknowledgement than http connection will not be established and it will send the request again and will try to establish the connection again so that no data loss may occur.So,TCP is more reliable than UDP.HTTP versions:HTTP 0.9,HTTP 1.0,HTTP 1.1 and the latest is HTTP 2.0.HTTP 1.1 and HTTP 1.0 were given a major change on internet.DIfference b/w HTTP 1.1 and 1.0:In HTTP 1.1 there were multiple host names were supported and earlier in HTTP 1.0 , only one website can be hosted on one IP. S, there is lots of saving of IPs.HTTP 1.1 supports persistent connection. Now what does it mean by Persistence connection?Now , when client sends a request to the server, the server will sends a acknowledgement in response and the connection got disconnect. ans again the server will send a request to establish the connection, so lots of overhead was created. In persistence connection, after sending acknowledgement from the server, TCP connection will not be disconnected and will be used for the server request as well. So, the lots of overhead and time has saved. The default time for establishing the connection is 30 secs(That is called idle time-out).There are few headers which are included like Connection keep alive.HTTP 1.1 accepts byte range request, means suppose take an example while downloading any file,What will happen.So, while downloading the file the whole file downloading will be divided into number of packets and parallel all the packets will be start downloading. Now, like any youtube video,  if you want to start the video from 2 min , so it will stop the downloading current packet and will send request to download form  2 min.HTTP 1.1 includes caching and proxy support, also HTTP 1.1 includes more methods then HTTP 1.0.So, it improves efficiency, reduce server loads and also help in PIPELINING.HTTP Methods:It is a series of commands.Always write in upper case.Most common-type-GET-Requests that server to retrieve the content specified by the URL.       -URL correct?Server will reply back to the client with the appropriate response.       -Incorrect?It will give a error message.(like error-403 error-404)POST-Simillar to GET but tells server to not to send the actual body of the message.         -Used by the client to check the existence, status and size of the file before deciding.HEAD-Allow the client to send an entity containing arbitrary data to the server for processing.           -Enables the client to submit information such as an interactive HTML from to a program onto a server.Other few methods:UPDATEOPTIONSDELETETRACESome methods are called the safe methods like GET, HEAD and TRACE.Status codes:HTTP status line contains both status ,numeric status code and text reason phrases.HTTP/1.1 200 OK 200-status codeOK -text phrase(This is used to show in readable format.)HTTP Caching:-It stores the recently requested resources in a temporary area.Adv:It will reduce the response time and reduce the load on server.Cookies:-It is used in a few context to refer to a small piece of significant  data.Contains important information relevant to a particular web URL.Pipelining:-In Pipelining multiple requests can be send without waiting for a response. In this the response time can be reduced.