HTTP (超文本传输协议)和 HTTPS(超文本传输安全协议)的区别

HTTP (超文本传输协议)和 HTTPS(超文本传输安全协议)的区别

首先解释一下,什么是HTTP 和 HTTPS,再讨论它们的区别。

HTTP协议是客户端和服务器端请求和应答的标准,是一种应用层协议,默认端口为 80,HTTP假定其下层协议提供可靠的传输。因此其在TCP/IP协议族使用 TCP 作为其传输层。

HTTP协议的缺点:HTTP 以明文传输(即不加密),内容可能会被窃听;HTTP 不验证通信方身份,可能遭到伪装;HTTP 无法证明报文完整性,数据有可能已遭篡改;因此,HTTP协议不适合传输一些敏感信息。

HTTPS协议,是在HTTP的基础上加入了 SSL (Secure Sockets Layer 安全套接层) 或其继任者 传输层安全(Transport Layer Security,TLS)协议,为网络通信提供安全及数据完整性。

SSL协议位于TCP/IP协议与各种应用层协议之间,即应用层之下,运输层之上:安全协议向运行HTTP的进程提供一个类似于TCP的套接字,供进程向其中注入报文,安全协议将报文加密并注入运输层套接字;或是从运输层获取加密报文,解密后交给对应的进程。

SSL协议使用密钥加密通信数据,依靠证书来验证用户和服务器的身份,确保数据发送到正确的客户机和服务器,共享的MAC密钥来生成报文的鉴别码验证报文完整性。

SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL 握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

因此,两者有如下几个区别:

  1. HTTPURL由“http://”起始且默认使用端口80不同,HTTPS的URL由“https://”起始且默认使用端口443。
  2. HTTP + 加密 + 认证 + 完整性保护 = HTTPS,即 HTTP 明文传输,HTTPS 加密传输;HTTPS 提供 HTTP 没有的身份认证 和 数据完整性验证;因此 HTTPS 比 HTTP 更安全(但也不是绝地的安全 选择密文攻击)。
  3. 资源消耗和速度方面:HTTPS 通信会由于加密解密处理消耗更多的CPU和内存资源;由于 HTTPS 中 SSL 进行握手协议需要网络通信,再加上加密解密、验证身份和完整性等处理,因此速度上会比 HTTP 慢。
  4. 只有少量证书是免费的,使用 HTTPS 很可能意味着比 HTTP 多需要一笔认证开销。
加密方法
一、对称加密

对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。

  • 优点:对称加密的速度比公钥加密快很多
  • 缺点:对称密钥加密牵涉到密钥管理的问题,尤其是密钥交换,需要双方在通信之前先透过另一个安全的渠道交换共享的密钥,才可以安全地把密文透过不安全的渠道发送;对称密钥一旦被窃,其所作的加密将即时失效;而在互联网,对称加密事先所需要的“安全渠道”变得不可行,无法安全地将密钥传输给通信方。
二、非对称加密

公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),它需要两个密钥,一个是公开密钥,另一个是私有密钥;

一个用作加密的时候,另一个则用作解密。使用其中一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。

虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个;因此其中一个可以公开,称为公钥,任意向外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供,也不会透露给要通信的另一方,即使他被信任。

(非对称加密往往需要 密码学安全伪随机数生成器 的协助来产生一对密钥,其中一个可以随便公开,称为公钥;另一个不公开,称为私钥,必须由用户自行严格秘密保管,绝不透过任何途径向任何人提供。)

img

非对此加密方式的优缺点基本上与对称加密相反。

主要参考:维基百科 / 百度百科 / cyc 大佬的总结

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值