HTTP协议的三次握手四次挥手

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: TCP 提供连接(Connection),让双方的传输更加稳定、安全。TCP 是一个面向连接的协议(Connection -oriented Protocol),说的就是 TCP 协议参与的双方(Host)在收发数据之前会先建立连接。

面试话题:三次握手,四次挥手的过程。

TCP协议

  • TCP 提供连接(Connection),让双方的传输更加稳定、安全。
  • TCP 是一个面向连接的协议(Connection -oriented Protocol),说的就是 TCP 协议参与的双方(Host)在收发数据之前会先建立连接。
  • 连接需要消耗更多的资源。比如说,在传输数据前,必须先协商建立连接。因此,不是每种场景都应该用连接导向的协议。

TCP协议的基本操作

  • SYN操作:一个Host请求向另一个Host发起连接,请求同步
  • FINISH操作:一个Host主动请求断开,请求完成
  • PUSH操作:一个Host向另一个请求发送数据,数据推送
  • ACK操作:接收方收到数据后,给发送方一个Ack响应

image-20210801233400087.png

三次握手

握手:建立连接、响应

过程:

1、客户端发送消息给服务端(SYN)

2、服务端准备好进行连接,并给客户端的SYN一个响应ACK,同时,会给客户端一个SYN请求(第一次握手)

  • 这个过程是同时发生的,合并成一个SYN-ACK响应,作为一条数据传递给客户端 (第二次握手)

3、客户端接收到服务端的信息后,会给服务端发送一个ACK,则建立起连接(第三次握手)

四次挥手

挥手:断开连接、响应

1、客户端请求断开连接,发送一个断开的请求(FIN)(第一次挥手)

2、服务端接收到请求,给客户端一个ACK响应 (第二次挥手)

3、服务端处理完自己内部的一些操作(如资源释放,相关处理)后,向客户端发送一个断开的请求(FIN)(第三次挥手)

  • 此处和三次挥手不一致点:因服务端可能发出消息没有得到ACK,或资源未释放,所以需要经过一个等待再确定可以关闭后,在发送FIN给客户端

4、客户端接收到服务端的FIN,客户端处理自己内部事务(如资源释放,相关处理)后,再向服务端发送一个ACK响应(第四次挥手)

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
18天前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
51 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
2天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
17 3
|
8天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
36 8
|
7天前
|
缓存 网络协议 UED
HTTP协议介绍
HTTP协议的
17 5
|
7天前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
15 4
|
6天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
7天前
|
缓存 开发者
HTTP协议
HTTP协议
18 2
|
23天前
|
安全 Java Shell
【内网—内网转发】——http协议代理转发_reGeorg代理转发
【内网—内网转发】——http协议代理转发_reGeorg代理转发
18 3
|
2天前
|
Python
HTTP协议不再是迷!Python网络请求实战,带你走进网络世界的奥秘
本文介绍了HTTP协议,它是互联网信息传递的核心。作为客户端与服务器通信的基础,HTTP请求包括请求行、头和体三部分。通过Python的`requests`库,我们可以轻松实现HTTP请求。本文将指导你安装`requests`库,并通过实战示例演示如何发送GET和POST请求。无论你是想获取网页内容还是提交表单数据,都能通过简单的代码实现。希望本文能帮助你在Python网络请求的道路上迈出坚实的一步。
9 0
|
1月前
|
存储 网络协议 安全
HTTP协议和运行原理
HTTP协议和运行原理

热门文章

最新文章