HTTP/1.0 also introduced transparent support for caching: that is, you can ignore all of the cache management-related headers and it will still work just fine. HTTP/1.1 added some more features, including support for persistent connections, payloads of non-immediately known sizes, plus it somewhat clarified the rules about how messages should be proxied (although those rules still were pretty murky in the end but eh).
And HTTP/2 and HTTP/3 are, if you allow me to borrow OSI terms, actually transport-level protocols designed specifically to carry HTTP/1.1 on top of them, so learning them is only of interest if you want to develop Next Shining Better TCP or something like that: inside them are still old, boring HTTP/1.1 messages.
And HTTP/2 and HTTP/3 are, if you allow me to borrow OSI terms, actually transport-level protocols designed specifically to carry HTTP/1.1 on top of them, so learning them is only of interest if you want to develop Next Shining Better TCP or something like that: inside them are still old, boring HTTP/1.1 messages.