简述 http 和 https 的相关知识

1、http

​ http 的中文全称为 超文本传输协议,是一个基于TCP/IP 协议的应用层协议,用于从服务器传输超文本到本地浏览器,使浏览器更加高效。该协议的常用端口为:80。而且 http的连接是无状态的。http传输的数据是明文传输,安全性较低。

2、https

​ https 是以安全为目标的协议,简单来说 就是在 http 协议的基础上加入了 SSL 协议,对传输的数据进行加密处理,安全性更高。该协议的常用端口为:443。

https 的通信步骤:

​ ① 客户端使用https url访问服务器,并要求服务器建立 SSL连接。

​ ② 服务器接收到请求之后,将网站的SSL证书(包含公钥)返回给客户端。

​ ③ 客户端接收返回信息之后,与服务器协商 SSL 连接的加密等级,并建立会话秘钥。然后通过网站的公钥加密会话秘钥,发送给服务器。

​ ④ 服务器接收后通过自己的私钥,解密出会话秘钥,并通过会话秘钥加密与客户端的通信。至此,连接建立成功。

https的优点:

​ ① 能认证客户端和服务器,确保数据发送到准确的客户端和服务器。

​ ② 使用 SSL 进行加密,数据传输更加安全,增加了网络攻击的成本。

​ ③ 比起同等的http网站,https网站在搜索引擎中的排名更高

https的缺点:

​ ① 在握手阶段比较费时,会使页面的加载时间延长。

​ ② 缓存不如http 高效,会增加数据开销。

​ ③ 用来加密的SSL证书要花钱,增加网站成本,而且SSL需要绑定IP(不能在同一ip上绑定多个域名),ipv4资源支持不了这种消耗。

3、http 1.0

​ 1996年发布,使http可以传输图像、视频、二进制等任何格式的内容。但是每个TCP连接都只能发送一个请求。请求结束,就立马关闭连接,如果还要发送请求,则需要新建一个连接。

4、http 1.1

​ 1997年发布,引入了持久连接的概念,即TCP协议默认不关闭,可以被多个请求复用,客户端和服务器发现对方一段时间没有活动,就可以主动关闭连接。对于同一个域名,大多浏览器能同时建立6个持久连接。但其还是有很大缺陷:虽然TCP连接可以被多个请求复用,但是数据通信是按次序进行的,只有处理完第一个请求,才会去处理第二个请求,会造成请求排队等待的现象。

5、http 2.0

​ 2015年发布,增加了新的特性:

​ ① 多路复用:也就是持久连接,同时解决了 http1.1 请求排队等待的问题。

​ ② 数据流:每个请求或回应的所有数据包,称为一个数据流。不同数据流之间通过 id 进行区分。规定:客户端发出的数据流 id 为奇数,服务器发出的数据流的 id 为偶数 。允许客户端告诉服务器数据流的优先级更高,可以优先回应。数据流发送到一半的时候,客户端和服务器都可以发送信号,取消这个数据流。

​ ③ 安全行性高:http2.0 是基于https 的,天生具有较高的安全性,并且通过http2.0的特性可以避免单纯使用https的性能下降。

​ ④ 二进制格式:将所有的传输信息分割为更小的帧,并采用二进制的格式进行编码。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小朱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值