计算机网络面试专题:HTTP协议基本概念以及通信过程

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 计算机网络面试专题:HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别

一.知识回顾:

之前我们一起学习了HTTP1.0、HTTP1.1、HTTP2.0协议之前的区别、以及URL地址栏中输入网址到页面展示的全过程&&DNS域名解析的过程,接下来我们就来学习一下和HTTP协议的相关的考点:【强烈建议收藏:计算机网络面试专题:HTTP协议基本概念以及通信过程、HTTPS基本概念、SSL加密原理、通信过程、中间人攻击问题、HTTP协议和HTTPS协议区别】

image.png

二.HTTP协议你知道吗?通信的过程是什么样的?

2.1 HTTP协议基本概念

  1. HTTP协议,俗称超文本传输协议(Hypertext Transfer Protocol)。HTTP 协议是用来规范超文本的传输。超文本的意思就是在网络上传输包括文本在内的各式各样的消息。
  2. HTTP 是应用层协议,它以 TCP(传输层)作为底层协议,默认端口为 80。
  3. HTTP 是一个无状态(stateless)协议,也就是说服务器不维护任何有关客户端过去所发请求的消息。
  4. HTTP协议扩展性强、速度快、支持跨平台。

2.2 HTTP协议通信过程

  1. 服务器在 80 端口等待客户的请求。
  2. 浏览器发起到服务器的 TCP 连接(创建套接字 Socket)。
  3. 服务器接收来自浏览器的 TCP 连接。
  4. 浏览器(HTTP 客户端)与 Web 服务器(HTTP 服务器)交换 HTTP 消息。
  5. 关闭 TCP 连接。

三.那你知道HTTPS协议吗?HTTPS通信过程能讲讲吗?

3.1 HTTPS协议基本概念

  1. HTTPS 协议(Hyper Text Transfer Protocol Secure),是 HTTP 的加强安全版本。
  2. HTTPS 是基于 HTTP 的,也是用 TCP 作为底层协议,并额外使用 SSL/TLS 协议用作加密和安全认证。默认端口号是 443。
  3. HTTPS 协议中,SSL 通道通常使用基于密钥的加密算法,密钥长度通常是 40 比特或 128 比特。
  4. HTTPS协议保密性好、信任度高。

3.2 SSL/TLS 加密原理

HTTPS在内容传输的加密上使用的是对称加密,非对称加密只作用在公钥和私钥证书验证阶段

  1. 非对称加密:SSL/TLS 的核心要素是非对称加密,非对称加密只作用在公钥和私钥证书验证阶段。非对称加密采用两个密钥(一个公钥,一个私钥)。在通信时,私钥仅由解密者保存,公钥是由任何一个想与解密者通信的加密者所获取。
  2. 对称加密:SSL/TLS 实际对消息的加密使用的是对称加密。如果SSL/TLS采用非对称加密方案来通信, 但是非对称加密设计了较为复杂的数学公式算法,实际通信过程,代价高,效率低。所以,我们使用堆成加密的算法来对信息进行加密。

3.3 HTTPS通信过程

  1. 证书验证阶段
    (1).浏览器发起 HTTPS 请求
    (2).服务端返回 HTTPS 证书
    (3).客户端验证证书是否合法,如果不合法则提示告警
  2. 数据传输阶段
    (1).当证书验证合法后,在本地生成随机数
    (2).通过公钥加密随机数,并把加密后的随机数传输到服务端
    (3).服务端通过私钥对随机数进行解密
    (4).服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。

具体过程如下图所示:

四.那你知道HTTPS会有什么样的不安全的问题吗?

4.1 中间人攻击

4.1.1 中间人攻击背景分析

如果CA机构不颁发证书,任何人都可以制作证书,此时就缺少对证书的验证,所以客户端发起的是 HTTPS 请求,但客户端完全不知道自己的网络已被拦截,传输内容被中间人全部窃取。那么就会出现中间人攻击的问题,足以可见有一个权威认证机构的好处。

