The differences between HTTP 1.1 and HTTP 2 are listed in the below table:
| HTTP 1.1 | HTTP 2 |
|---|---|
| Request sent and responses received were in plain text format. | Messages both request and response are encapsulated in binary format, giving more protection from any unauthorized alterations. |
| Finds difficulty in handling whitespace, capitalization and line endings. | Use binary protocols that handle elements like whitespace, capitalization and line endings more efficiently |
| Needs more bandwidth to process the page contents | Consumes less bandwidth to display page contents |
| Prioritization of loading contents is not possible in HTTP 1.1 | Developers have control over prioritizing / uploading content in the order of their preference. |
| Loads resources one after another taking time to load the contents on a page | Sends multiple streams of data using single TCP connection., resolving head-of-line blocking problem in HTTP 1.1 |
| Metadata is transferred in plain text, hence need more overhead to handle | Uses header compression mechanism, that reduce overhead |
| HTTP 1.1 can handle only plain text, and is not compatible to process CSS, JavaScript, images, sounds, videos, and digitized smell, touch samples. | Uses server push help to store resources to be used in request in browser’s cache, even before requested, displaying content quickly. |