HTTP与HTTPS的区别
HTTP与HTTPS的区别
安全性上,HTTPS是安全超文本协议,在HTTP基础上有更强的安全性。简单来说,HTTPS是使用TLS/SSL加密的HTTP协议
申请证书上,HTTPS需要使用ca申请证书
传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议
连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ssl协议进行加密传输,端口是 443
HTTP的工作过程
HTTP由请求和响应构成,是一个标准的客户端服务器模型(C/S)。HTTP协议永远都是客户端发起请求,服务器回送响应。
-
地址解析。域名系统DNS解析域名得到主机的IP地址
-
封装HTTP请求数据包。封装的内容有以上部分结合本机自己的信息。
-
封装成TCP包,建立TCP连接(TCP的三次握手)
-
客户机发送请求命令。 建立连接后,客户机向服务器发送一个请求
-
服务器响应。服务器接到请求后,给予相应的响应信息
-
服务器关闭TCP连接。一般Web服务器向浏览器发送了请求数据,它要关闭TCP连接
-
客户端解析报文,解析HTML代码,并渲染
HTTPS的实现原理
HTTP以明文方式传输信息,不能保障数据传输的安全。
HTTPS在HTTP的基础上加入了SSL协议。
HTTPS使用SSL协议和TLS协议
SSL 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS的通信过程
https通信时,首先建立ssl层的连接,客户端将ssl版本号和加密组件发到服务器端,服务器端收到后对ssl版本号和加密组件进行匹配,同时将CA证书及**发送到客户端。客户端对证书进行验证,验证通过后使用非对称加密对数据通信时的**进行协商。协商后得到一致的获得一致的对称加***。然后使用对称加密算法进行TCP连接,后续的过程跟http的过程一致。三次握手,数据交换,四次挥手,通信结束。
过程如下 :
-
客户端和服务器端通过TCP建立连接。
-
客户端向服务器发送HTTPS请求。
-
服务器响应请求,并将数字证书发送给客户端,数字证书包括公共秘钥、域名、申请证书的公司。
-
客户端收到服务器端的数字证书之后,会验证数字证书的合法性。
-
如果公钥合格,那么客户端会生成一个用于进行对称加密的**client key,并用服务器的公钥对客户端**进行非对称加密。
-
客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端**发送给服务器。
-
服务器接收到客户端发来的密文之后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。
-
客户端收到密文,并使用客户端秘钥进行解密,渲染网页。
参考链接:
https://www.jianshu.com/p/14cd2c9d2cd2
</div><div><div></div></div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
<div class="more-toolbox">
<div class="left-toolbox">
<ul class="toolbox-list">
<li class="tool-item tool-active is-like "><a href="javascript:;"><svg class="icon" aria-hidden="true">
<use xlink:href="#csdnc-thumbsup"></use>
</svg><span class="name">点赞</span>
<span class="count">5</span>
</a></li>
<li class="tool-item tool-active is-collection "><a href="javascript:;" data-report-click="{"mod":"popu_824"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-Collection-G"></use>
</svg><span class="name">收藏</span></a></li>
<li class="tool-item tool-active is-share"><a href="javascript:;" data-report-click="{"mod":"1582594662_002"}"><svg class="icon" aria-hidden="true">
<use xlink:href="#icon-csdnc-fenxiang"></use>
</svg>分享</a></li>
<!--打赏开始-->
<!--打赏结束-->
<li class="tool-item tool-more">
<a>
<svg t="1575545411852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5717" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M179.176 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5718"></path><path d="M509.684 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5719"></path><path d="M846.175 499.222m-113.245 0a113.245 113.245 0 1 0 226.49 0 113.245 113.245 0 1 0-226.49 0Z" p-id="5720"></path></svg>
</a>
<ul class="more-box">
<li class="item"><a class="article-report">文章举报</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/JAck_chen0309">
<img src="https://profile.csdnimg.cn/7/B/E/3_jack_chen0309" class="avatar_pic" username="JAck_chen0309">
<img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit"><a href="https://blog.csdn.net/JAck_chen0309" data-report-click="{"mod":"popu_379"}" target="_blank">天才程序YUAN</a></span>
</div>
<div class="text"><span>发布了125 篇原创文章</span> · <span>获赞 1704</span> · <span>访问量 29万+</span></div>
</div>
<div class="right-message">
<a href="https://im.csdn.net/im/main.html?userName=JAck_chen0309" target="_blank" class="btn btn-sm btn-red-hollow bt-button personal-letter">私信
</a>
<a class="btn btn-sm attented bt-button personal-watch" data-report-click="{"mod":"popu_379"}">已关注</a>
</div>
</div>
</div>
</article>
上一篇: 面膜DIY 快速美白不做黄脸婆
下一篇: 中医祛痘 治标更治本