top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What are the differences between the HTTP/1.0 And HTTP/1.1?

+2 votes
2,360 views

(a) HTTP/1.0 vs HTTP/1.1. What are the dierences between these versions? what the methos (HTTP
commands) that are supported by HTTP/1.0 and that are supported by HTTP/1.1?
(b) WebSocket: What is a WebSocket (namely with HTML5) and what they are being used for?

posted Nov 1, 2014 by As M Ob

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes

1) HTTP Version 1.0 is based on RFC 1945 and version 1.1 was released later with various improvements along with the backward compatibility on RFC 2616. This is a big list just adding only few differences -

Persistent connections:
HTTP 1.1 also allows you to have persistent connections which means that you can have more than one request/response on the same HTTP connection, whereas in HTTP 1.0 you had to open a new connection for each request/response pair.

OPTIONS method:
HTTP/1.1 introduces the OPTIONS method. An HTTP client can use this method to determine the abilities of the HTTP server.

Caching:
HTTP 1.0 had support for caching via the header: If-Modified-Since. where is HTTP 1.1 expands on the caching support a lot by using something called 'entity tag'. If 2 resources are the same, then they will have the same entity tags.

100 Continue status:
There is a new return code in HTTP/1.1 100 Continue. This is to prevent a client from sending a large request when that client is not even sure if the server can process the request, or is authorized to process the request. In this case the client sends only the headers, and the server will tell the client 100 Continue, go ahead with the body.

Digest authentication and proxy authentication
Extra new status codes
Chunked transfer encoding
Connection header
Enhanced compression support
Much much more.

See detail report at http://www8.org/w8-papers/5c-protocols/key/key.html

2) WebSocket is a protocol providing full-duplex communications channels over a single TCP connection. Before WebSocket, all communication between web clients and servers relied only on HTTP. With websocket in place, dynamic data can flow freely over WebSocket connections that are persistent (always on), full duplex and fast.

The main purpose of WebSocket is to provide full-duplex communications channels over a single TCP connection that can support any protocol. Both the WebSocket API itself (W3C) and the WebSocket protocol are standards, see RFC 6455. While WebSocket was designed originally to be implemented in both web browsers and web servers, it provides such significant architectural benefits that it is being used more and more to communicate between any client and server that has to connect over the internet, for example in between native mobile applications and servers, and in between devices.

answer Nov 2, 2014 by Salil Agrawal
Thank You :)
Similar Questions
+1 vote

1) I'd have a question on how to set up a reverse proxy to a http 1.0 in the cleanest most standard conforming way.

AFAIU, strict HTTP 1.0 has neither persistent connections / keep-alives
- a connection ends after a single request has been responded. Neither does it have Host: headers.

a) Do I need to tell the reverse-proxy about this? Do I have to set:
- ProxyPass' disablereuse=on and/or
- force-proxy-request-1.0 and/or
- proxy-nokeepalive and/or
- proxy-sendcl

Or is one of them enough? E.g. when I set force-proxy-request-1.0... all the others are implicitly set?

b) Do I need to set proxy-initial-not-pooled?
Cause I get the error mentioned there,... interestingly that seems to be independent of the backend/origin server... and dependent on the client.

c) So, strictly speaking, I could not use name-based vhosting, right?

2) Further, when a client talks to the reverse proxy in HTTP 1.0 it should get the reply in 1.0 either. And when it talk to it in 1.1, it should get it in 1.1.

Would Apache do this automatically, or would it answer a 1.0 request with a 1.1 response?
So do I have to set: force-response-1.0 ?

3) The origin server to which I connect is single threaded, i.e. it will only process one request at a time. So Apache shouldn't connect more than once concurrently, as it would simply block. How do I get this? The keep-alive options above probably don't help here... Is the solution to set ProxyPass' max=1 ?

...