代码之家  ›  专栏  ›  技术社区  ›  Ron Harlev

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

  •  0
  • Ron Harlev  · 技术社区  · 14 年前

    TransmitFile 发送回音频文件。这在大多数情况下都很有效。

    但是,在某些情况下(IE版本和特定客户端的组合,至少从我所看到的情况来看),会发出第二个具有完全相同URL的请求。我能看到的第一个和第二个请求之间的唯一区别是用户代理值。第一个请求将具有 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 ,但在本例中没有范围请求。它又是一个完全相同的请求(相同的头,除了用户代理)。

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

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

    3 回复  |  直到 8 年前
        1
  •  0
  •   Nick Knowlson    14 年前

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

    我认为VLC对Firefox做了类似的事情,我知道Firefox有很多“视频下载器”类型的插件,也许IE也有类似的插件。

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

    希望这有帮助:)

    编辑:

        2
  •  0
  •   BarsMonster    14 年前

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

    第二个想法:尝试将“expires”头返回到Superss缓存检查。

    推荐文章