-
二、HTTPS请求过程
-
三、HTTPS与HTTP的区别
-
四、HTTPS的优缺点
-
结束语
===========================================================
因为我的上一篇文章讲解了一下HTTP协议到底是什么, 所以我们这篇文章就来讲解一下HTTPS协议是什么?它到底跟HTTP协议有什么区别。
还有不明白HTTP协议的小伙伴可以去查看一下我的上一篇文章,先简单了解一下,下面放上链接——浅谈HTTP协议的作用过程
- 公众号:前端印象
- 不定时有送书活动,记得关注~
- 关注后回复对应文字领取:【面试题】、【前端必看电子书】、【数据结构与算法完整代码】、【前端技术交流群】
===========================================================
如果有小伙伴已经了解了HTTPS的定义及其请求过程了,可以直接从第三部分开始看
HTTPS叫做安全超文本传输协议
。我们能清楚地看到,HTTPS比HTTP多了一个S,这个S就是 TLS/SSL
,TLS/SSL 就是用于加密传输 、身份验证的网络协议。所以在中文名上,HTTPS也比HTTP多了一个安全, 这说明HTTPS协议比HTTP协议更安全。
接下来我们来看一张图
HTTP和HTTPS都是用来客户端与服务器端传递信息的, 只不过HTTP是没有加密的,是以明文的方式传递信息; 而HTTPS是会经过加密的,以密文的方式传递信息,相对比较安全。
那么HTTPS是如何加密的呢?它的请求过程是怎么样的?我们来看下一部分。
首先用一张图,让大家大致了解一下HTTPS的请求过程
HTTPS协议请求的过程如下:
客户端发送https请求
=>
客户端与服务器建立SSL连接,服务器返回证书公钥给客户端
=>
客户端验证证书公钥,若验证通过,则利用证书公钥随机生成一个密钥,并发送给服务器
=>
服务器接收密钥,并用服务器自己的私钥解密密钥
=>
客户端与服务器端传递信息就用密钥来加密
接下来我们来形象地分步骤讲解一下HTTPS协议请求的过程:
- 客户端与服务器建立SSL连接,服务器返回证书公钥给客户端
客户端发送https请求, 首先要与服务器建立SSL连接,简单来说就是客户端和服务器端准备商量,等会要用什么方式来给我们传递的信息加密,这样做一个统一。 那么客户端和服务器端要商量加密方式的话,就先由服务器端来提议,所以这时服务器先返回一个证书公钥给客户端, 这个证书公钥就相当于服务器先提出的加密方式的意见。
- 客户端验证证书公钥
服务器已经提出了自己对于加密方式的意见(返回的证书公钥),客户端需要针对这个意见做个判断,判断是否同意这种加密方式(验证公钥的颁发机构 、过期时间等等),若不同意,则发起抗议(弹出警告框);若同意,则(客户端利用证书公钥加密生成一个随机值生成密钥),然后发送给服务器。
学习笔记
主要内容包括html,css,html5,css3,JavaScript,正则表达式,函数,BOM,DOM,jQuery,AJAX,vue等等
HTML/CSS
**HTML:**HTML基本结构,标签属性,事件属性,文本标签,多媒体标签,列表 / 表格 / 表单标签,其他语义化标签,网页结构,模块划分
**CSS:**CSS代码语法,CSS 放置位置,CSS的继承,选择器的种类/优先级,背景样式,字体样式,文本属性,基本样式,样式重置,盒模型样式,浮动float,定位position,浏览器默认样式
HTML5 /CSS3
**HTML5:**HTML5 的优势,HTML5 废弃元素,HTML5 新增元素,HTML5 表单相关元素和属性
**CSS3:**CSS3 新增选择器,CSS3 新增属性,新增变形动画属性,3D变形属性,CSS3 的过渡属性,CSS3 的动画属性,CSS3 新增多列属性,CSS3新增单位,弹性盒模型
JavaScript
**JavaScript:**JavaScript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串
avaScript:**JavaScript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串