协议分析与应用-http

来源:互联网 发布:淘宝uv 怎么求 编辑:程序博客网 时间:2024/05/16 04:42

第1行:方法,请求的内容,HTTP协议的版本
下载一般可以用GET方法,请求的内容是“/index.html”,HTTP协议的版本是指浏览器支持的版本,对于下载软件来说无所谓,所以用1.1版

“GET /index.html HTTP/1.1”

请求的内容包括路径,如http://vckbase.com/document/viewdoc/?id=1208
请求的内容为document/viewdoc/?id=1208

第2行:主机名,格式为“Host:主机”
在这个例子中是:“Host:www.sina.com.cn”

第3行:接受的数据类型,下载软件当然要接收所有的数据类型,所以:
“Accept:*/*”

第4行:指定浏览器的类型
有些服务器会根据客户服务器种类的不同会增加或减少一些内容,在这个例子中可以这样写:

“User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)”

第5行:连接设置
设定为一直保持连接:“Connection:Keep-Alive”

第6行:若要实现断点续传则要指定从什么位置起接收数据,格式如下:

“Range: bytes=起始位置 - 终止位置”

比如要读前500个字节可以这样写:“Range: bytes=0 - 499”;从第 1000 个字节起开始下载:

“Range: bytes=999 -”
如果所有:“Range: bytes=-” 当然这一行可以不要

最后,别忘了加上一行空行,表示请求头结束。整个请求头如下:

GET /document/viewdoc/?id=1208 HTTP/1.1Host:vckbase.comAccept:*/*User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)Connection:Keep-Alive


说明:http基于tcp,只要向vckbase.com这个服务器的80端口发送协议头,就会返回信息。
返回信息包括 返回协议头+正文
下面是一个返回协议头
HTTP/1.1 200 OK
Date: Mon, 26 Jun 2006 08:21:02 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private
Content-Type: text/html; charset=gb2312
Content-Length: 14487
 
原创粉丝点击