Is the response to an HTTP 1.1 request with an HTTP 1.0 response?
I am setting up video delivery for video files to set-top boxes. I want to use Amazon Cloudfront. Video files are requested as regular HTTP requests, which may contain a range header to request partial resources (to allow the user on the box to jump to any position in the video).
My problem is that it works with 2 out of 3 boxes, which creates problems.
The request looks like this (sample data):
GET /path/file.mp4 HTTP/1.1 User-Agent: My User Agent Host:myhost.com Accept:*/* Range: bytes=100-200
So, if I make a request for cloud mode using telnet, I see that the HTTP 1.0 response is:
joe@flimmit-joe:~$ telnet d2zf9fl0izzsf6.cloudfront.net 80 Trying 188.8.131.52... Connected to d2zf9fl0izzsf6.cloudfront.net. Escape character is '^]'. GET /skin/frontend/default/flimmit/images/headerbanners/02_green.png HTTP/1.1 User-Agent: My User Agent Host:d2zf9fl0izzsf6.cloudfront.net Accept:*/* Range: bytes=100-200 HTTP/1.0 206 Partial Content Date: Sun, 12 Feb 2012 18:42:15 GMT Server: Apache/2.2.16 (Ubuntu) Last-Modified: Tue, 26 Jul 2011 10:37:54 GMT ETag: "1e0b8a-2d2b-4a8f6863ac11a" Accept-Ranges: bytes Cache-Control: max-age=2592000 Expires: Tue, 13 Mar 2012 18:42:15 GMT Content-Type: image/png Age: 351213 Content-Range: bytes 100-200/11563 Content-Length: 101 X-Cache: Hit from cloudfront X-Amz-Cf-Id: W2fzPeBSWb8_Ha_UzvIepZH-Z9xibXyRddoHslJZ3TDXyFfjwE3UMQ==,CwiKc8-JGfE77KBVTTOyE9g-OYf7P-bCJZEWGwef9Es5rzhUBYKE8A== Via: 1.0 972e3ba2f91fd0a38ea062d0cc03be37.cloudfront.net (CloudFront) Connection: close q ]# ĥM oӘ i i Y . / ib & Ⱦ 00 > Y` X r s = n s b 7MConnection closed by foreign host. joe@flimmit-joe:~$
Unfortunately I have limited access to the testing box. However, this cloud front behavior seems odd to me, so I wanted to ask if it really is.
source to share
It is absolutely "permissible" to respond with Http 1.0 to an Http 1.1 request.
I'll provide Appendix 19.6 to RFC2068. "Outside of the protocol specification, the requirements of previous versions are not required. However, HTTP / 1.1 was deliberately designed to make it easier to support previous versions."
The important part is mainly that the RFC does not force Http 1.1 to respond, so it is up to the server.
source to share