What are the differences between HTTP 1.1 vs HTTP 1.0?

Asked

Viewed 4,597 times

18

What are the differences between them, and for which case each is most recommended?

We have the documentation of HTTP 1.1 and that of HTTP 1.0, but they are long, and I would like a brief explanation in Portuguese.

In this case, we have two important situations, POST and GET.

2 answers

19


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.

Actually, I should be going to the HTTP 2. FAQ.

15

  1. Method OPTIONS - The HTTP method OPTIONS was entered in HTTP 1.1, and allows metadata to be obtained about a resource (URL), including which methods are allowed in it.

  2. The header Host - This header is required in HTTP 1.1, but not in HTTP 1.0. If a request is sent without this header at HTTP 1.1, the server must respond with a status 400 - Bad Request. The reason behind this change was to facilitate issues related to routing and hosting pages/sites.

  3. Cache - HTTP 1.0 had very simple and primitive cache support through the header If-Modified-Since. HTTP 1.1 has much better support with headers ETag, If-Unmodified-Since, If-Match, If-None-Match, Cache-Control and Expires. In HTTP 1.1 there are also concepts of caching in proxies (defined in the header Cache-Control).

  4. Status message 100 - Continue, which is useful for dividing a request into two or more parts. Serves to avoid the case of uploading a very heavy resource just to have a 404 later.

  5. Status message 101 - Switching Protocols and header Upgrade, to switch between HTTP and HTTPS.

  6. Connection reuse - HTTP 1.0 established a connection for each resource downloaded on a page (i.e., a connection to HTML, one for each javascript, one for each CSS, one for each figure, etc.). This was the biggest inefficiency of HTTP 1.0 and the biggest motivation for creating HTTP 1.1. In HTTP 1.1, there is the connection reuse, which is provided with the header Connection and the values keep-alive or close.

  7. Better control over the type of response the customer wants, including the concept of byte-serving (that corresponds to requesting only part of the content of the resource, allowing parallelized and/or partial downloads) and negotiation content (enabling the client to choose which format best suits their needs if the server can provide the same resource in several different formats). This includes the headers Content-Encoding, Content-Location, Content-Length, Content-Range and Content-Type.

  8. Authentication of Digest and proxy types.

  9. Other specific headers and new status codes (203 to 206, 300, 303, 305, 406 to 415, 504 and 505).

  10. There must be some more details in there.

Sources:

Browser other questions tagged

You are not signed in. Login or sign up in order to post.