8.HTTP/1.0和HTTP/1.1的区别
- 第一个是 长期毗连:HTTP/1.1 默认支持长期毗连,答应在一个TCP毗连上发送多个 HTTP哀求和响应,从而镌汰了因毗连的创建和关闭所产生的开销;而 HTTP/1.0 默认 短毗连,每次哀求都必要创建一个TCP毗连。它也可以通过在头部中包含 Connection:keep-alive 值来实现长期毗连
- 第二个是 管道化:HTTP/1.1 支持管道化,但并不是默认开启的。它可以让客户端 在第一个哀求到达之前 就可以发送多个哀求,从而镌汰等待时间,提高服从。而 HTTP/1.0 不支持管道化
- 第三个是 缓存控制:HTTP/1.0 主要使用 If-Modified-Since 大概Expires 字段 来作为缓存判断的标准,而 HTTP/1.1 则引入了更多的缓存控制计谋,好比 ETag 和If-None-Matech 等更多可选择的缓存头 来实现缓存控制
- 第四个是 错误处理:HTTP/1.1 增长了一些新的HTTP状态码,好比 100 Continue,用于 增强错误处理和哀求的 中间响应
- 第五个是 Host 头:HTTP/1.1 新引入了 Host头,可以让客户端指定哀求的目标主机名,从而可能让同一台服务器 托管 多个域名
- 第六个是 带宽优化:HTTP/1.0 会存在带宽浪费的现象,当客户端只是哀求 资源的某一部门 时,服务器却将 整个资源 都发送过来。而且不支持 断点续传 功能;而 HTTP/1.1 则在哀求头部中引入了 range 头域,它答应 只哀求资源的某个部门,返回码是 206
9.HTTP/2.0与HTTP/1.1的区别?
- 第一个是 二进制协议:HTTP/1.1 使用文本格式 传输数据,而 HTTP/2.0 采用二进制格式,从而让剖析更高效,镌汰剖析时间
- 第二个是 多路复用:HTTP/2.0 支持多路复用,也就是 在单个TCP多接上 并行 发送 多个哀求和响应, 从而解决了 HTTP/1.1 中的 队头阻塞 的问题
- 第三个是 头部压缩:HTTP/2.0 引入了 HPACK 压缩算法,对哀求和响应的头部信息 进行压缩,镌汰了头部冗余信息的传播,提高了传输服从
- 第四个是 服务器推送:HTTP/2.0 答应 服务器 自动推送资源给 客户端,而且并不必要 客户端 给出明白的哀求,从而可以镌汰 页面加载 的时间
- 第五个是 优先级和依赖关系:HTTP/2.0 答应 客户端 为哀求设置优先级 和 哀求之间的 依赖关系,让 资源加载 更有序
10.HTTP/3.0有相识过吗?
HTTP3.0 是 HTTP 协议的最新版本,它基于 QUIC 协议,使用 UDP 来传输数据,具有以下特点:
- 第一个是 彻底解决头部阻塞问题:HTTP/2.0,尽管从逻辑上不同的流之间相互独立,不会相互影响,但在实际传输时数据还是要一帧一帧的发送和吸收,一旦某一个流的数据有丢包,则同样会阻塞在它之后传输的流数据传输。而基于UDP的QUIC协议则可以更为彻底地解决这样的问题,让不同的流之间真正的实现相互独立传输,互不依赖。
- 第二个是 毗连创建时 零耗时:QUIC 在初次毗连创建时,斲丧的往返时延为0,从而镌汰毗连延迟,加快页面加载速率
- 第三个是 毗连迁徙:QUIC 答应在 IP地址发生变革时 保持毗连状态,从而在网络切换时(如从 Wi-Fi 到 移动网络),镌汰 毗连的中断时间,提高用户体验
- 第四个是 向前纠错机制:每个数据包 除了它本身的内容之外,还包括了一部门 其他数据包的数据。所以当出现少量丢包时,可以通过其他包的 冗余数据进行组装 来替代 重传。固然这样牺牲了每个数据包发送数据的上限,但是 镌汰了因 丢包导致的 数据重传
- 第五个是 安全性:HTTP3.0默认使用 TLS 加密,确保了 数据传输 的 安全性
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |