网络基础:HTTP协议 vs HTTPS协议 区别
Posted shouhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基础:HTTP协议 vs HTTPS协议 区别相关的知识,希望对你有一定的参考价值。
HTTP协议
- HTTP ( HYper Text Transfer Protocol)超文本传输协议,用于从万维网(www)服务器传输资源到本地浏览器的传送协议
- HTTP 协议是基于 TCP 协议,默认是 80 端口。主要是用来规定客户端和服务端的数据传输格式
- HTTP 是基于请求与响应模式的、无状态的、无连接的应用层协议
HTTP特点:
1. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。-- 速度快
2. 灵活: HTTP允许传输任意类型的数据对象,用Content-Type加以标记。
3. 无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。--重新发起连接?采用这种方式可以节省传输时间。
----- 基于目前web页面越来越复杂,就需要一个链接里面处理多个请求,就不希望处理一个请求就断开链接;-----然后在协议里面定义了keep-alive 的机制,就可以让链接保持连接,成为长连接
4. 无状态:协议对客户端没有状态存储,对事物处理没有"记忆"能力,比如访问一个网站需要反复进行登录操作。请求1---断开》没有保存任何信息;请求2 (用请求1信息) :需要重传
淘宝:登录----》 购买商品?我们需要cookies、session这种机制来 保持登录状态
5. 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
client -----> (第三者,截取消息,篡改消息) ---> server ======根据这种情况HTTPS应运而生
HTTPS协议
概念::HTTPS (Hypertext Transfer Protocol Secure)超文本传输安全协议,简单讲是HTTP的安全版。它加密数据并确保其机密性--密文,可保护用户在与网站交互时免于窃取个人信息和计费数据,验证数据完整性。
- HTTP + 加密 + 身份认证 + 完整性 = HTTPS
- 基于TCP的443端口,披着SSL协议外壳HTTP协议。
- HTTP 和 HTTPS 协议在底层都是一样的(IP 层---传输层用的一个底层协议叫TCP协议,还有 UDP协议)
- HTTP 协议是直接基于 TCP协议 直接成为 HTTP 协议
- HTTPS 协议是从TCP 协议,先有一个 SSL 协议层,先封装一个SSL 协议头部数据包(基于SSL加密),再去封装一个 HTTPS 协议;在加密的基础上面再去发送 HTTP 的消息
SSL 的四次握手
==
1. 客户端请求建立SSL连接,并将自己支持的一套加密规则发送给服务器。---------1
2. 网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等。---------2.3.4
一对钥匙:公钥--公布--加密:私钥--私有, 解密的
3. 获得网站证书之后浏览器要做以下工作;受信任?---CA颁证机构;---------5.6.7
-
- 0验证证书的合法性--服务器身份,如证书受信任,浏览器会生成一串随机数密码,并用证书中提供的公钥加密。
- 0把密码发送给网站。
- 0告诉网站后续报文要加密了。握手结束。
4. 网站接收浏览器发来的数据之后要做以下的操作;---------8.9
-
- 0使用自己的私钥将信息解密取出密码-- 加密了
- 0告诉客户端后续报文要加密了。握手结束。
Application Datal(HTTP):进行通讯,应用数据(HTTP)------10.11
Alert warning, close notify:警告,关闭通知--------12
- HTTP + 加密(秘钥来实现) + 身份认证(证书) + 完整性 ( MD5 哈希算法摘要 = 摘要 ) = HTTPS
HTTP协议 vs HTTPS协议
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/ 谢谢!!*******
以上是关于网络基础:HTTP协议 vs HTTPS协议 区别的主要内容,如果未能解决你的问题,请参考以下文章