HTTP stands for HyperText Transfer Protocol. It is invented by Tim Berner. HyperText is the type of text which is specially coded with the help of some standard coding language called as HyperText Markup Language (HTML). HTTP/2 is latest version of HTTP, which was published on May 2015.
The protocols that are used to transfer hypertext between two computers is known as HyperText Transfer Protocol.
HTTP provides standard between a web browser and web server to establish communication. It is set of rules for transferring data from one computer to another. Data such as text, images, and other multimedia files are shared on the World Wide Web. Whenever a web user opens their web browser, user will indirectly uses HTTP. It is an application protocol which is used for distributed, collaborative, hypermedia information systems.
How it works ?
First of all, whenever we want to open any website then first we open web browser after that we will type URL of that website (e.g., www.facebook.com ). This URL is now sent to Domain Name Server (DNS). Then DNS first check records for this URL in their database, then DNS will return IP address to web browser corresponding to this URL. Now browser is able to sent request to actual server.
After server sends data to client, connection will be closed. If we want something else from server we should have to re-establish connection between client and server.
Tim Berners Lee and his team at CERN gets credit for inventing original HTTP and associated technologies.
- HTTP version 0.9 –
This was first version of HTTP which was introduced in 1991.
- HTTP version 1.0 –
In 1996, RFC 1945 (Request For Comments) was introduced in HTTP version 1.0.
- HTTP version 1.1 –
In January 1997, RFC 2068 was introduced in HTTP version 1.1. Improvements and updates to HTTP version 1.1 standard were released under RFC 2616 in June 1999.
- HTTP version 2.0 –
The HTTP version 2.0 specification was published as RFC 7540 on May 14, 2015.
- HTTP version 3.0 –
HTTP version 3.0 is based on previous RFC draft. It is renamed as HyperText Transfer Protocol QUIC which is a transport layer network protocol developed by Google.
Characteristics of HTTP :
HTTP is IP based communication protocol which is used to deliver data from server to client or vice-versa.
- Server processes a request, which is raised by client and also server and client knows each other only during current request and response period.
- Any type of content can be exchanged as long as server and client are compatible with it.
- Once data is exchanged then servers and client are no more connected with each other.
- It is a request and response protocol based on client and server requirements.
- It is connection less protocol because after connection is closed, server does not remember anything about client and client does not remember anything about server.
- It is stateless protocol because both client and server does not expecting anything from each other but they are still able to communicate.
- Memory usage and CPU usage are low because of less simultaneous connections.
- Since there are few TCP connections hence network congestion are less.
- Since handshaking is done at initial connection stage, then latency is reduced because there is no further need of handshaking for subsequent requests.
- The error can be reports without closing connection.
- HTTP allows HTTP pipe-lining of request or response.
- HTTP requires high power to establish communication and transfer data.
- HTTP is less secure, because it does not uses any encryption method like https use TLS to encrypt normal http requests and response.
- HTTP is not optimized for cellular phone and it is too gabby.
- HTTP does not offer genuine exchange of data because it is less secure.
- Client does not close connection until it receives complete data from server and hence server needs to wait for data completion and cannot be available for other clients during this time.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.