认识http(1)【三次握手&四次挥手】

阿里面试官: HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程?(附全网最具深度的三次握手、四次挥手讲解) 前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-。-,蹭蹭就蹭蹭 ???? 事实上我在阿里面试的时候确实被问到了这个问题,HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程?当时虽然思路正确,可惜最终也并不算完全答对 结束后花了一段时间整理了下思路,参考和查阅了一下资料,整理如下: 来源:编程充电宝 作者:在所不辞 问题描述... 阅读详情
【HTTP与TCP/IP】
我们知道网络由下往上分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输。
HTTP是应用层协议,主要解决如何包装数据。
所以说HTTP是基于TPC/IP的,与HTTP类似也是基于TPC/IP的还有FTP啊这类的应用层协议。

【TCP/IP三次握手建立连接】


如上图,客户端首先发起第一次握手,向服务端示好(我要传一些数据给你);
服务端听到后如果表示可以接受数据,则向客户端发起第二次握手(这次握手表示,我能接受你的数据哦,同时由于TCP/IP是全双工的【全开工指可以同时进行信号的双向传输】,服务端的这次握手也是在询问,你能接受我返回给你的数据吗?);
接着客户端发起第三次握手(告诉服务端,是的,我也能接受你返回给我的数据,OK,这下两个人都放心了,连接建立成功)。

【TCP/IP四次挥手释放连接】



TCP/IP是全双工的,每个方向都必须单独进行关闭。有一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。
比如客户端给服务端发送一个FIN,告诉服务端,我再也没有数据要传给你啦,这是第一次挥手;
服务端收到后返回一个ACK告诉客户端,好的,知道啦,这是第二次挥手。客户端收到确认后就可以关闭往服务端那边的数据传输通道了,这个时候服务端仍然可以往客户端继续发送数据。
待服务端也再没有数据要往客户端发送时,就也发一个FIN到客户端,告诉它,我也没啥要传给你了,这是第三次挥手。
客户端得知后在返回一个ACK告诉服务端,好的,收完了,服务端也就可以安心关闭往客户端的数据传输通道了,这是第四次挥手。自此双向的传输通道都已关闭,连接成功释放。
访问Web,tcp传输全过程(三次握手、请求、数据传输、四次挥手) 从输入域名到最后呈现经历的过程: 域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户 --> 四次挥手结束 1.域名解析 首先浏览器会解析 www.zipackage.c 阅读详情

相关推荐

TCP三次握手 四次挥手/以及全双工通信

TCP协议通过三次握手和四次挥手实现可靠连接管理:三次握手(SYN、SYN-ACK、ACK)确保双方同步序列号并建立连接,防止失效请求;四次挥手(FIN、ACK、FIN、ACK)实现全双工连接的优雅断开。全双工通信允许双向同时传输,WebSocket是其典型应用,相比HTTP轮询具有低延迟优势。现代网络(如TCP/IP)和电话系统都采用全双工模式,通过物理通道分离(如双绞线)或时分/频分技术实现双向传输,显著提升吞吐量和交互体验。

👨‍💻 前端开发者 | 技术分享者 774

HTTP的三次握手和四次挥手

1. HTTP的三次握手 2. HTTP的四次挥手 3. HTTPS的三次握手

公众号:前端充电宝 1万+

BeikeShop跨境电商独立站系统V1.5.0免授权全开源版

BeikeShop 一款开源好用的跨境电商系统,BeikeShop 是基于 Laravel 开发的一款开源商城系统,主要面向外贸/跨境电商行业提供商品管理、订单管理、会员管理、支付、物流、系统管理等功能。BeikeShop商城 Beike多语言商城 多货币商城B2C商城系统 代码100%开源 PHP商城系统 H5/PC商城 跨境电商系统 跨境商城系统 电商商城系统 Laravel 9 框架插件化开发,MVC架构 支持插件市场。Event 机制实现Hook功能,自定义可视化装修。

818

HTTP 协议的三次握手

HTTP 协议的三次握手 HTTP(Hypertext Transfer Protocol):超文本传输协议 TCP(Transmission Control Protocol):传输控制协议 1、HTTP协议和TCP/IP协议的区别? 答:TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据。Web使用HTTP协议作应...

沧海黎明 1万+

攻防世界-Reverse-Game

攻防世界,game,逆向

wuh2333的博客 775

QT日志输出终极指南:从qDebug到qFatal的完整文件记录方案

