HTTP报文:
HTTP请求报文request
报文格式:
<method><request-URL><version>
<headers>
<entity-body>
HTTP响应报文response
报文格式:
<version><status><reason-phrase>
<headers>
<entity-body>
注释:<version>格式HTTP/<major>.<minor> 如:http/1.1
<headers>首部:
Name:Value
Content-type:images/gif
分三类:
通用首部:请求响应都可以使用的首部
connection:定义C/S之间关系请求/响应都有关的选项;
对于http/1.0,connection:keep-alive
via:显示了报文经过的中间节点
cache-control:缓存指示
请求首部:
client-IP:
Host:请求的主机名和端口号
Refer:网页跳转 例如:<a href="test2.html">successful</a>
user-agent:客户端什么工具请求的
accept首部:用户标明客户端自己更倾向于支持的能力;
accept:指明服务器能发送的的媒体类型;
条件请求首部:
if-Modified-Since:是否在指定的时间以来修改过此资源;
...
跟安全相关的请求首部:
authorization:客户端提交给服务器端的认证数据,如账号和密码
cookie:客户端发送给服务器端身份标示
响应首部:
age:响应时间
server:向客户端标明服务器程序名称和版本
协商首部:
accept-ranges:对当前资源来讲,服务器所能接受的范围类型;
vary:
安全相关的首部
set-Cookie:服务器端在某客户端第一次请求时发给令牌
www-authentication:质询,即要求客户端提供账号和密码;
<entity-body> 实体首部:用于指定实体属性的首部
location:资源的新位置
allow:允许对此资源使用的请求方法
内容首部:
content-language
缓存首部:
Etag:实体标签
expires:过期期限
last-Modified:上次修改的时间
扩展首部:非标准首部 如:X-Forward-For
响应报文的状态吗:
1xx:信息性状态码
2xx:成功类状态码
200:OK
201:Create
3xx:重定向状态码
301:Moved Permanently(永久重定向)在响应报文中使用首部“location:URL"指定资源现在所处的位置;
302:Found (临时重定向)在响应报文中使用首部"location:URL"指定临时位置;
304:Not Modified;客户端第二次请求时,服务器告诉客户端资源没改,可以使用客户端本地缓存;(条件式请求中使用)
4xx:代表客户端错误
403:forbidden,请求被服务器拒绝;
404:not found,服务器没有客户端要请求的资源;
405:请求的方法不对;
5xx:代表服务器错误
500:internal server error,服务器内部错误,内部权限错误,脚本没有办法执行;
502:bad gateway,代理服务器从上游收到一条伪响应;
503:service unavailable,服务器此时无法提供服务,但将来可用
<method>
GET:请求获取一个资源,需要服务器发送
HEAD:跟GET相似,但其不需要服务发送资源而仅传回响应首部
POST:支持HTML表单提交,表单中有用户填入的数据,这些数据会发送到服务器端,由服务器存储至某位置(例如发送给处理程序);
PUT:与get相反,向服务写入文档;
DELETE:请求删除URL指向的资源
OPTIONS:探测服务器对某资源所支持的请求方法
TRACE:跟踪请求要经过的防火墙、代理或网关等
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29620572/viewspace-1772500/
,如需转载,请注明出处,否则将追究法律责任。