## HTTP、HTTP2和HTTPS的区别 #### HTTP特性 - 无状态 即当客户端访问一次服务器再次访问的时候,服务器是无法知道这个客户端是否已经访问过 - 持久链接 HTTP1.1使用持久连接keepalive,所谓持久连接,就是服务器在发送响应之后仍然在一段时间内保持这条连接,允许在同一连接中存在多次数据请求和响应 - 支持客户/服务器模式 #### 缺陷 - 耗时 每次传输数据都要建立连接 - 不安全 HTTP是明文传输,所有东西都可见 - header内容过大 - keepalive压力过大 当传输的文件的数据特别大的时候,会对服务器造成大量性能压力 #### HTTP2 特性 - 二进制帧 HTTP1的解析基于文本,HTTP2会将传输的信息分割为更小的消息和帧,然后采用二进制的格式进行编码 - 多路复用 所有的请求都是通过一个TCP链接并发完成。 - 流量控制和流的优先级 - 服务器端推送 服务器端的推送,就是服务器可以对一个客户端请求发送多个响应。 - 首部压缩(对应HTTP1 heade内容过大) #### HTTPS特性 - HTTPS协议需要申请证书 - HTTPS是使用具有安全性的ssl加密传输协议 - HTTPS端口使用443 - HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议
HTTP、HTTP2和HTTPS的区别
HTTP特性
无状态
即当客户端访问一次服务器再次访问的时候,服务器是无法知道这个客户端是否已经访问过
持久链接
HTTP1.1使用持久连接keepalive,所谓持久连接,就是服务器在发送响应之后仍然在一段时间内保持这条连接,允许在同一连接中存在多次数据请求和响应
支持客户/服务器模式
缺陷
耗时
每次传输数据都要建立连接
不安全
HTTP是明文传输,所有东西都可见
header内容过大
keepalive压力过大
当传输的文件的数据特别大的时候,会对服务器造成大量性能压力
HTTP2 特性
二进制帧
HTTP1的解析基于文本,HTTP2会将传输的信息分割为更小的消息和帧,然后采用二进制的格式进行编码
多路复用
所有的请求都是通过一个TCP链接并发完成。
流量控制和流的优先级
服务器端推送
服务器端的推送,就是服务器可以对一个客户端请求发送多个响应。
首部压缩(对应HTTP1 heade内容过大)
HTTPS特性