【计算机网络】测试人关于HTTPS的学习和梳理

通过阅读《计算机网络–自顶向下方法》,以及结合最近面试的一些经历,作此笔记进行梳理和总结,也为日后的回顾作基底。


1)HTTPS基本概述

1.1 什么是HTTPS?

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)是最常见的 HTTP 安全版本

  • HTTPS 将 HTTP 协议与一组强大的对称、非对称和基于证书的加密技术结合在一起,使得HTTPS不仅很安全,而且很灵活。
  • 使用HTTPS时,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密
    • HTTPS在HTTP下面提供了一个传输级的密码安全层(可以使用SSL或者TLS):
      在这里插入图片描述
      • HTTPS是位于安全层之上的HTTP,这个安全层位于TCP之上。

1.2 为什么需要HTTPS?

人们会用Web事务来处理一些重要的事情,如果没有强有力的安全保证,人们就无法安心地进行网络购物或者使用银行业务。因此Web需要一种安全的HTTP形式。

  • 一些提供认证(基本认证和摘要认证)和报文完整性检查的轻量级方法对于大规模的购物、银行事务,或者对访问机密数据来说,不够强大。

对于大规模的购物、银行事务等重要的事务,需要将HTTP和数字加密技术结合起来使用,才能确保安全。

我们需要一种能够提供下列功能的HTTP安全技术:

  • 服务器认证:客户端知道它们是在和真正的而不是伪造的服务器通话。
  • 客户端认证:服务器知道它们是在和真正的而不是伪造的客户端通话。
  • 完整性:客户端和服务器的数据不会被修改。
  • 加密:客户端和服务器的对话是私密的,无需担心被窃听。
  • 效率:一个运行得足够快的算法,以便低端的客户端和服务器使用。
  • 普适性:基本上所有的客户端和服务器都支持这些协议。
  • 管理的可扩展性:在任何地方的任何人都可以立即进行安全通信。
  • 适应性:能够支持当前最知名的安全方法。


2)面试常问之HTTPS是如何实现的?

2.1 如何告知Web服务器执行HTTPS?

安全HTTP是可选的,所以对Web服务器发起请求时,需要以一种方式告知Web服务器去执行HTTP的安全协议版本,这是通过URL实现的

  • 通常,非安全HTTP的URL方案前缀是http,例如:
    http://www.abc.com/index.html
  • 在安全HTTPS协议中,URL的方案前缀是https,例如:
    https://efg.com/aaa?bbb=ccc

请求一个客户端(如Web浏览器)对某Web资源执行某事务时,它会去检查URL的方案:
在这里插入图片描述

  • 如果URL方案是http,客户端就会打开一条到服务器端口80(默认情况下)的TCP连接,并向其发送HTTP命令。
  • 如果URL方案是https,客户端则会打开一条到服务器端口443(默认情况下)的连接,并与服务器“握手”(客户端和服务器初始化SSL层,对加密参数进行沟通并交换密码),然后客户端将请求报文发送给安全层(因为这些报文发送给TCP前需要进行加密)。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值