网络基础: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/   谢谢!!******* 

猜你喜欢

转载自www.cnblogs.com/shouhu/p/12168391.html