Http和Https

Http和Https

首先我们介绍一下http和https,http是超文本传输协议,无状态并且是明文传输。https是在http协议的基础上增加了SSL/TLS协议,设备之间的通信是加密的,比Http协议安全。我们先了解一下TCP/IP网络模型和OSI七层网络模型,先知道HTTP协议主要工作在哪一层。

TCP/IP网络模型

image.png
image.png

OSI七层网络模型

image.png

HTTP

组成:

超文本(Hypertext)、传输(Transfer)、协议(Protocol),默认是工作在80端口,以明文方式传输内容,不提供任何方式的数据加密,所以如果被截取到,即可知道里面的内容。

HTTPS HTTP + TLS/SSL

介绍:

Hypertext Transfer Protocol Secure, 超文本传输安全协议,默认是工作在443端口,采用SSL/TLS协议来加密数据包,提高了数据的安全性。

通讯过程:
  1. 首先客户端和服务端需要进行TCP三次握手,建立连接,并且客户端发送https请求。
  2. 服务端收到请求,将ssl证书发送给客户端,证书其实就是公钥,里面还包含其他的信息,例如域名、申请的公司、过期时间等等
  3. 客户端解析并验证证书,如果证书没问题,客户端会生成一个秘钥,之后会使用证书中的公钥对该秘钥进行非对称加密
  4. 客户端将加密后的秘钥发送给服务端。
  5. 服务端解析秘钥,这里使用服务器的私钥进行解密,得到客户端刚刚生成的秘钥。
  6. 服务端将需要传输的数据使用刚刚解密出来的秘钥进行对称加密,传输给客户端。
  7. 客户端使用生成的秘钥对接收到的数据进行解密,获取真实的数据。
包含的算法:
  1. 秘钥交换算法
  2. 签名算法
  3. 对称加密算法
  4. 摘要算法
解决的相关问题:
  1. 传输过程容易被攻击者监听
  2. 传输的数据容易被攻击者窃取
  3. 发送方和接收方容易被伪造

总结:

模型:

image.png

区别:
  1. HTTP 的默认端口是 80,而 HTTPS 的默认端口是443
  2. http是明文传输,https是加密传输,https相对而言更安全。
  3. http连接简单,并且是无状态的。https连接需要使用秘钥进行加密解密,连接比http复杂。
  4. http相应快,只需要进行TCP三次握手,https相比较,相应速度慢,除了TCP三次握手,还需要进行SSL握手。
  5. http不需要申请证书,https需要购买ssl证书。
  6. 浏览器显示不同,http浏览器会显示不安全,https浏览器会显示护盾或者锁标志,点击可以看到证书相关信息。

关注微信公众号「平哥技术站」, 每日更新,在手机上阅读所有教程,随时随地都能学习。

原文链接:https://monkey.blog.xpyvip.top/archives/http-https

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值