java-如何知道HTTP服务器何时完成发送数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如何知道HTTP服务器何时完成发送数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含846字,纯文字阅读大概需要2分钟。
内容图文
![java-如何知道HTTP服务器何时完成发送数据](/upload/InfoBanner/zyjiaocheng/655/a9fc44516da44f60bb1bd86abc00c77a.jpg)
我正在开发一个面向浏览器/代理的项目,需要下载网页.将自定义HTTP请求发送到Web服务器后,我开始侦听服务器响应.
读取响应时,我检查Content-Length:-row的响应标头.如果我得到其中之一,就很容易确定服务器何时完成发送数据,因为我一直知道我已收到多少字节的数据.
当服务器不包含Content-Length标头并且还为其他请求保持连接打开状态时,就会发生此问题.例如,谷歌服务器以gzipped-content响应,但不包含内容长度.我怎么知道什么时候停止等待更多数据并关闭连接?
我已经考虑过使用一段时间超时值来在一段时间内未收到任何数据时关闭连接,但这似乎是错误的方法.例如,Chrome浏览器可以下载与我相同的页面,并且似乎总是确切知道何时关闭连接.
解决方法:
看看IETF RfC 2616,搜索分块编码和Content-Range.
HTTP旨在返回未知长度的内容,如:
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
25
This is the data in the first chunk
1C
and this is the second one
3
con
8
sequence
0
内容总结
以上是互联网集市为您收集整理的java-如何知道HTTP服务器何时完成发送数据全部内容,希望文章能够帮你解决java-如何知道HTTP服务器何时完成发送数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。