熟悉http协议的大虾请进!

lbxxxx 2000-07-25 12:53:00
各位大虾好!
有一关于http协议的问题请教各位:
我写一个提供www服务的程序,当客户端提交一个下载pdf请求时,我的程序必须将pdf文件完全下载到客户端(使用http协议下载),才能在客户端打开。而使用iis server则可以采用“分页下载”的技术,后查阅有关资料发现必须是服务器支持“字节服务”。
经分析两种不同server所传递的http包,发现以下几点不同:
1、iis server的http包头中有:Accept-Ranges = bytes SVR ---- CLI
2、iis server的http包头中有:Ranges = xxxxxxxxxxx CLI ---- SVR
3、iis server的http包头中有:Etags = xxxxxxxxxxx CLI ---- SVR
4、iis server的http包头中有:Content-Ranges = xxxxxxxxxxx SVR ---- CLI
而包头以上的信息我自己的SVR中没有。
那位大虾可以帮我解决???
另外:客户端如何确认SERVER能否支持“字节服务”,难道实在握手时确认吗???

十分感谢!!!


...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yueyue 2001-06-19
  • 打赏
  • 举报
回复
关注
dawnsun 2000-07-27
  • 打赏
  • 举报
回复
可能是因为IE测出你的server不支持断点续传,所以不给你发出Range请求
假设文件长度为1000, 0-999是数据的起止偏移
lbxxxx 2000-07-25
  • 打赏
  • 举报
回复
我的客户端是IE5.0
我做一个试验:
在一个客户端用IE访问两个SERVER,一个是IIS4,一个是我自己的SERVER,并同时监测通讯过程(http包),发现当访问IIS时,http请求中包含:
Range : 8192-
而访问我自己的SERVER时http请求包中却没有这一项,这是为什么??
另外:Content-range : bytes 500-999/1000中999和1000分别是什么意思?
十分感谢!!!
dawnsun 2000-07-25
  • 打赏
  • 举报
回复
应该是客户端向你的server发出一个GET请求,并指明下载区间,如:
Range: bytes=500-
你的server程序在包头中回答对方支持或不支持, 如:
Accept-Ranges = bytes
Content-range: bytes 500-999/1000 (支持)

Content-range: bytes 0-999/1000 (不支持)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