Evolution of HTTP
Http (Hyper Text Transfer Protocol) a transferring protocol for internet using request/response strategy , built upon TCP (Transmission Control Protocol) protocol , and it has a stateless nature .
HTTP 0.9 :
this is first release of protocol and got it's version after while from releasing it , this version lack from response status and consist from only GET requests
HTTP 1.0 :
0.9 version didn't stay a lot regarding to it's limitations so version 1.0 came to the light with response statuses and http headers added in this version the main pitfall is performance till now , now protocol is open and close connection with each request that increase request latency
HTTP 1.1 :
the main improvement happen in this version is that Keep-alive header that indication to server to not close the TCP connection for reusing purpose and to improve performance also clients now opens 6 TCP connection (behind the scene) to help serving more requests (get json data - get CSS file - get image ..etc) , also had some new http statuses
HTTP 2.0 :
in this version the idea of multiplexing requests is introduced that now clients can multiplex a group of http requests in one round trip as a stream of requests each request has an unique header/tag that server can know which response for which request
HTTP 3.0 :
all past versions of http were built upon TCP but this version built upon QUIC/UPD protocol which makes an improvements in response latency as a UPD protocol is faster than TCP
Resources :