HTTP 协议

2017-09-09  本文已影响0人  wangfp

HTTP协议是TCP/IP协议的一部分




method 内容
GET 获取资源
POST 传输数据
PUT 传输文件(不太使用)
HEAD 获取报文首部
DELETE 删除文件(不太使用)
OPTIONS 询问(服务器)支持的方法
TRACE 查询发出去的请求如何被加工处理/篡改(危险,不常使用)
CONNET 要求用隧道协议连接代理(主要使用SSL/TLS协议把内容机密后经网络隧道传输)
LINK 建立和资源之间的联系
UNLINE 断开连接关系

解决HTTP的非持久连接


首部之间的换行符是\r\n;首部与主体之间的换行符是\r\n\r\n(即之间有一个空行)

Request Response
报文首部(请求行等) 报文首部(状态行等)
空行(CR+LF) 空行(CR+LF)
报文主体 报文主体

状态码

状态码 类别 原因
1XX Information(信息性状态码) 接收到的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error (客户端错误状态码) 服务器无法处理请求
5XX Server Error (服务器错误状态码) 服务器处理请求出错

具体状态码

状态码 名称 解释
200 OK
204 No Content
206 Partial Content
301 Moved Permanently 请求的资源已被分配新的URI(需要更新标签)
302 Found 临时性分配到新的URI
303 See Other 应当采用GET方法获取资源
304 Not Modified 为满足请求条件,返回中不包含任何相应的主体部分
307 Temporary Redirect
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error 服务器出现问题
503 Service Unavailable 服务器忙


HTTP首部字段

首部字段
通用首部字段 请求报文和响应报文都会使用的首部
请求首部字段
响应首部字段
实体首部字段

通用首部字段

首部字段 解释
Cache-Control 操作缓存工作机制
Connection 控制不再转发给代理的首部字段
管理持久连接
Date 表明创建HTTP报文的日期和时间
Trailer 说明在报文主体后记录了哪些首部字段
Transfer-Encoding 规定了传输报文主体时采用的编码方式
Upgrade 检测是否可以使用更高版本的协议进行通信
Via 追踪传输路径(常和TRACE方法一起使用)
Warning

请求首部字段

首部字段 解释
Accept 通知服务器用户代理(如浏览器)能够处理的媒体类型及相对优先级
Accept-Charset 通知服务器用户代理支持的字符集类型及相对优先级
Accept-Encoding 通知服务器用户代理支持的内容编码及相对优先级
Accept-Language 通知服务器用户代理能够处理的自然语言集及相对优先级
Authorization 告知服务器用户代理的认证信息(证书值)
Expect 告知服务器期望出现的某种特定行为
From 告知服务器用户代理的用户电子邮箱
Host 区分运行在同一服务器(相同IP)下的不同虚拟主机
If-xxx 服务器只执行判定条件为真的请求
Max-Forwards 指定可经过的服务器的最大数目
Range 告知服务器请求资源的指定范围
Referer 告知服务器请求的原始资源的URI(处于安全考虑,一般不用)
User-Agent 将创建请求的浏览器和用户代理名称等信息传达给服务器

响应首部字段

首部字段 解释
Accept-Ranges 告知客户端是否能处理范围请求
Age 告知客户端源服务器多久前创建了响应
ETag
Location 配合3XX(Redirection)的响应,提供重定向的URI
Retry-After 告知客户端应该多久后再次发送请求
Server
Vary 对缓存进行控制

实体首部字段

首部字段 解释
Allow 同时客户端能够支持Request-URI指定资源的所有HTTP method
Content-Encoding 告知客户端服务器对实体的主体部分选用的内容编码方式
Content-Language 告知客户端实体的主题使用的自然语言
Content-Length 实体主体的大小(单位是字节)
Content-Loacation 报文主体返回资源的对应URI(同首部字段Location不一样)
Content-Range
Content-Type 实体主体内对象的媒体类型
Expires 告知客户端资源的实效日期
Last-Modified 资源最后一次修改时间

Cookie服务的首部字段

首部字段名 说明 首部类型
Set-Cookie 开始状态管理所使用的Cookie信息 响应首部字段
Cookie 服务器接收到的Cookie信息 请求首部字段

HTTP协议的不足

HTTPS=HTTP+加密+认证+完整性保护
SSL是当今世界上应用最为广发的网络安全技术


以上内容皆出自《图解HTTP》

上一篇 下一篇

猜你喜欢

热点阅读