首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断文件是否是通过HTTP完全下载的?

问如何判断文件是否是通过HTTP完全下载的?
EN

Stack Overflow用户
提问于 2014-06-25 18:53:56
回答 1查看 1.2K关注 0票数 1

如何判断文件是否通过HTTP完全下载?

如果您已经从服务器刷新了数据包,但用户仍在下载这些数据包,该怎么办?TCP FIN包看起来不一样吗--不管用户已经完成了还是已经取消了下载?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-25 19:30:39

服务器无法知道客户端是否已接收到所有字节。它所能做的就是发送和刷新字节,然后在不使用HTTP保持活动的情况下关闭连接。客户有责任:

  1. 检测字节是如何发送的(正常的、压缩的、块的等等),这样它就知道如何读取它们了。
  2. 检测发送了多少字节(如果数据是以块格式发送的,它将无法预先检测到这一点)。
  3. 检测所有预期字节何时已被接收,以便它可以停止读取。

因此,客户端(而不是服务器)知道何时到达下载结束,而不是在下载过早中止时。如果客户端知道/认为下载是不完整的,它总是可以重新查询服务器上的文件元数据,并将其与已经拥有的文件进行比较,然后在需要时重新下载。

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

https://stackoverflow.com/questions/24416379

复制
相关文章

相似问题

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