2012-03-19 80 views
3

我正在为视频文件设置视频传输到电视机顶盒。 我想使用Amazon Cloudfront。 视频文件像往常一样请求HTTP请求,它可能包含一个范围头部以请求部分资源(使盒子上的用户跳转到视频内的任何位置)。使用HTTP 1.0响应回应HTTP 1.1请求有效吗?

我的问题是,它正在对3个盒子中的2个进行操作,其中一个出现问题。

请求看起来像这样(样本数据):

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

所以,如果我做的请求使用telnet我看到,该响应是HTTP 1.0到CloudFront的:

[email protected]:~$ 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. 
[email protected]:~$ 

不幸的是我有只有有限的访问权限才能进行测试。 但是,云端的这种行为对我来说似乎很奇怪,所以我想问问它是否有效。

回答

3

用Http1.0回答Http 1.1请求是完全“有效”的。

我会引用RFC2068的附录19.6“这是超出了协议规范的范围,要求遵从先前的版本.HTTP/1.1是故意设计的,但是,使得支持以前的版本变得容易。

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

的重要组成部分,基本上是在RFC不强制HTTP 1.1的答案,所以它的服务器。

+0

这是否有任何安全隐患?从安全的角度来看,这可能会被滥用吗? – acudars 2015-03-25 11:53:32