Допустимо ли отвечать на запрос HTTP 1.1 ответом HTTP 1.0? - PullRequest
3 голосов
/ 19 марта 2012

Я настраиваю доставку видео для видеофайлов на телевизионные приставки. Я хочу использовать Amazon Cloudfront. Видеофайлы запрашиваются как обычные http-запросы, которые могут содержать заголовок диапазона для запроса частичных ресурсов (чтобы позволить пользователю на коробке перейти в любую позицию видео).

Моя проблема в том, что он работает на 2 из 3 ящиков, один создает проблемы.

Запрос выглядит так (пример данных):

GET /path/file.mp4 HTTP/1.1
User-Agent: My User Agent
Host:myhost.com
Accept:*/*
Range: bytes=100-200

Так что, если я делаю запрос к облачному фронту, используя telnet, я вижу, что ответ HTTP 1.0:

joe@flimmit-joe:~$ telnet d2zf9fl0izzsf6.cloudfront.net 80
Trying 216.137.61.164...
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:~$ 

К сожалению, у меня только ограниченный доступ к коробке для целей тестирования. Однако такое поведение по фронту облака кажется мне странным, поэтому я хотел спросить, действительно ли оно даже верно.

1 Ответ

3 голосов
/ 19 марта 2012

Абсолютно «допустимо» отвечать с помощью Http 1.0 на запрос Http 1.1.

Я процитирую Приложение 19.6 к RFC2068 «Спецификация протокола выходит за рамки предписания соответствия предыдущим версиям. Однако HTTP / 1.1 был специально разработан для упрощения поддержки предыдущих версий».

http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.6

Важной частью в основном является то, что RFC не вызывает ответ Http 1.1, так что дело за сервером.

...