超文本传输协议(HTTP,HyperText Transfer Protocol)
- HTTP协议本身不对请求和响应之间的通信状态进行保存(无状态)
GET 获取资源 POST 传输实体主体 PUT 传输文件
HEAD 获得报文首部 DELETE 删除文件 OPTIONS 询问支持的方法
TRACE 追踪路径 CONNECT 要求用隧道协议连接代理
HTTP持久连接
cookie技术通过在请求和响应报文中写入cookie信息来控制客户端的状态
报文 是HTTP通信中的基本单位,由8位组字节流组成
实体 作为请求/响应的有效载荷数据被传输(分实体首部和实体主体)
分块传输编码 分割数据,多次传输
内容协商 客户端和服务器就响应的资源进行交涉,然后提供给客户端最合适的版本
包含:服务器驱动协商(由服务器端进行内容协商) 客户端驱动协商(由客户进行内容协商)
透明协商(结合体)
Tables | 类别 | 原因短语 |
---|---|---|
1xx | Informational(信息性状态码) | 接收的请求正在处理 |
2xx | Success(成功状态码) | 请求正常处理完毕 |
3xx | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4xx | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5xx | Server Error(服务器错误状态码) | 服务器处理请求错误 |
具体状态码信息
2xx | 类别 | 原因短语 |
---|---|---|
200 | OK | 请求被正常处理了 |
204 | No Contant | 请求被正常处理了,但无资源可返回 |
206 | Partial Content | 请求被正常处理了,范围请求 |
3xx | 类别 | 原因短语 |
---|---|---|
3xx | 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求 | |
301 | Moved Permanently | 永久性重定向,表示请求的资源已被分配新的URI,以后应使用资源现在所指的URI |
302 | Found | 临时性重定向,同上(本次) 能使用新的URI访问 |
304 | Not Modified | 资源已找到,但未符合条件请求 |
307 | Temporary Redirect | 临时重定向 |
4xx | 类别 | 原因短语 |
---|---|---|
4xx | 客户端错误 | 响应结果表明客户端是发生错误的原因所在 |
400 | Bad Request | 表示请求报文中存在语法错误 |
401 | Unauthorized | 表示请求报文中需要通过HTTP认证的认证信息 |
403 | Forbidden | 表示请求报文中对请求资源的访问被服务器拒绝了 |
404 | Not Found | 表示请求报文中服务器上无法找到请求的资源 |
5xx | 类别 | 原因短语 |
---|---|---|
500 | Internal Server Error | 表明服务器段执行请求发生了错误 |
503 | Service Unavailable | 表明服务器段执行请求发生了错误,暂时处于超负载/正在进行停机维护 |
域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站
4中HTTP首部字段类型
- 通用首部字段:请求报文和响应报文都做使用的首部
- 请求首部字段:请求报文使用的首部字段
- 响应首部字段:响应报文使用的首部字段
- 实体首部字段:请求报文和响应报文都做使用的首部
HTTP的缺点
- 通信使用明文,安全欠妥
- 不验证通信方的身份
- 无法证明报文的完整性
解决方案
- HTTP+SSL(安全套接层)
- HTTP+TLS(安全层传输协议)
- HTTP+加密+认证+完整性保护=HTTPS