2019-06-10 认识HTTP

HTTP协议


首部行介绍

通用首部

首部字段名 说明
Cache 控制缓存行为
Date 报文的创建时间
Connection 连接状态(keep-alive长连接,close短链接)
Via 显示报文经过的中间节点(代理、网关)
Cache-Control 控制缓存,像缓存时长
MIME-Version 发送端的MIME版本

请求首部

首部字段名 说明
Accept 用户代理可接受的媒体类型
Accept-Charset 客户端可接受的字符集
Accept-Encoding 客户端可接受的编码风格,例如"gzip"
Accept-Language 客户端可接受的语言
Client-IP 请求客户端的IP
Host 请求的服务器名称和端口号
Referer 跳转到当前URL的上一个URL
User-Agent 客户端代理,浏览器版本信息

条件式请求首部:

首部字段名 说明
Expect 允许客户端列出某请求所要求的服务器行为
if-Unmodified-Since 自从指定时间后,请求的资源是否发生修改
If-Unmodified-Since 自从指定时间后,请求的资源是否没有发生修改
If-None-Match 本地缓存中存储的文档的ETag标签是否与服务器文档的Etag不匹配
If-Match 本地缓存中存储的文档的ETag标签是否与服务器文档的Etag匹配

安全请求首部:

首部字段名 说明
Authorization 向服务器发送认证信息,如账号和密码
Cookie 客户端向服务器发送cookie
Cookie2 用于说明请求端支持的cookie版本
Proxy-Authorization 向代理服务器认证

响应首部:

首部字段名 说明
Age 从最初创建开始,响应持续时长
Server 服务器程序软件名称和版本
Accept-Ranges 服务器可接受的请求范围类型
Vary 服务器查看的其它首部列表

安全响应首部

首部字段名 说明
Set-Cookie 向客户端设置cookie
Set-Cookie2 向客户端设置cookie
WWW-Authenticate 来自服务器对客户端的质询列表

实体首部

首部字段名 说明
Allow 列出对此资源实体可使用的请求方法
Location 告诉客户端真正的实体位于何处
Content-Encoding 对主体执行的编码
Content-Language 理解主体时最适合的语言
Content-Length 主体的长度
Content-Location 实体真正所处位置
Content-Type 主体的对象类型,如text

缓存

首部字段名 说明
ETag 实体的扩展标签
Expires 实体的过期时间
Last-Modified 最后一次修改的时间

状态码介绍

http状态码:表示客户端http请求后,标记服务器端处理转tai状态
|状态码|类别|原因短语|
|:---:|:----:|:--:|
|1XX|informational|接受请求正在处理|
|2XX|Success|请求正常处理完毕|
|3XX|Redirection(重定向)|需要进行附加操作已完成请求|
|4XX|Client(客户端错误状态码)|服务器无法处理请求|
|5XX|Server Error(服务器错误状态码)|服务器处理请求出错|

2xx

200 OK
表示从客户端发来的请求在服务器端被正常处理

204 No Content
表示服务器接收的请求以成功处理,但没有资源可返回,即:响应报文中不含实体的主体部分

206 Partial Content
表示客户端进行了范围请求且服务器成功执行了这部分的GET请求,响应报文中包含由Content_Range指定范围的实体内容

3xx

301 Moved Permanently
永久性重定向:表示请求的资源已被分配了新的URI,以后应使用资源现在的URI,如果已经保存了书签,这时候应该按照Location首部提示的URI重新保存

302 Found
临时性重定向:表示请求的资源已被分配到了新的URI,希望(本次)能使用新的URI访问

303 See Other
表示请求对应的资源存在另一个URI,应该使用GET方法定向获取请求的资源

PS:当301、302、303响应状态码返回,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求自动再次发送

301、302标准禁止将POST改为GET,但实际中都会允许这么做~~~GG

304 Not Modified
表示客户端发送得附带条件的请求时,服务器运行请求访问,但未满足条件的情况,304返回时,不包含任何响应的主体部分

307 Temporary Redirect
临时重定向:禁止将POST转换为GET,该状态码会严格遵守浏览器标准

4xx

404 Not Found
服务器上无法找到请求的资源

5XX

500 Internal Server Error
服务器端执行请求时发生错误

503 Server Unavailable
服务器暂时处于超负载或者正在停机维护,现在无法处理请求

  • 首部行参考博客:[ http://www.voidcn.com/article/p-hfkszynt-boa.html]
  • 报文响应状态码参考博客:[https://www.cnblogs.com/imyalost/p/5688169.html]

你可能感兴趣的:(2019-06-10 认识HTTP)