4.1.2 中间人攻击具体过程

  1. A服务器本地请求被劫持,所有请求均发送到中间人C的服务器
  2. 中间人C服务器返回中间人C自己的证书
  3. A客户端创建随机数,通过C中间人证书的公钥对随机数加密后传送给C中间人,然后凭随机数构造对称加密对传输内容进行加密传输
  4. 中间人C因为拥有客户端的随机数,可以通过对称加密算法进行内容解密
  5. 中间人客户端C的请求内容再向正规网站B发起请求
  6. 因为中间人C与正规网站服务器B的通信过程是合法的,正规网站B通过建立的安全通道返回加密后的数据
  7. 中间人C凭借与正规网站B建立的对称加密算法对内容进行解密
  8. 中间人C通过与客户端A建立的对称加密算法对正规内容返回的数据进行加密传输
  9. 客户端A通过与中间人C建立的对称加密算法对返回结果数据进行解密

4.2 HTTPS一定是安全的吗?

4.2.1 HTTPS协议中本地随机数可能被盗取

4.2.1.1 本地随机数被盗取

证书验证是采用非对称加密实现,但是传输过程是采用对称加密,而其中对称加密算法中重要的随机数是由本地生成并且存储于本地的HTTPS

4.2.1.2 如何保证随机数不会被窃取?

其实 HTTPS 并不包含对随机数的安全保证,HTTPS保证的只是传输过程安全,而随机数存储于本地,本地的安全属于另一安全范畴,应对的措施有安装杀毒软件、反木马、浏览器升级修复漏洞等。

4.2.2 HTTPS是会被抓包的

HTTPS协议会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

4.2.2.1 如何防止HTTPS被抓包

HTTPS可以防止用户在不知情的情况下通信链路被监听,对于主动授信的抓包操作是不提供防护的,因为这个场景用户是已经对风险知情。要防止被抓包,需要采用应用级的安全防护,例如采用私有的对称加密,同时做好移动端的防反编译加固,防止本地算法被破解。

五.HTTP协议和HTTPS协议的区别?

  1. 端口号 :HTTP 默认是 80,HTTPS 默认是 443。
  2. URL书写格式 :HTTP 的 URL 前缀是 http://,HTTPS 的 URL 前缀是 https://。
  3. 安全性:HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。
  4. 耗费资源:HTTPS安全性高,但耗费更多服务器资源;HTTP安全性低,仅需要少量的服务器资源。

六.总结

当前看完了这篇文章,我们一起闭上眼睛仔细的想一想学会了哪些东西?看看你是否能回想起来。
这篇文章我们一起学习了如下的知识:

  1. HTTP协议你知道吗?通过的过程是什么样的?
  2. HTTPS协议吗?HTTPS通信过程能讲讲吗? SSL/TLS 加密原理?
  3. HTTPS会有什么样的不安全的问题吗?中间人攻击、本地加密对儿丢失、如果HTTPS授信登陆后会被抓包
  4. HTTP协议和HTTPS协议的区别?

内容不在多、而且于精、在于分类,在于我们分类整理之后对于整个知识体系的把控,这个是更加重要的,就好比我们该房子,先有构想,在画图纸,最后实操,整个过程形如流水,你自己也会感觉很舒服,给别人也会一种及其舒适的感觉。加油,相信自己,你一定可以的。

最后,想送给大家一句话。此刻你累了,就放松休息一下,调整一下状态,继续前行,因为时间不等人,你在成长,需要去承担起整个家庭更多的责任。坚持一点,在坚持一点。加油!

我是硕风和炜,我们下篇文章见哦!

相关文章
|
2月前
|
机器学习/深度学习 人工智能
类人神经网络再进一步!DeepMind最新50页论文提出AligNet框架:用层次化视觉概念对齐人类
【10月更文挑战第18天】这篇论文提出了一种名为AligNet的框架,旨在通过将人类知识注入神经网络来解决其与人类认知的不匹配问题。AligNet通过训练教师模型模仿人类判断,并将人类化的结构和知识转移至预训练的视觉模型中,从而提高模型在多种任务上的泛化能力和稳健性。实验结果表明,人类对齐的模型在相似性任务和出分布情况下表现更佳。
68 3
|
21天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
46 11
|
21天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
44 8
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
81 2
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
47 4
|
1月前
|
缓存
HTTP 报文解构:深入剖析 HTTP 通信的核心要素
【10月更文挑战第21天】随着网络技术的不断发展和演进,HTTP 报文的形式和功能也可能会发生变化,但对其基本解构的理解始终是掌握 HTTP 通信的关键所在。无论是在传统的 Web 应用中,还是在新兴的网络技术领域,对 HTTP 报文的深入认识都将为我们带来更多的机遇和挑战。
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
1月前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
48 2
|
27天前
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署

热门文章

最新文章