本文深入探讨了QT日志系统的企业级文件记录方案,从基础的qDebug、qWarning、qCritical、qFatal等宏的使用,到构建自定义消息处理器、实现异步写入、分级存储、日志轮转及性能监控等高级功能。旨在帮助开发者构建一个稳定、高效且易于维护的专业级日志管理架构,适用于桌面应用、嵌入式系统及服务端程序。

ik678901234的博客 909

HTTP 与 HTTPS 的三次握手与四次挥手详解

直接基于 TCP 进行通信,无加密层。TCP 三次握手建立连接,四次挥手断开连接。增加了 SSL/TLS 握手过程,确保数据的加密传输。有证书情况下,SSL/TLS 握手涉及证书验证和密钥交换过程。无证书情况下,SSL/TLS 握手流程简化,可能跳过证书验证,但仍然需要协商加密协议和密钥。通过三次握手和四次挥手,HTTP 和 HTTPS 确保了可靠的连接建立与关闭,而 HTTPS 进一步通过 SSL/TLS 协议实现了数据加密和安全性提升。

weixin_65477256的博客 5272

URP Shader编程之自定义后处理单pass渲染(URP 14.x)

❌ 不要在里拿✅ 只在里拿RendererFeature 生命周期RTHandle 设计Blitter 的真实语义Shader 输入来源。

qq1342753906的博客 607

一次http请求的完整过程

关于网络的知识平时可能真正用的比较少,但是有一些点还是需要总结的: 完成一次http请求要大致可以分为7个步骤: 一、TCP三次握手 第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认; 第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段...

weixin_30822451的博客 449

YOLOv13改进策略【多YAML融合】| HWD + DSC3k2_PConv + Detect_MBConv

本文记录的是利用HWD + DSC3k2_PConv + Detect_MBConv改进YOLOv13,分别涉及骨干、颈部和检测头部分的改进。一方面按照此配置,其工作量及创新程度能够满足论文发表的需求,另一方面是一些难以融合多个YAML的举例,以帮助大家理解如何将多个YAML整合到一个YAML中。小波下采样:一个简单但有效的语义分割下采样模块。块由两个主要块组成:无损特征编码块和特征表示学习块。HWD模块与其他下采样模块对比:保留信息能力:传统的下采样方法(如最大池化、平均池化和步幅卷积等)会导致信息丢失,

Limiiiing的博客 496

汽车电子零部件(14):TMS热管理系统

TMS(thermal management system)热管理系统,这是新能源汽车诞生后随之而产生的一种新汽车零部件,一旦热管理失控会触发自燃,这种现象也是对EV来说是件头疼的事。汽车的热管理系统(TMS)是一个关键部件,有助于调节汽车电池组、车厢和其他车辆系统的温度。TMS的主要目的是在驾驶过程中保持最佳的电池性能和乘客舒适度。TMS使用各种加热和冷却系统来调节电池组和车厢的温度,并通过优化其使用,降低能耗,提高车辆的整体效率。

码农17年的博客 3161

http的三次握手

在http的三次握手当中,首先客户端发起一个我要发送一个数据包的请求,发送到服务端,这里面呢会有一个标志SYN=1,Seq=X,syn是一个标识,就是我这是一个创建请求的数据包,然后seq等于一个数字,一般来说都是1,然后服务端接收之后,知道了我有一个客户要跟我创建连接了,那创建这个连接之后呢,服务端就会开启一个tcp,socket的一个端口,然后这个端口开启了之后,它返回给客户端,它返回的数据里面也是一个SYN=1,ACK=X+1,Seq=Y,然后它会返回一个ACK,ACK就等于第一次发送过来...

Firstlucky77的博客 9211

Python进阶005:修改Jupyter Notebook的工作路径

1、Jupyter Notebook简介 2、修改Jupyter Notebook的工作路径 如下三个步骤: 一、安装notebook 在CMD命令行中输入: pip install notebook 二、启动notebook jupyter notebook 启动后发现是在你的用户目录下,如下图所示,但是该目录下有很多的其他文件或文件夹,因此我想把这个环境切换到我单门创建的一个文件夹中。 三、创建notebook的配置文件 在CMD命令行中执行: jupyter notebook --genera

若北辰 1384

http请求与响应,TCP三次握手&四次分手

从前端发起请求到后台的整个过程,是一个面试中经常遇到的问题。大概的流程想必有一点基础的人都明白,但是要细说,却未必能一一道出来,曾经老师教过的知识也都差不多忘干净了。所以,我上网找了点资料,加上自己的理解,做个记录。 **********************************************************  华丽的分割线 *******************

