zl程序教程

您现在的位置是:首页 >  前端

当前栏目

5分钟了解http1.0/1.1/2.0/3.0/https区别

HTTPS 了解 区别 分钟 2.0 3.0 1.1
2023-06-13 09:13:55 时间

HTTP1.0

功能:

1.请求响应支持HTTP头,响应含状态行,增加状态码

2.支持HEAD,POST方法

关于http的方法: 1.GET方法:获取资源 2.POST方法:传输实体主题 3.PUT方法:传输文件 4.HEAD方法:获取报文首部,与GET类似,不过GET返回报文,而HEAD返回报文元信息 5.DELETE方法:删除文件,与PUT相反 6.OPTIONS方法:询问支持的方法

3.支持HTML文件以外的其他类型

缺点: 客户端必须为每一个待请求的对象建立并维护一个新的连接,也就是说,当页面存在多个对象,http1.0建立非持久连接,使得一个页面下载十分缓慢,增加了网络传输负担

http1.0的非持久连接指:当客户端发送一个Request请求时,服务器会给出回应Responsd后,http结束,连接关闭

HTTP1.1

新增:

1.在http1.0的基础上引用了更多缓存控制策略 2.在引入范围内设置,优化了带宽 3.在错误的通知中新增了错误状态响应码 4.增加了HOST头处理,可传递主机名(hostname)

缺点:

传输内容时明文,不安全

HTTPS

指HTTP运行在安全套接字协议(SSL)或传输层安全协议(TLS)之上,在TCP中传输的内容都要加密 https和http的区别:

1.https传输的是经过SSL层加密的数据,而http传输的明文,安全性有差异 2.http因为传输的是明文,所以浏览器接收速度快,而https传输加密数据,浏览器需要解密传输速率慢,而且耗电量会增加10%~20% 3.https因为需要加密,服务器需要给浏览器证书,而安全性越高的证书需要的费用越昂贵

HTTP2.0(SPDY)

Http1.x的问题:

在Http1.x中,浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制,而超过限制数目的请求会被阻塞。

针对Http1.x的问题,Http2.0通过多路复用:

1.在Http1.x中浏览器限制了同一个域名下的请求数量,当在请求很多资源时,剩余的资源需要等待当前的六个请求完成后才能发起请求。 2.Http2中引用了多路复用的技术,这个技术可以只通过一个TCP连接就可以传输所有的请求数据。多路复用可以绕过浏览器限制同一个域名下的请求数量问题,进而提高了网页的性能

Http2.0通过多路复用,同时将多个资源通过同一个TCP链接发送到客户端。相比于Http1.0而言,减少了建立多个链接握手的时间,并且能实现并发发送资源。所以就减少了Http1.x的突发性与短时性。

Http2.x的二进制分帧

SPDY是指在Http之前坐了一层会话层,也就是二进制分帧数据层,来实现优先次序,最小化及消除不必要的网络延迟,来更有效利用底层TCP连接

应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层(Binary Framing)

二进制分帧层:HTTP 2.0 会将所有传输的信息分割为更小的消息和帧,并对它们采用二进制格式的编码 ,其中HTTP1.x的首部信息会被封装到Headers帧,而我们的request body则封装到Data帧里面。

优点:

单连接多资源的方式,减少服务端的链接压力,内存占用更少,连接吞吐量更大 由于 TCP 连接的减少而使网络拥塞状况得以改善,同时慢启动时间的减少,使拥塞和丢包恢复速度变快

HTTP3.0(QUIC)

对于在Http2.0中始终在使用的时TCP协议,所以无论如何都还是会有TCP传输层的对头阻塞问题,而Http3.0是基于UDP协议的

关于TCP协议与UDP协议的区别 1.TCP是面向连接的,UDP是无连接的,也就是说是不需要提前建立连接的 2.TCP提供可靠的服务,通过TCP连接的服务,无差错,不丢失,不重复,并且 按照一定的顺序到达,UDP是尽自己最大的努力交付,不保证可靠性交付。所以TCP适合大数据量交换 3.TCP是面向字节流,UDP是面向报文,并且,网络出现拥塞,不会使得发送效率降低。 4.TCP只能是1对1的,而UDP可以1对1,也可以1对多

Http3.0的特征:

1.线头阻塞问题更加彻底

基于TCP的Http2,尽管在逻辑上相互独立,不会相互影响,但在实际中,数据是 一帧一帧发送和接收,但是一旦某一个流的数据有丢包,则同样会阻塞在它之后的传输流数据传输。而基于UDP的Http3.0就没有这个问题,能够让不同的流之间实现真正的独立。

2.网络切换时连接保持

在当前移动端的应用环境,用户网络会经常切换,基于TCP的协议,由于切换网络之后,IP会改变,所以说之前建立的连接会断开。

而基于UDP的Http3.0,则可以内建与TCP中不同的连接标识方法,从而在网络完成切换后,恢复之前的服务器连接

作者:无敌的小灰灰 原文链接:https://blog.csdn.net/yzp666z/article/details/116713008

格式整理:IT运维技术圈