Features | HTTP 1.0 | HTTP 1.1 |
Connection | Creates a new TCP connection for each request that should be closed after the server responds. This leads to big performance problems due to the cost of setting up a new TCP connection and closing it. | Uses persistent connections and pipelined requests over the established connection. This has a positive impact on performance. |
Host field | Does not require a host header by specification. | The Host header is required by the specification. It allows to route HTTP messages through proxy servers, and distinguish between different websites on the same server. |
Authentication | Only Basic Authentication. | Digest and proxy authentications. |
Caching | Support caching only via the If-Modified-Since header. | New If-Unmodified-Since, If-Match, If-None-Match conditional request headers and new Vary and Cache-Control response headers. A new 'entity tag'. If two resources are the same, then they will have the same entity tag. |
OPTIONS | New OPTIONS method. The client can use the OPTIONS method to determine the capabilities of the server. It's mostly used for Cross Origin Resource Sharing (CORS) requests. | |
100 Continue | New 100 Continue status code to prevent clients from sending the request body if the server can process it due to size limits or authorization. |
HTTP 1.1 has key differences and improvements, but version 1.0 is still in use by old clients.