http1.1和http1.0?

ilovecjava 2003-03-27 10:04:45
procedure TForm1.Button1Click(Sender: TObject);
var
cs:TClientSocket;
begin
cs := TClientSocket.Create(self);
cs.Address := '10.57.0.115';
cs.ClientType := ctBlocking;
cs.Port := 80;
cs.Active := true;
//问题:http/后面是1.1就说找不到页面,1.0就能正确下载到页面,为什么?
cs.Socket.SendText('GET /index.html HTTP/1.1'+#13+#10);
cs.Socket.SendText(#13+#10);
memo1.Lines.Add(cs.Socket.ReceiveText());
end;
注:10.57.0.115:80是iis的web server
http1.1协议和http1.0协议到底有什么区别,上面代码应该怎么改?
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zihui2k 2003-06-19
  • 打赏
  • 举报
回复
RFC2068中规定最小的HTTP1.1请求必须由两行文本组成(请求行和HOST标题字段),而HTTP1.0无此要求,所以你1.0可以下而1.1报错。改动如下:
cs.Socket.SendText('GET /index.html HTTP/1.1'+#13+#10);
cs.Socket.SendText('HOST: '+cs.Address+#13#10); //注意,这一句是加上去的
cs.Socket.SendText(#13+#10);
memo1.Lines.Add(cs.Socket.ReceiveText());

祝你好运!
Wally_wu 2003-03-27
  • 打赏
  • 举报
回复
那可要看IE或代理用户器是否支持HTTP 1.1'
ilovecjava 2003-03-27
  • 打赏
  • 举报
回复
对阿,1.0的话象你那样能正确下载页面啊,但是要用1.1的话,怎么弄?
Wally_wu 2003-03-27
  • 打赏
  • 举报
回复
如果是1.0的话,
cs.Socket.SendText('GET /index.html HTTP/1.0'+#13+#10);

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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