面试题精选:请叙述一下HTTP和HTTPS的区别

1.HTTP 和 HTTPS 有什么区别?

HTTPS 和 HTTP 的关系

  • 协议
  • 明文/安全

HTTPS 它把 HTTP 下层的传输协议由 TCP/IP 换成了 SSL/TLS,由 「“HTTP over TCP/IP”」 变成了 「“HTTP over SSL/TLS”」,让 HTTP 运行在了安全的 SSL/TLS 协议上,收发报文不再使用 「Socket API」,而是调用专门的「安全接口」

HTTPS 是 为 HTTP 增加了「四大安全特性」;本身一个“非常简单”的协议,RFC 文档很小,只有短短的 7 页,里面规定了新的协议名“https”默认端口号 443,至于其他的什么请求 - 应答模式、报文结构、请求方法、URI、头字段、连接管理等等都完全沿用 HTTP,没有任何新的东西。

阿里面试官:小伙子,给我说一下HTTP和HTTPS的区别吧

HTTPS 和 HTTP

四大安全特性

「机密性」:是指对数据的“保密”,只能由可信的人访问,对其他人是不可见的“秘密”,简单来说就是不能让不相关的人看到不该看的东西。

对称加密和非对称加密算法

「完整性」:是指数据在传输过程中没有被篡改,不多也不少,“完完整整”地保持着原状。

摘要算法

「身份认证」:是指确认对方的真实身份,也就是“证明你真的是你”,保证消息只能发送给可信的人。

数字签名 和 CA 认证

「不可否认」:也叫不可抵赖,意思是不能否认已经发生过的行为,不能“说话不算数”“耍赖皮”。

数字签名

提炼

  1. 因为 HTTP 是明文传输,所以不安全,容易被黑客窃听或篡改;
  2. 通信安全必须同时具备机密性、完整性、身份认证和不可否认这四个特性;
  3. HTTPS 的语法、语义仍然是 HTTP,但把下层的协议由 TCP/IP 换成了 SSL/TLS;
  4. SSL/TLS 是信息安全领域中的权威标准,采用多种先进的加密技术保证通信安全;
  5. OpenSSL 是著名的开源密码学工具包,是 SSL/TLS 加密算法的具体实现(NodeJs 实现 https 安全层面也是使用的 OpenSSL,实现 http 使用的 http-parser);

2.说说对称加密和非对称加密的理解?

  • 加密含义
  • 对称加密:相同秘钥(快)
  • 非对称加密:公钥和私钥(慢)
  • 混合加密: TLS 通信采用的方式

加密含义

实现机密性最常用的手段是“加密”(encrypt),把消息用某种方式转换成谁也看不懂的乱码,只有掌握特殊“钥匙”的人才能再转换出原始文本。这里的“钥匙”就叫做“密钥”(key),加密前的消息叫“明文”(plain text/clear text),加密后的乱码叫“密文”(cipher text),使用密钥还原明文的过程叫“解密”(decrypt),是加密的反操作,加密解密的操作过程就是“加密算法”。

按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密。

对称加密算法

“对称加密”很好理解,就是指加密和解密时使用的密钥都是同一个,是“对称”的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性。

阿里面试官:小伙子,给我说一下HTTP和HTTPS的区别吧

对称加密

TLS 里有非常多的对称加密算法可供选择,比如 RC4、DES、3DES、「AES」、ChaCha20 等,但前三种算法都被认为是不安全的,通常都禁止使用,目前常用的只有 AES 和 ChaCha20。

AES 的意思是“高级加密标准”(Advanced Encryption Standard)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值