【问题标题】:Can I use the HTTP range header to load partial files "on purpose"?我可以使用 HTTP 范围标头“故意”加载部分文件吗?
【发布时间】:2013-02-18 11:09:24
【问题描述】:

我正在使用 HTTP 范围标头 (specs)。

据我了解,我可以设置文件的字节范围 ala

0-199/2000
200-499/2000
500-799/2000
etc

问题:
假设我只想访问文件的某些范围,是否可以指定这些范围,然后使用我收到的“不完整”数据?我正在过滤一个大的日志文件,所以我很好奇这样的事情是否可行。

感谢您的意见!

【问题讨论】:

  • 在我看来是使用该标题的完美案例。 w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2
  • 是的,我也认为它是专门为这种情况而开发的。你没试过吗?
  • 如前所述,正是范围请求的用途。这通常是通过 HTTP 完成媒体“流式传输”的方式。
  • 是的。我正在考虑更多地将其用作大文件的过滤器,类似于here 的描述。如果不仅可以像这样过滤“从到”,那就太好了。

标签: javascript http http-headers range filtering


【解决方案1】:

您是对的,您在评论中发布的链接可能是最好的方法。因为你的问题听起来很有趣,所以我试了一下。你可能已经做到了,但这里有一个 sn-p(可能会寻找其他人)

var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","data.dat",false);
xmlhttp.setRequestHeader("Range", "bytes=100-200");
xmlhttp.send();
console.info(xmlhttp); //--> returns only the partial content
// Tested on Win7 with chrome 46+

【讨论】:

  • 是的。这真好。我也在玩弄它。好奇如何设置自定义实体,包括相关逻辑。
  • 我假设自定义实体需要服务器端脚本/编程,并依赖于网络服务器和编程语言。这是一个类似的问题/答案/approche/hint/...link :)。
猜你喜欢
  • 2011-03-19
  • 1970-01-01
  • 2012-01-09
  • 1970-01-01
  • 2015-04-26
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多