关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别

这篇具有很好参考价值的文章主要介绍了关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTP与HTTPS的区别

一、HTTP的简介

       HTTP(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵循这个标准。设计初衷是为了提供一种发布和接收HTML页面的方法。

二、HTTPS的简介

       HTTPS(超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用 SSL/TLS 来加密数据包。HTTPS开发的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

其中,

SSL(安全套接层)是基于HTTPS下的一个协议加密层,它是一项标准技术,可确保互联网连接安全,保护两个系统发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。两个系统可指服务器和客户端,或两个服务器之间。该协议由两层组成:SSL记录协议和SSL握手协议。

TLS(安全传输层协议)是更为安全的升级版SSL,用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。TLS的最大优势在于:TLS是独立于应用协议。高层协议可以透明地分布在TLS协议上面。

三、HTTP与HTTPS的区别

  • HTTP明文传输,数据都是未加密的,安全性较差。HTTPS(SSL+HTTP)数据传输过程是加密的,安全性较好。(HTTPS=HTTP+加密+认证+完整性保护)
  • HTTPS需要CA(数字证书认证机构)申请证书,HTTP不需要。
  • HTTP页面响应速度比HTTPS快,主要是因为HTTP使用TCP三次握手建立连接,客户端和服务器需要交换3个包,而HTTPS除了TCP的三个包,还要加上SSL握手需要的9个包,所以一共是12个包。
  • HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样。HTTP使用80端口,HTTPS默认使用443端口。
  • HTTPS其实就是建构在SSL/TLS之上的HTTP协议,所以,HTTPS比HTTP要更耗费服务器。

HTTPS的工作原理

关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别,http,https,网络协议

1.客户端发起HTTPS请求

        用户在浏览器输入一个 https 网址,然后俩街道server的443端口。

2.服务端的配置

       采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl 就是个不错的选择,有 1 年的免费服务)。

3.传送证书

       这个证书其实就是公钥,只是包含了很多信息,如如证书的颁发机构,过期时间等。

4.客户端解析证书

       这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。

       如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5、传送加密信息

       这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6、服务端解密信息

       服务端用私钥解密后,得到了客户端传过来的随机值(对称秘钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7、传输加密后的信息

       这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8、客户端解密信息

       客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

HTTP1.0和HTTP1.1和HTTP2.0的区别

一、HTTP1.0和HTTP1.1的区别

1.长链接

        HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。

        HTTP是基于TCP/IP 协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新创建连接的话,对性能有一定影响、因此最好能维持一个长连接,可以用长连接来发送多个请求。

2.节约带宽

        HTTP1.0中存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送了过来,并且不支持断点续传(利用HTTP消息头,使用分块传输编码,将实体主题分块传输)。

        HTTP1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,客户端接收到100 ,才开始把请求body发送到服务器;如果返回401,客户端就可以不用发送请求body,节约了带宽。

3.HOST域

       在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名,HTTP1.0没有host域。在一台物理服务器上可以存在多个虚拟主机,并且它们都共享一个IP地址。HTTP1.1的请求消息和响应消息都支持host域,且请求消息中如果没有host域会报告一个错误。

4.缓存控制

        HTTP1.0中主要使用header里的IF-Modified-Since(条件式请求首部,服务器只在所请求的资源在给定的日期时间之后对内容进行过修改的情况下才会将资源返回,状态码为 200 。),Expire(HTTP/1.0控制网页缓存的字段,其值为服务器返回该请求结果缓存的到期时间,即再次发起该请求时,如果客户端的时间小于Expires的值时,直接使用缓存结果。)是来作为判断标准。

        HTTP1.1则引入了更多的缓存控制策略和请求响应头。

5.错误通知的管理

         在HTTP1.1中新增了24个错误状态响应码。

二、HTTP1.1和HTTP2.0的区别

1.头部压缩

        HTTP1.1中的请求头携带大量信息,而且每次都要重复发送,即使是同样的内容,每次请求都需要附带,这会造成性能的损耗。HTTP2.0进行了优化,引入了头信息压缩机制。多个请求中,如果请求头相同,则后续请求只需要发送差异的部分,重复的部分无需再发送。

2.二进制帧

       HTTP1.1的报文为纯文本格式,而HTTP2.0的报文全面采用二进制格式,并将原始的报文拆分为头信息帧和数据帧。采用二进制格式有利于提升数据传输效率。

3.多路复用

       HTTP2.0使用了多路复用的技术,做到同一个连接并处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。当然HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。

4.服务端推送

       在HTTP1.1中,只能客户端发起请求,服务器对请求进行响应。而在HTTP2.0中,服务器可以主动给客户端推送必要的资源,以减少请求延迟时间。

HTTP3相比于HTTP2性能上的改进

1.无队头阻塞

        HTTP2通过多路复用解决了HTTP1.1的队头阻塞问题,但其只是解决了HTTP这一层面的队头阻塞问题,底层仍然采用TCP连接,HTTP2并没有解决TCP的队头阻塞问题。TCP是可靠的,面向字节流的协议。HTTP2的多个请求虽然可以跑在同一个TCP连接中,但如果出现丢包现象,TCP就需要进行重传,这可能就会导致整个TCP连接上的所有流阻塞,直到丢的包重传成功,这就是TCP的丢头阻塞问题。

关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别,http,https,网络协议

        HTTP3底层不再使用TCP,而是采用UDP!而UDP是无连接的多个流互相独立,之间不再有依赖,因而即使某个流发生了丢包,只会对该流产生影响,并不会使得其他流阻塞。

关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别,http,https,网络协议

HTTP3在应用层之间重新实现了可靠性机制。也就是说,HTTP3将原先TCP协议提供的部分功能上移至QUIC(基于 UDP 的传输层协议),而且进行了改进。

2.优化重传机制

HTTP2使用的是TCP,HTTP3使用的是QUIC。

        TCP 采用序号+确认号+超时重传机制来保证消息的可靠性,即如果某条消息超过一定时间还没有得到确认,则重新发送此消息。由于网络拥堵情况不断变化,因而消息的超时事件并不是固定的,而是通过采样消息的往返时间不断调整的,但TCP超时采样存在不准确的问题。

        QUIC 定义了一个递增的序列号,每个序列号的包只发送一次,及时重传相同的包,其序列号也不一样。

3.连接迁移

        一条TCP连接是由四元组标识的,分别是源IP、源端口、目的IP、目的端口。一旦其中一个元素发生了变化,就需要断开重连。

       QUIC采用一个64位的随机数作为ID来标识,通过此连接ID标记通信的两端,之后即使网络发生变化,IP或端口变了,但只要ID不变,则无需重连,只需要复用原先连接即可,时延低,减少了用户的卡顿感,只实现连接迁移。

总结

关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别,http,https,网络协议

本篇文章简要阐述了http与http的区别,https的工作原理,http各种更新迭代版本之间的区别,通过查阅了大量资料,整理出这一篇,在帮助自己总结复习的同时,也能够让其他人参考学习。如果内容有什么问题和错误,可以私聊我提出来,感谢!

 更多详细的SSL、TLS的介绍与区别,请点击该条链接https://blog.csdn.net/enweitech/article/details/81781405

HTTPS原理部分参考了该链接的内容https://www.runoob.com/w3cnote/http-vs-https.html文章来源地址https://www.toymoban.com/news/detail-790319.html

到了这里,关于关于HTTP、HTTPS、HTTP1.1、HTTP2.0、HTTP3.0的介绍及区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP1.0和HTTP1.1和HTTP2.0的主要区别

    先上结论,面试常问,同时也是我们学习HTTP协议所必须了解的一些新机制,我们往往学习的都是HTTP1.0的一些基础,1.1 2.0也是企业中常用的东西,也优化了很多nb的属性,下面我们简单来了解下! HTTP 是基于TCP/IP协议的,每一次 建立或者断开连接 都需要三次握手四次挥手的 开销

    2023年04月17日
    浏览(36)
  • 关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解

    HTTP的由来 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果。 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传

    2024年04月12日
    浏览(32)
  • HTTP1.0、HTTP1.1、HTTP2.0 协议的特点

    HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间传输数据的协议。HTTP的版本有很多,其中比较常见的有 HTTP 1.0 、 HTTP 1.1 和 HTTP 2.0 ,它们有各自的特点。 HTTP 1.0 的特点: 1. 每个请求/响应需要建立新的TCP连接,并在完成后关闭连接,导致较高的延迟。 2. 每

    2024年02月05日
    浏览(32)
  • http1.1与http2.0

    通俗来讲,http就是计算机通过网络进行通信的规则,是一个基于 请求与响应 , 无状态的 , 应用层协议 。常用于 TCP/IP协议 传输数据。目前任何终端之间任何一种通信方式都必须按Http协议进行,否则无法连接。tcp(三次握手,四次挥手)。 请求与响应 :客户端请求、服务端

    2023年04月19日
    浏览(55)
  • HTTP进化史:从HTTP1的简单到HTTP3的强大

    📈「作者简介」:前端开发工程师 | 蓝桥云课签约作者 | 技术日更博主 | 已过四六级 📚「个人主页」:阿珊和她的猫 🕐「简历必备」前后端实战项目(推荐:⭐️⭐️⭐️⭐️⭐️) Vue.js 和 Egg.js 开发企业级健康管理项目 带你从入门到实战全面掌握 uni-app 请求-响应模型

    2024年02月16日
    浏览(23)
  • 谈谈Http2-为什么nginx在http2下的表现远弱于http1.1

    本篇文章的灵感来源于不久前的一次压测,接口的TPS在100并发下不足500,且延时超过500MS,这个接口的性能远远低于我们的预期。 对应的接口是一个极为简单的接口,只做了两件事情: 从数据库中读取一条数据,做了一些简单的处理 进行一次HTTP调用 那么话不多说,开始从内

    2024年01月24日
    浏览(25)
  • HTTP 与 HTTPS-HTTP 与 HTTPS 有哪些区别?

    资料来源 : 小林coding 小林官方网站  : 小林coding (xiaolincoding.com) HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。 HTTP 连接建立相对简单, TCP 三次握手之

    2024年02月21日
    浏览(30)
  • 关于Http和Https

    HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)是用于在计算机之间传输数据的协议。它们是互联网上常见的两种通信协议,用于浏览器和服务器之间的数据传输。 HTTP(超文本传输协议) : HTTP是一种用于传输超文本数据(例如HTML网页、图片、视频等)的协议。 它是

    2024年02月19日
    浏览(21)
  • HTTP和HTTPS的区别、 HTTPS运行原理

    一种用于web浏览器和web服务器基于数据传递的协议 基于TCP/IP协议的应用层传送,用于客户端和服务器之间的数据交互 是 HTTP 的安全版,基于SSL或TLS协议,对客户端和服务器之间加密和身份验证,使得数据之间传递具有了安全性 区别是什么? 1. https有加密,身份验证,公钥,

    2024年02月09日
    浏览(29)
  • http和https区别

    https和http主要区别如下: http是一个简单的请求-响应协议,特点是无状态和明文传输。如果网站采用http协议,因为该协议不加密,极容易遭遇中间人攻击,用户的个人隐私和一些敏感数据很容易泄露。 https,实际上是http加上SSL协议组合形成的一种加密传输协议。https则因为

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包