完整的http请求包括:请求行、若干消息头、实体内容
请求行:常用的请求方式有:GET、POST
Accept:text/html,image/*:客户机通过这个头,告诉服务器,它支持哪些数据类型
Accept-Charset:ISO-8859-1:客户机通过这个头,告诉服务器,它支持的编码
Accept-Encoding:gzip,compress:客户机通过这个头,告诉服务器,支持哪种数据压缩格式
Accept-Language:en-us,zh-cn:客户机采用的那种语言
Host:www.it315.org:80::客户机通过这个头,告诉服务器,访问服务器的那台主机
If-Modified-Since:Tue,11Jul200018:23:51GMT::客户机通过这个头,告诉服务器,数据缓存的时间
Referer:http://www.it315.org/index.jsp::客户机通过这个头,告诉服务器,客户机从那个页面来的(防盗链);
User-Agent:Mozilla/4.0(compatible;MSIE5.5;WindowsNT5.0):说明客户机操作系统信息,以及浏览器信息
Cookie:客户机通过这个头可以带点数据
Connection:close/Keep-Alive:连接多次连接就是keep-Alive,连接后关闭:close
Date:Tue,11Jul200018:23:51GMT:请求的时间
完整的http响应包括:状态行、若干响应头、实体内容
302、307请求服务器的一个资源,该资源让你去找别的资源
304请求服务器的一个资源,服务器告诉你从缓存中拿
Location:服务器通过这个头告诉浏览器去访问哪个页面,这个头通常配合302状态码使用
Content-Encoding:服务器通过这个头告诉浏览器,回送的数据采用的压缩格式
Content-Length:服务器通过这个头告诉浏览器,回送的数据的大小
Content-Type:服务器通过这个头告诉浏览器,回送数据的类型
Last-Modified:服务器通过这个头告诉浏览器,资源的最后修改时间
Refresh:服务器通过这个头告诉浏览器,定时刷新网页
Content-Disposition:attachment;filename=aaa.zip:服务器通过这个头告诉浏览器,以下载方式打开数据
ETag:W/"7777-1242234904000":缓存相关的头,为每一个资源配一个唯一的编号
Expires:0
Cache-Control:no-cache
Pragma:no-cache这三个头组合使用,让浏览器不要缓存数据
//向服务器请求资源
GET/20111013/demo.doHTTP/1.1
//告诉服务器它支持以下格式的文件
Accept:image/jpeg,application/x-ms-application,image/gif,application/xaml+xml,image/pjpeg,application/x-ms-xbap,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,application/QVOD,application/QVOD,*/*
//客户机采用zh-cn语言
Accept-Language:zh-cn
//说明客户机操作系统信息,以及浏览器信息
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;Trident/4.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;MediaCenterPC6.0;.NET4.0C)
//客户机告诉服务器支持gzip,deflate这两种数据压缩格式
Accept-Encoding:gzip,deflate
//访问localhost:8080
Host:localhost:8080
//连接多次连接就是keep-Alive
Connection:Keep-Alive
//向客户机响应资源
HTTP/1.1200OK
Server:Apache-Coyote/1.1
//服务器通过这个头告诉浏览器,以下载方式打开数据
Content-Disposition:attachment;filename=a.jpg
Transfer-Encoding:chunked
//响应的时间
Date:Thu,13Oct201114:56:55GMT