18
HTTP 1.1 passed require a Host Header. Previously it was optional. This made it easy to route the request between servers more easily and even share the same structure to multiple sites (virtual hosting).
It went on to allow standard extensions to meet specific demands.
He went on to have persistent connections (Keep-Alive) and pipelining (several requests on the same connection occurring in parallel), fundamental to give better performance and facilitate communication between client and server. For that a header connection was necessary.
The OPTIONS method has been introduced.
They also added the status code 100 where the server informs the client that it can send what it intended. For this, the client sends a request prior informing what he will send if authorized, just to cite an example. There were several new codes (206, 300, 409, 410, etc.).
It also greatly improved cache support that can now manipulate it less naively.
Improved support for compression.
Was added Digest Authentication to improve security. Authentication of proxy also happened to be possible.
Some features have been put in place to improve reliability.
You now have appropriate support to handle different languages.
The data could be sent in pieces avoiding large losses in the event of failures, and the customer could start rendering before everything arrived. It has become possible for the customer to ask for only a part of the data.
Much that was already being used in 1.0 was formalized in protocol 1.1.
As far as I know, nothing’s changed GET
and POST
unless they and other verbs must indicate that the request will be made by HTTP 1.1.
If you want a more complete list of the change see RFC (section 19.6.1).
There’s a document with more details.
The main one was based on that question in the OR.