HTTP/2
Http is an application layer protocol designed for client-server communication and can be made analogy as a kind of mail service simply with the following features:
https://kinsta.com/learn/what-is-http2/
https://hpbn.co/http2/
- Request line; identifies the resource called.
- Http header; contains operating information about the message such as destination, content type and etc. in the form of key-value pairs.
- Payload or body; is the part that the actual message is contained.
- HTTP protocol is comprised of commands/verbs such as GET, POST, PUT..
GET https://www.google.com/ HTTP/1.1
Host: www.google.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: SID=awcwAWJ-Py1UHfnKSWSzREE01k4qY45amv6..
History of HTTP by Versions
- The initial version of HTTP is 0.9 which is released in 1991.
- HTTP 1.0 is released in 1996.
- HTTP 1.1 is released in 1997.
- In 2015, the specification of HTTP/2 as a revised version was published by IETF.
Drawbacks of HTTP 1.1
- Needs multiple connections for concurrency
- Does not compress request and response headers, that means unnecessary network traffic
HTTP/2
- The main goals of HTTP/2 are simplicity and performance inspired by the experimental protocol SPDY which is released by Google in 2009.
- HTTP/2 is an extension to the previous HTTP standards, not replacing of HTTP methods, status codes and etc.
- HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing
- header field compression
- server push
- multiple concurrent exchanges on the same connection
- HTTP/2 is more friendly to the network, because fewer TCP connections can be used in comparison to HTTP/1.x.
Further readings:
https://www.rfc-editor.org/rfc/beta/errata/RFC7540.htmlhttps://kinsta.com/learn/what-is-http2/
https://hpbn.co/http2/
Yorumlar
Yorum Gönder