【问题标题】:Partial content request in Google ChromeGoogle Chrome 中的部分内容请求
【发布时间】:2015-02-24 20:08:57
【问题描述】:

有很多关于 Chrome 的部分内容问题的帖子。但我真的被困住了,到目前为止,任何建议都对我没有帮助。这是我的问题:

环境:

  1. 在服务器端使用 Node 和 MongoDB 以及存储在 mongo 中的文件。我 使用 GridFS 拾取文件并发送到客户端。
  2. 我使用 Nginx 作为 Web 服务器

我有一个标签,需要在客户端循环播放视频。我发现,Chrome 正在向服务器发送范围请求:

GET /54c4d7c6849b10b54af4ac23.mp4 HTTP/1.1
Host: xxxx.com
Connection: keep-alive
Accept-Encoding: identity;q=1, *;q=0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
Accept: */*
Referer: https://www.xxxx.com/en-GB/
Accept-Language: en-US,en;q=0.8
Cookie: _ga=GA1.2.1593613130.1422274087
Range: bytes=26104-3116024

我在 gridFS 中处理此请求并回复以下部分内容:

HTTP/1.1 206 Partial Content
Server: nginx/1.6.2
Date: Mon, 23 Feb 2015 13:47:48 GMT
Content-Type: video/mp4
Content-Length: 3089921
Connection: keep-alive
Content-Range: bytes 26104-3116024/3116025
Accept-Ranges: bytes
Cache-Control: no-cache

但在那之后 Chrome 会停止显示视频。里面有什么问题? 我可以错过响应标题中的某些内容吗?

【问题讨论】:

  • 您是否有可能将您的页面(站点)的网址提供给我们进行测试?而且,您在其他浏览器中是否也遇到过同样的问题?

标签: javascript google-chrome video nginx partial


【解决方案1】:

问题已解决 不幸的是,Chrome 在请求/响应中发生的事情并不是很详细。问题是尺寸很重要,实际上。当 Header 中声明的大小与实际内容大小不同时。 chrome 只是无缘无故地放弃它。为了识别这一点,我设置了 Fiddler,发现我的 gridFS 发送了错误的文件部分大小。将 Gridfs 升级到最新的 1.0.1 版本确实可以解决这个问题。

【讨论】:

猜你喜欢
  • 2017-02-19
  • 1970-01-01
  • 2014-01-03
  • 2011-09-17
  • 2019-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多