http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的?

有人问我一道这样的题:http 和 https 区别,https 在请求时额外的过程,https 是如何保证数据安全的? 然后我个人总结一下这里给出回答。
这个问题分两部分:

1. http 和 https 区别

首先我先概述一下http是什么?
Http是一个应用层的协议,它只在实在TCP层上做了而外一些约定,符合约定的就是http协议。从变成的角度来看,我们最简单网络编程,建立socket之后,可以互相传递数据。然后传递的这些数据符合一些约定就是http一些了。
这传递的主要有两部分:
1)请求:请求头和请求体。

请求头包含:request url,host,content-type等等。请求体是我们告诉服务器,我们想要的服务,就是和服务器交互的信息。

2). 响应:响应头和响应体。响应头code,正常200。


废话不多说。直接回到这个问题:

  1. 从网络协议模型上来看:从上图可以看出https比http协议多了一层,https比http多了SSL/TLS层。HTTPS 使用 SSL(Secure Socket Layer) 和 TLS(Transport Layer Security)这两个协议。

  2. 从性能上讲:http高于https。一般https会比http慢两倍以上。

http的请求全过程:三次握手,四挥手。这里有个知识点:滑动窗口。

2. https 在请求时额外的过程,https 是如何保证数据安全的?

https协议会让客户端在验证服务器端的证书之后。生成一串随机的密码串,然后加上两个随机数计算,并且和服务器端协商之后,就使用这个计算之后的key去加密敏感数据,然后发送给客户端。
**怎么和服务器协商呢?**就是客户端会发送的随机密码串和两个随机数给服务器,服务器验证这个数据的正确性和密码正确,就是协商完成。
所以结论:https是通过对称加密算法来保证数据的安全性的。

3. 抓包查看

http的抓包:
在这里插入图片描述
https的抓包:
在这里插入图片描述
想知道更多抓包的细节及原理,可以关注我的公众号:程序袁小黑,搜这篇文章就可以看到。

最后总结一句话:HTTP+ 加密 + 认证 + 完整性保护 =HTTPS。

更多精彩内容请关注我的微信公众号:
程序袁小黑 的微信公众号

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值