检查视频的HTTP 206响应的响应范围

时间:2015-12-21 20:51:30

标签: javascript html5 http amazon-cloudfront

我通过Amazon CloudFront提供一些HTML5视频。正在按要求向HTTP范围请求请求它们,响应通常为HTTP 206 Partial Content

我想用Javascript记录请求的范围和响应中的范围(即请求的字节0-,响应的字节0-1000)。这可能吗?请注意,这些不是XMLHttpRequest;它只是一个<video>标签。我已经有了一个客户端日志工具,但我不知道如何获取我需要的数据。

CloudFront已经记录了响应中的字节数,遗憾的是包括标题,但我还需要知道请求了多少字节。有一个Safari用户为一个500 KB的视频制作了成千上万的范围请求,结果传输的数据超过1 GB,我无法弄清楚原因。

其他一些选择及其缺点:

  • 使用Safari开发人员工具。它们对我没用,因为它们不显示<video>标记生成的请求的HTTP状态代码。 (╯°□°)╯(┻━┻
  • 使用Wireshark。这似乎是完全不可预测和不可复制的,所以除非我让用户在整个测试周期中捕获数据包 - 这将是一个大规模的捕获 - 我无法在问题发生时专门隔离数据。这是最后的手段。
  • 使用EC2充当代理,这样我就可以更好地控制日志记录(即,我可以记录原始Range请求标头和响应标头)。如果我能够重现这一点,它可以用于测试环境,但不能用于生产,因为我需要像CloudFront这样的CDN带来的好处。

1 个答案:

答案 0 :(得分:0)

这可能是您正在寻找的: http://www.w3schools.com/jquery/jquery_ajax_get_post.asp

直接从以上链接中获取:

$("button").click(function(){
    $.get("demo_test.asp", function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
});

只需将上面的内容链接/绑定到您的html按钮,您就可以使用响应执行任何操作(实际视频文件或错误 - 如果返回一个)。