http协议:
http1.1,http2.0
ttp协议:stateless
服务器无法持续追踪访问者来源
cookie ,session
http事物:
请求: request
响应:response
报文语法格式:
request报文
<method> <request -URL> <version>
<entity-body>
response报文:
<version> <status> <reason-phrase>
<entity-body>
method:请求方法,表明客户端希望服务器对资源执行的动作
GET ,head, post
version:
HTTP/
status:
三位数字,如200,301,404,502
headers:
每个请求或相应报文可包含任意个首部,每个首部都有名称,后面跟一个冒号,
entity-body:请求时附加的数据或响应是附加的数据
methodn(方法):
GET: 从服务器获取一个资源;
HEAD:只从服务器获取文档响应首部
POST: 向服务器发送要处理的数据;
PUT: 将请求的主体部分存储的服务器上;
DELETE:请求删除服务器上指定文档;
TRACE: 追踪请求到达服务器中间经过的代理服务器;
OPTIONS: 请求服务器返回对指定资源支持使用的请求方法;
status(状态吗):
1xx 100-101 信息提示
2xx 200-206 成功
3xx 300-305 重定向
4xx 400-415 错误类信息,客户端错误
5xx 500-505 服务器错误
常用的状态码:
200 OK
301 请求的URL指向的资源被删除,但在响应报文中通过首部Location指明了资源所在位置,永久重定向
302 在响应报文中通过Location指明现在所处临时新位置
304 客户端发出条件式请求,但服务器上的资源未曾发生改变
401 需要输入账号和密码认证方能访问资源
403 请求被禁止;
404 服务器无法找到客户端请求的资源
500 服务器内部错误
502 代理服务器从后端收到了一条伪响应;
headers:
格式:
Name: Value
Connection:keep-alive
Date:Wed, 23 Nov 2016 15:59:29 GMT
ETag:"56cd7e5c-1186"
Last-Modified:Wed, 24 Feb 2016 09:56:44 GMT
Server:nginx
首部的分类:
通用首部
请求首部
响应首部
实体首部
扩展首部
通用首部:
Date:报文的创建时间
Connection:连接状态,如keep-alive, close
Via:显示报文经过的中间节点
Cache-Control:控制缓存
请求首部:
Accept:通过服务器自己可接受的媒体类型;
Accept-Charset:
Accept-Encoding:接受编码格式。如gzip
Accept-Language:接受的语言
Host:请求的服务器名称和端口号
Referer:包含当前正在请求的资源的上一级资源
User-Agent: 客户端代理
安全请求首部:
Authorization:向服务器发送认证信息
Cookie:客户端向服务器发送cookie
Cookie2:
代理请求首部:
Proxy-Authorizaton:向代理认证
响应首部:
信息:
Age:响应持续时长
server服务器程序软件名称和版本
协商首部:资源有多种方法表示使用
Accept-Ranges:服务器可接受的请求范围类型
Vary:服务器查看的其他的首部列表
安全响应首部:
Set-Cookie:向客户端设置cookie
Set-Cookie2:
www-Authenticate:来自服务器的客户端的质询认证
实体首部:
Allow:列出对此实体可使用的请求方法
Location:告诉客户端真正的实体位于何处
Content-
HTTP消息头由请求头、响应头、普通头、实体头四部分。
请求头:出现在HTTP请求中,请求报头允许客户端向服务器发送客户端的相关信息
1.HOST:被请求的服务器地址极其端口号。
2.User-Agent: 向服务器发送客户端浏览器的相关信息
3.Referer:当前访问URL的上一个URL,用于记录来自哪个URL
4.Cookie:标示请求者的身份
5.Range:请求实体的部分内容
6.x-forward-for:XXF头 客户端的IP地址
7.Accept:表示客户端希望接收哪些类型的信息
8.Accept-Charset:表示客户端希望接受的文件编码格式
响应头:根据客户端发送的请求头返回给客户端的HTTP消息头。
1.Server:服务器类型及版本信息
2.Set-Cookie:向客户端设置Cookie
3.Last-Modified:资源最后修改的时间
4.Location:重定向地址
5.Refresh:定时刷新浏览器
实体头:实体头定义了关于实体正文和请求资源的元信息(信息类型、长度、压缩方法、最后修改时间等)
1.Content-Type:表明请求的类型
2.Content-Encoding:表明使用的压缩方法。
3.Content-Length:表明正文长度
4.Last-Modified:表明资源的最后修改时间
原文:http://www.cnblogs.com/wenliangxiaoya/p/6365009.html