繁体   English   中英

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

[英]Checking responses ranges for HTTP 206 responses for videos

我正在通过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按钮,您就可以对响应做任何您想做的事情(实际的视频文件或错误-如果返回了一个)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM