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

Checking responses ranges for HTTP 206 responses for videos

本文关键字:响应 范围 HTTP 视频 检查      更新时间:2023-09-26

我正在通过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提供的好处

这可能就是您想要的: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按钮,您就可以对响应(实际的视频文件或错误-如果返回的话)执行任何操作。