What is HTTP
What is HyperText Transfer Protocol
HTTP is a protocol designed to transfer information between computers over WWW (World Wide Web). Information transferred can be anything like, document, file, image, video between computers over internet. HTTP means HyperText Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
HTTP is an application-layer protocol for transmitting hypermedia documents, such as HTML. It was designed for communication between web browsers and web servers, but it can also be used for other purposes. HTTP follows a classical client-server model, with a client opening a connection to make a request, then waiting until it receives a response. HTTP is a stateless protocol, meaning that the server does not keep any data (state) between two requests.
How Work HTTP
HTTP is a protocol which allows the fetching of resources, such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol, which means requests are initiated by the recipient, usually the Web browser. A complete document is reconstructed from the different sub-documents fetched, for instance text, layout description, images, videos, scripts, and more
Characteristics of HTTP (Hyper Text Transfer Protocol)
- It is the protocol that allows web servers and browsers to exchange data over the web.
- It is a request response protocol.
- It uses the reliable TCP connections by default on TCP port 80.
- It is stateless means each request is considered as the new request. In other words, server doesn't recognize the user by default.
Features of HTTP (Hyper Text Transfer Protocol)
- HTTP is media independent: It specifies that any type of media content can be sent by HTTP as long as both the server and the client can handle the data content.
- HTTP is connectionless: It is a connectionless approach in which HTTP client i.e., a browser initiates the HTTP request and after the request is sent the client disconnects from server and waits for the response.
- HTTP is stateless: The client and server are aware of each other during a current request only. Afterwards, both of them forget each other. Due to the stateless nature of protocol, neither the client nor the server can retain the information about different request across the web pages.
Advantage of HTTP
Its platform independent, which allows straight cross platform porting. No runtime support required to run properly, it can be used over Firewalls! For example Global applications. It's not connection oriented, there's no need for network overhead to create and maintain session state and information
Drawbacks of HTTP
Integrity is not there, so someone can easily alter with the content. HTTP is insecure as there's no encryption methods for it. So, it's subjected towards man in the middle and eavesdropping of sensitive information. There's no authentication, so you will not have any clear idea with whom you are initiating a communication.