正在检查视频的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按钮,您就可以对响应(实际的视频文件或错误-如果返回的话)执行任何操作。
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- 响应动画手风琴不工作
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- HTML 范围输入在尝试移动时无响应
- Nodejs 响应中的可变范围
- 正在检查视频的HTTP 206响应的响应范围
- D3.js光栅范围无响应
- AngularJS美元范围.Push不从$http数据响应更新视图
- 根据返回响应设置范围