首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自网页中的媒体播放器的第二个请求

来自网页中的媒体播放器的第二个请求
EN

Stack Overflow用户
提问于 2010-10-09 08:25:19
回答 2查看 448关注 0票数 0

我有一个ASP.NET web应用程序,其中页面上的Microsoft Media Player对象(在IE中)发出对.aspx网页的请求。在页面中,我使用TransmitFile发回音频文件。这在大多数情况下都工作得很好。

但是,在某些情况下( IE版本和特定客户端的组合,至少在我看来是这样),还有第二个请求发出,具有完全相同的URL。我能看到的第一个和第二个请求之间的唯一区别是user-agent值。第一个请求将具有User-Agent: Windows-Media-Player/9.00.00.4508,第二个将具有User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

第二个请求导致音频文件第二次通过网络发送,这是浪费的。这就是我想要避免的。

我有一个相关的问题here,但在本例中没有Range请求。这又是完全相同的请求(除了user-agent之外,头都是一样的)。

我试图用所有类型的HTTP状态响应(304、404、500等)来抑制第二个响应(基于头部中的用户代理)。这对于某些客户端,有时是有效的,但偶尔会中断(媒体播放器将不会播放音频,即使Fiddler会显示它是在第一次请求时传输的)。

如果可能的话,我想“说服”浏览器避免第二个请求。作为第二个选项,我希望找到对第二个请求的响应,该响应不会中断回放,但避免发送整个音频缓冲区。

EN

回答 2

Stack Overflow用户

发布于 2010-10-16 07:21:12

到目前为止,我能想到的唯一一件事是,也许他们安装了一个插件/工具栏,当它检测到媒体时,它试图做一些事情。

我认为VLC为火狐做了类似的事情,我知道火狐有很多类似“视频下载器”的插件,也许也有为IE开发的等价物。

你可以试着让有问题的客户给你他们的插件列表(在IE8中应该是Tools -> Manage Add-ons )。

希望这能有所帮助:)

EDIT:你可以检查的另一件事是让他们在你的网站上尝试启用兼容模式,看看它是否会改变什么。

票数 0
EN

Stack Overflow用户

发布于 2010-10-18 19:39:25

请提供完整的报头转储,您确定两个请求都是GET请求吗?第一个请求可能只是检查缓存的版本是否足够好。

再想想:试着返回“expires”头来抑制缓存检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3895167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档