The HyperText Transfer Protocol (or HTTP for short) 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 is the foundation of data communication for the World Wide Web, where hypertext documents include hyperlinks to other resources that the user can easily access, for example by a mouse click or by tapping the screen in a web browser.
Versions of HTTP
the first version of the HTTP protocol was name 0.9 however the most commonly used today are listed below.
In HTTP/1.0 a separate connection to the same server is made for every resource request.
With HTTP/1.1 a TCP connection can be reused to make multiple resource requests for HTML pages, iframes, images, scripts, and stylesheets.
HTTP/2 is a revision of previous HTTP/1.1. The protocol maintain the same client–server model and the same methods, with a few exeptions:
- to use a compressed binary representation of metadata (HTTP headers) instead of a textual one, so that headers require much less space.
- to use a single TCP/IP (usually encrypted) connection per accessed server domain instead of 2 to 8 TCP/IP connections.
- to use one or more bidirectional streams per TCP/IP connection in which HTTP requests and responses are broken down and transmitted in small packets to almost solve the problem of the HOLB (head of line blocking).
- to add a push capability to allow server application to send data to clients whenever new data is available (without forcing clients to request periodically new data to server by using polling methods).
HTTP/3 is a revision of previous HTTP/2 in order to use QUIC + UDP transport protocols instead of common TCP/IP connections. HTTP/3 improves the average speed of communications and fixes rare but exsisting problems of TCP/IP connection congestion that can temporarily block or slow down data flow.
New HTTP VideosView all
Robin Marx Explain QUIC, UDP & HTTP/3
In this video David Bombal interviews Robin Marx where he gives a high level overview of QUIC, UDP and HTTP/30