只是一只程序媛 4万+

uniapp开发小程序保存图片权限获取失败一直走fail?本地能保存,线上版就不行! 原来是这个问题!

通过这次经历,我发现线上版小程序和开发版、体验版的权限控制差异较大。如果你也遇到类似的问题,首先要检查是否已勾选“采集用户隐私”,并确保在提交审核时配置了隐私条款。这个设置非常关键,避免像我一样浪费了不少时间和版本。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1077

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

http面试题,三次握手四次挥手

在浏览器中输入网址按下回车经历了一个怎样的过程?总的来说分为以下几个过程:1、DNS解析:将域名解析为IP地址;2、TCP连接:TCP三次握手;3、发生HTTP请求;4、服务器处理请求并返回HTTP报文;5、浏览器解析渲染页面;6、断开连接:TCP四次挥手; TCP如何保证数据可靠性 Udp、tcp基于无连接和连接

muzidigbig的博客 2635

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。常用来检测网络问题、攻击溯源、或者分析底层通信机制。

康师傅没有眼泪 8607

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于HTTP流程以及三次握手四次挥手

概念: httpd超文本传输协议 静态页面 静态资源 访问静态资源页面是静态页面 位于 应用层 http三个特征: 无连接: 例如下载数据,下载数据完毕后断开。 独立的: 可以传输任何数据类型 MIME-type类型内容里的 视频 音频 图片等 无状态的: 没有记忆能力 例如 缺少信息 后需要重传 与tcp 不同,tcp 有记忆。 http客户端请求流程图: 当客户端对网页进行浏览时, 域名解析 1.客户端拿到 ip地址后向服务器进行tcp三次握手进行连接 2.客户端向服务器发送指定的资源请求(..

King config 1万+

WireShark如何抓包,各种协议(HTTP、ARP、ICMP)的过滤或分析,用WireShark实现TCP三次握手和四次挥手

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。常用来检测网络问题、攻击溯源、或者分析底层通信机制。

宝藏女孩的成长日记 2万+

HTTP 、HTTPS 与 三次握手 四次挥手

一、概述 HTTP:超文本传输协议,基于TCP/IP通信协议来传输数据。 工作原理:客户端-服务端架构,客户端通过URL向http服务端发送请求,服务端接收到请求后,向客户端发送相应消息。http默认端口:80。 二、http三个特点 http是无连接的,限制每次连接只处理一个请求,服务端处理完客户端请求,并受到客户端的应答后,断开连接,节省传输时间; http是媒体独立的,客户端和服务...

努力进阶的小菜鸟 1940

TCP三次握手与四次挥手详解

表示发送端端口号,字段长 16 位,2个字节表示接收端端口号,字段长 16 位,2个字节序号(sequence number):字段长 32 位,占4个字节,序号的范围为 [0,4284967296]。由于TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号首部中的序号字段则是指本报文段所发送的数据的第一个字节的序号,这是随机生成的。序号是循环使用的,当序号增加到最大值时,下一个序号就又回到了0确认序号(acknowledgement number)

qq_42037383的博客 1384

TCP三次握手和四次挥手解析

三次握手(建立连接) (1)序号:seq序号,占32位,用来标识从TCP客户端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号,占32位,这个序号和发起的序号有关,在接受到信号后,将ACK置为1,才可以产生ack,且当ACK为1时,ack确认序号才有效,ack=seq+1。 (3)标志位: SYN:发起一个新连接。 ACK:确认序号有效。 FIN: 释放一个连接。 PSH:接受方应该尽快将这个报文交给应用层。 RST:重置连接。 URG:紧急指针有效。 具体过程如下: SYN

Ma_JunSSR的博客 1740

TCP 三次握手与四次挥手笔记

TCP连接通过三次握手建立(SYN→SYN+ACK→ACK),确保双方收发能力正常并同步序列号,防止历史连接干扰。断开连接采用四次挥手(FIN→ACK→FIN→ACK),因全双工特性需双方独立关闭各自通道,TIME_WAIT状态保证最终ACK可靠到达。三次握手解决失效请求问题,四次挥手确保数据完整传输,TIME_WAIT避免延迟包干扰新连接,是TCP可靠传输的核心机制。

笑衬人心的博客 1166

【三次握手,四次挥手】

三次握手,四次挥手

renrenrenrenqq的博客 494
上一篇: http协议详解
下一篇: 初级python使用
php_younger
博客等级 码龄10年 32粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值