例如,Youtube 或 Vimeo 等如何知道您正在下载视频而不是观看视频?
每种情况下都会触发什么样的 HTTP 请求/标头?
答案1
我认为他们不能——这就是为什么尽管违反了(至少)Youtube 的条款和条件,这种做法仍然盛行。下载和流媒体之间没有固有的协议差异,但服务器可以使用一些共同的东西——
- 同时下载的块的数量。
- 下载速度。
- 下载的大小相对于报告的屏幕尺寸。
- 下载方法 - 例如,流媒体程序可能使用 TCP,同时报告为 Chrome - 但 Chrome 实际上使用 QUICK
- Javascript 解释
- 同时下载多个视频,或下载之间的延迟不足。
当然,所有这些都可以通过下载器进行模拟——创造出一种猫捉老鼠的游戏
然而,我认为 Youtube 或 Vimeo 不会使用 DRM(但 Netflix 会使用)。这需要特定程序或浏览器支持,而且我们很难规避/模仿。当然,这会产生部署成本并再次造成观看障碍 - 我认为 Youtube 等商业模式不适合他们。