HTTP stands for HyperText Transfer Protocol. Tim Berner invents it. HyperText is the type of text which is specially coded with the help of some standard coding language called HyperText Markup Language (HTML). HTTP/2 is the successor version of HTTP, which was published on May 2015. HTTP/3 is the latest version of HTTP, which is published in 2022.
The protocol used to transfer hypertext between two computers is known as HyperText Transfer Protocol.
HTTP provides a standard between a web browser and a web server to establish communication. It is a 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, the user indirectly uses HTTP. It is an application protocol that is used for distributed, collaborative, hypermedia information systems.
Working of HTTP
First of all, whenever we want to open any website then first open a web browser after that we will type the 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 the IP address to the web browser corresponding to this URL. Now the browser is able to send requests to the actual server.
After the server sends data to the client, the connection will be closed. If we want something else from the server we should have to re-establish the connection between the client and the server.
HTTP request is simply termed as the information or data that is needed by Internet browsers for loading a website. This is simply known as HTTP Request.
There is some common information that is generally present in all HTTP requests. These are mentioned below.
- HTTP Version
- HTTP Method
- HTTP Request Headers
- HTTP Body
HTTP Request Headers
HTTP Request Headers generally store information in the form of key-value and must be present in each HTTP Request. The use of this Request Header is to provide core information about the client’s information, etc.
HTTP Request Body
HTTP Request Body simply contains the information that has to be transferred. HTTP Request has the information or data to be sent to these browsers.
HTTP Methods are simply HTTP Verb. In spite of being present so many HTTP Methods, the most common HTTP Methods are HTTP GET and HTTP POST. These two are generally used in HTTP cases. In HTTP GET, the information is received in the form of a website.
For more, refer to the Difference Between HTTP GET and HTTP POST.
HTTP Response is simply the answer to what a Server gets when the request is raised. There are various things contained in HTTP Response, some of them are listed below.
- HTTP Status Code
- HTTP Headers
- HTTP Body
HTTP Response Headers
HTTP Response headers are simply like an HTTP Request where it has that work to send some important files and data to the HTTP Response Body.
HTTP Response Body
HTTP Responses are the responses that are received successfully upon the request. Generally, it comes under the requests generated by the web. In most cases, the request is of transferring the HTML data into a webpage.
HTTP Status Code
HTTP Status Codes are the 3-Digit codes that tell the message or simply tell us about the HTTP Request whether it has been completed or not. There are simply 5 types of status codes.
For more, refer to HTTP Status Codes.
History of HTTP
Tim Berners Lee and his team at CERN get credit for inventing original HTTP and associated technologies.
- HTTP version 0.9: This was the 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 the 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 the previous RFC draft. It is renamed as Hyper-Text Transfer Protocol QUIC which is a transport layer network protocol developed by Google.
Characteristics of HTTP
HTTP is IP based communication protocol that is used to deliver data from server to client or vice-versa.
- The server processes a request, which is raised by the client, and also server and client know each other only during the current bid and response period.
- Any type of content can be exchanged as long as the server and client are compatible with it.
- Once data is exchanged, servers and clients are no longer connected.
- It is a request and response protocol based on client and server requirements.
- It is a connection-less protocol because after the connection is closed, the server does not remember anything about the client and the client does not remember anything about the server.
- It is a stateless protocol because both client and server do not expect anything from each other but they are still able to communicate.
Advantages of HTTP
- Memory usage and CPU usage are low because of fewer simultaneous connections.
- Since there are few TCP connections hence network congestion is less.
- Since handshaking is done at the initial connection stage, then latency is reduced because there is no further need for handshaking for subsequent requests.
- The error can be reported without closing the connection.
- HTTP allows HTTP pipe-lining of requests or responses.
Disadvantages of HTTP
- HTTP requires high power to establish communication and transfer data.
- HTTP is less secure because it does not use any encryption method like HTTPS and use TLS to encrypt regular HTTP requests and response.
- HTTP is not optimized for cellular phones and it is too gabby.
- HTTP does not offer a genuine exchange of data because it is less secure.
- The client does not close the connection until it receives complete data from the server; hence, the server needs to wait for data completion and cannot be available for other clients during this time.
Unlock the Power of Placement Preparation!
Feeling lost in OS, DBMS, CN, SQL, and DSA chaos? Our Complete Interview Preparation
Course is the ultimate guide to conquer placements. Trusted by over 100,000+ geeks, this course is your roadmap to interview triumph.
Ready to dive in? Explore our Free Demo Content and join our Complete Interview Preparation