请求报文
- 开始行:定义了方法,访问地址,协议版本,CRL回车换行符
- 首部行:存在多行,也就是首部的各种状态,后边跟一个空白行。
- 实体主体:通常不用,一般上传文件的时候才会用到
响应报文
- 状态行:也就是响应码和协议版本
- 首部行:同样是各种首部字段,例如:cookie,时间等等
- 实体主体:一般用不上
method方法
- GET:从服务器获取一个资源
- HEAD:只从服务器获取文档的响应首部
- POST:向服务器输入数据,通常会由网关程序继续处理
- PUT:将请求的主体部分存储在服务器中,如上传文件
- DELETE:请求删除服务器上指定的文档
- TRACE:追踪请求到达服务器中间经过的代理服务器
- OPTIONS:请求服务器返回指定资源支持使用的请求
首部解释
通用首部
Date:报文的创建时间
Connection:连接状态,如keepalive,close
Via:显示报文经过的中间节点(也就是代理服务器)
Cache-control:控制缓存
请求首部
Accept:通过服务器自己可接受的媒体类型(如:text/html, application/xml…)
Accept-encoding:接收编码格式,一般指压缩机制,如:gzip,deflate,sdch等
Accept-language:接受的语言
Host:请求的服务器名称和端口
Referer:指当前的资源是由哪个资源转过来的
User-agent:客户端代理
条件式请求首部
if-modified-since: 自从指定时间后,请求的资源是否发生过修改
if-none-match:本地缓存中存储的文档的ETag标签是否与服务器文档的Etag不匹配;
安全请求首部
Authorization:向服务器发送认证信息,如账号和密码
Cookie:客户端向服务器发送cookie
代理请求首部
Proxy-Authorization: 向代理服务器认证
响应首部
age:响应持续时长
Server:服务器程序软件名称和版本; 一般在服务器端要移除此项
协商首部
accept-ranges:服务器可接受的请求范围类型
Vary:服务器查看其它首部列表
安全响应首部
set-cookie:向客户端设置cookie
WWW-Authenticate:来自服务器的对客户端的质询认证表单
实体首部
Allow:列出对此实体可使用的请求方法
Location:告诉客户端真正的实体位于何处
Content-Length: 主体的长度
Content-Location: 实体真正所处位置;
Content-Type:主体的对象类型
状态码
- 100-101 信息提示,一般很少出现
- 200-206 成功,表示请求的所有数据已经成功返回
- 300-305 重定向
- 400-415 错误,客户端错误
- 500-505 错误,服务器端错误
常见的类型
200:表示服务器端成功处理了请求。返回客户端想访问的网页
301:请求的URL指向的资源已经被删除,但在响应报文中首部的location处指明了资源现在所在的新位置。
302:与301相似,但在响应报文中的首部location处指明了资源现在所在的临时位置。
304:如果客户端发送了带有条件式的方法进行访问,而文档内容并没有发生改变,服务器就会响应此状态码
401:需要输入账号和密码的认证方式才能访问资源 403:请求被禁止 404:服务器无法找到客户请求的资源 500:服务器内部错误
502:代理服务器从后端服务器接收到了一条伪响