HTTP与HTTPS的理解(一)

一.HTTPS和HTTP的区别是什么?

这是一道经常被问及的面试题,先直接贴出比较合适的答案

1.1 HTTPS和HTTP的区别?

1、HTTPS是加密传输协议,HTTP是明文传输协议;

2、HTTPS需要用到SSL证书,而HTTP不用;

3、HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO:

4、 HTTPS标准端口443,HTTP标准端口80;

5、 HTTPS基于传输层,HTTP基于应用层;

6、 HTTPS在浏览器显示绿色安全锁,HTTP没有显示;

1.2 什么是HTTPS?

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。

HTTPS主要作用是:

(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;

(2)对网站服务器进行真实身份认证。

1.3 什么是HTTP?

HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法份子窃取和篡改。

二. HTTPS的应用

https是在http协议基础上加入加密处理和认证机制以及完整性保护,即http+加密+认证+完整性保护=https
https并非应用层的一种新协议,只是http通信接口部分用ssl/tls协议代替而已。通常http直接和tcp通信,当使用ssl时则演变成先和ssl通信,再由ssl和tcp通信。
所谓https,其实就是身披ssl协议这层外壳的http
在这里插入图片描述

三. HTTPS的请求过程

一条完整的 HTTPS 请求应该是这样的:

1、客户端 (浏览器) 发起 HTTP 请求,请求连接服务端,发送支持的加密通信协议 (和版本),并且生成一个随机数,后续用于生成"对话密钥"。
2、服务端确认加密通信协议 (和版本),同时也生成一个随机数,后续用于生成"对话密匙",并且将 CA 颁发的数字证书,一起发送给客户端。
3、客户端收到数字证书后,检测内置的"受信任的根证书颁发机构",查看解开数字证书的公匙是否在。
4、如果解开数字证书的公匙存在,则使用它解开数字证书,得到正确的服务器公匙,同时再次生成一个随机数,用于服务器公匙加密,并发送给服务器。
5、此时本地和服务器同时将三个随机数,根据约定的加密方法进行加密,各自生成本次会话的所使用的同一把 “会话密匙” 。
6、到这里,认证阶段已经完毕,数据传输从 非对称加密 换成了 对称加密 (因为考虑到性能),接下来所有的数据传输都是使用 HTTP 协议进行传输,只不过使用了 “会话密匙” 来加密内容。

见下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值