一,Http请求:
1,Http的一个请求行:
GET /enterprise/doc.html Http/1.1
表示是GET请求,访问的地址,访问的协议
2,Http的若干请求头:
Accept:*/* ---接收全部数据
Accept-Charset:utf-8 ---客户端采用的编码格式
Accept-Language:en-us ---客户端的语言环境
Host:localhost ---要访问的主机名
If-Modified-Since: 客户端告诉服务器,资源的缓存时间
Referer:从哪里链接过来的(防盗链)
User-Agent:WindowXP7.5 ---告诉服务器,客户端的软件环境
Cookie:客户机通过cookie向服务器带数据
3,Http请求数据:
GET请求的参数一般在反问连接中,例如:enterprise/doc.action?username=aaa&age=11
POST请求一般在此处添加参数,参数不受长度限制,而GET请求的参数一般不超过1K。
二,Http响应:
1,Http的一个响应行:
响应协议 Http/1.1 200 OK
100~199 表示成功接收请求,需要再提交请求才能完成整个的处理过程。
200~299 表示已经完成整个过程,例如200
300~399 表示为了完成请求,需要客户端进一步细化请求,例如请求的资源已经移动到另外的一个地址。
302表示你找服务器,服务器回送一个Location让你去找;
304和307表示去缓存获取。
400~499 表示客户端连接错误,例如404,访问地址错误。
500~599 表示服务器连接错误,例如500,服务器异常。
2,Http的多个响应头(常见的):
Location:表示重定向地址
Server:apache tomcat 服务器
Content-Encoding:gzip 压缩格式
Content-Language:zh-cn
Content-Length:80 服务器回送数据的长度
Content-Type:服务器回送数据的类型
Content-Disposition:attachment;filename=aaa.jpeg 回送给浏览器下载的资源(例如:response.setHeader("Content-Disposition:attachment;filename=aaa.jpeg")下载aaa.jpeg图片)
Last-Modified:告诉浏览器当前的资源缓存时间
Refresh:告诉浏览器隔多长时间刷新一次
Transfer-Encoding:告诉浏览器传送的格式
ETag:缓存相关的头(区别在于精确到实时更新,其他的做不到这么精确的实时更新)
Expires:告诉浏览器把回送的数据缓存多长时间,-1或0表示不缓存
Cache-Control:no-cache 不缓存
Pragma:no-cache 不缓存
Connection:close/Keep-Alive 响应完了,关闭或者连接
Date:Tue,11 Jul 2014 21:11:23 GMT 时间
3,Http响应实体:
<HTML>
<BODY>
XXXXXXXX
</BODY>
</HTML>