| http | https |
名称 | 超文本传输协议 | 超文本传输安全协议 |
默认端口 | 80 | 443 |
发送方式 | 明文发送 | 加密传输 |
安全性 | 安全性相对差:容易被监听、被伪装、被篡改 | 安全性相对较好:防止监听、防止伪装、防止篡改 |
响应速度 | 响应快(3个包) | 响应慢(12个包)tcp 3个 ssl 9个 |
成本 | 较低 | 成本较高,证书需要购买 |
链接缓存 | 相对高效 | 相对不高,会增加数据开销和功耗 |
类型 | 描述说明 |
(1)http1.0 | 引入时间: http1.0 是1996年引入的。 主要内容: • http1.0 仅提供了最基本的认证,用户名和密码都未加密; • http1.0 仅支持短连接,每次发送数据都会经过 TCP 三次握手和四次挥手,效率低; • http1.0 只使用了header的 if-modified-Since 和 Expires 作为缓存失效的标准; • http1.0 不支持端点续传,每次发送数据都会发送全部数据; • http1.0 认为每台计算机都只能绑定一个IP地址,不支持虚拟网络。 |
(2)http1.1 | 引入时间:http1.1是1999年引入的。 主要内容: • http1.1 使用了摘要算法 (MD5/SHA-1) 进行身份验证; • http1.1 默认使用长连接,即只需要建立一次连接,可以传输多次数据,传输完成之后,只需要一次切断即可。通过请求头的 keep-alive 设置 ( connection: keep-alive/close ) ; • http1.1 支持断点续传,通过请求头的 Range 实现此功能; • http1.1 使用了虚拟网络,在一台物理服务器上可以存在多个虚拟主机,共享同一个 IP 地址。 |
(3)http2.0 | 引入时间:2015年建立。 主要内容: • 头部压缩:利用HPACK算法进行压缩; |