HTTP协议---工作原理&报文详情&完整请求过程

2023-05-16

1、工作原理

1.1、OSI 七层模型

OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。OSI采用了分层的结构化技术,共分七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
在这里插入图片描述

  • 物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。
  • 数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控。
  • 网络层:控制分组传送系统的操作、路由选择、拥护控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。
  • 传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。
  • 会话层:提供两进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能,如三种数据流方向的控制,即一路交互、两路交替和两路同时会话模式 。
  • 表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。
  • 应用层:提供OSI用户服务,例如事务处理程序、文件传送协议和网络管理等。

1.2、 HTTP 的工作原理

HTTP(HyperText Transfer Protocol超文本传输协议)是一套计算机通过网络进行通信的规则。HTTP的工作流程可分为四步:

  • 客户端与服务器建立连接。当在浏览器输入网址或当点击链接时,HTTP开始工作。
  • 建立连接后,客户机发送一个请求给服务器,如在浏览器地址栏输入www.baidu.com,浏览器将请求封装成HTTP报文,请求报文的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。打开浏览器控制台Network,可看到浏览器发送的请求。

在这里插入图片描述

  • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
  • 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

1.3、URI 和常见的协议

  • URL:统一资源定位符,其为URI(统一资源标识符)的一个子集。通过描述资源的位置来描述资源。

  • URN:通过名字来识别资源,和位置无关。

  • 如下几种URI:
    在这里插入图片描述

  • 绝对URI的格式
    在这里插入图片描述

  • 常见的协议以及对应端口号
    (1)FTP 文件传输协议,使用21端口。
    (2)HTTP:超文本传输协议。默认80端口。
    (3)HTTPs:具有安全性的ssl加密传输协议,端口号443
    (4)Telnet:一种用于远程登陆的端口,用户可以远程连接到计算机。通过这种端口可提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
    (5)SMTP: 简单邮件传送协议,25端口。
    (6)POP3:它是和SMTP对应,POP3用于接收邮件110端口。

1.4、HTTP 协议和服务器交互的方法

HTTP最大的作用就是客户端向服务器发送请求,服务器对其做出响应。客户端向服务器发送请求的方式有很多,简要列举如下:

  • GET。【查】。通常用于请求服务器资源。在浏览器输入网页地址,就是给服务器发送一个get请求,希望得到该网页。
  • POST。【增】。通常用于服务器发送数据,用来支持HTML表单(input、select textarea),表单中的数据会被发送到服务器。
  • HEAD。【查】。与GET方法类似,但在服务器响应中没有资源的内容,只有资源的一些基本信息。主要用处:a. 在不获取资源详情的情况下获取该资源信息,如,类型、大小;b. 通过状态码查看资源是否存;c. 通过查看其首部,测试该资源是否被修改。
  • PUT。【改】。与GET方法相反,PUT用于向服务器写入资源,其语义是让服务器用请求主体部分创建一个请求URL命名的文档,如果存在就替换。
  • TRACE。【查】。客户端发送一个请求的时候,这个请求可能会穿过防火墙、代理、网关和一些其它应用程序,没个中间节点都可能修改HTTP请求,TRACE方法允许客户端在最终请求发往服务器的时候,看看它变成了什么样子。TRACE请求会在目的服务器端发送一个“闭环”诊断,行程最后一站服务器会弹回一条TRACE响应,并在响应主题中携带它收到的原始请求报文。
  • DELETE。【删】。用于要求服务器删除请求的URL,和PUT一样,服务器可能会不支持。
  • OPTIONS。该方法用于请求 web服务器,并告知其支持的各种功能。

1.5、 状态码

HTTP状态码,反映了Web服务器处理HTTP请求的状态。HTTP应答码由3位数字构成,其中首位数字定义应答码的类型

  • 1X - 信息类(Information),表示收到Web浏览器请求,正在进一步的处理中
  • 2X - 成功类(Successful),表示用户请求被正确接收,例如:200 OK成功
  • 3XX - 重定向类(Redirection),表示请求没有成功,客户必须采取进一步的动作。如
    a. 301:永久重定向。Moved Permanently,客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL
    b. 302:临时重定向。与301状态码类似,但客户端应该使用Location首部给出的URL来零食定位资源,将来的请求仍然使用老的URL。
    b. 304: Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲文档仍可继续使用。
  • 4XX - 客户端错误(Client Error),表示客户端提交的请求有错误 例如:404 NOT Found,意味着请求中所引用的文档不存在。
  • 5XX - 服务器错误(Server Error)表示服务器不能完成对请求的处理:如 500 对于我们Web开发人员来说掌握HTTP应答码有。503 Service Unavailable 服务器由于维护或者负载过重未能应答。

2、http报文详解

2.1、报文组成

HTTP报文大致分为报文首部报文主体两块,中间用空行来划分。通常,不一定有报文主体。

  • 报文首部:包含服务器或客户端需处理的请求或响应的内容及属性。
  • 报文主体:应该被发送的数据。

2.2、请求报文首部结构

--请求行:包含用于请求的方法,请求URI和HTTP版本。
--请求首部字段
--通用首部字段
--实体首部字段
--其它

举个栗子,浏览器地址栏输入www.baidu.com,打开控制台,查看Request Headers,看到如下信息:

    GET / HTTP/1.1
    Host: www.baidu.com
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Referer: https://www.baidu.com/s?wd=HTTP%20%E5%8D%8F%E8%AE%AE%E6%9C%89%E5%87%A0%E7%A7%8D%E5%92%8C.....
    Accept-Encoding: gzip, deflate, sdch, br
    Accept-Language: zh-CN,zh;q=0.8
    Cookie: BIDUPSID=670A04B660AAF2716D3120BEAF946A11; BAIDUID=2454D4....
    RA-Ver: 3.0.8
    RA-Sid: CA623F7A-20150914-060054-2b9722-5fde41
  • 第一行为请求行: GET / HTTP/1.1 方法是GET,协议版本http1.1
  • HOST:请求资源所在服务器
  • Connection keep-alive:一般情况下,web服务器向浏览器发送请求数据后,就要关闭TCP连接,然后若浏览器或者服务器在其头信息加入Connection:keep-alive,则请求数据被发送后仍将保持连接状态。因此,浏览器可继续通过相同连接发送请求。在此保持连接【即长连接】模式下,能节省为每个请求建立新连接所需要的时间,还节约了网络带宽。
  • User-Agent:客户端程序信息,就是发送请求的浏览器信息。
  • Accept:列出了浏览器可以接收的媒体数据类型
    a. 文本文件:text/html, text/palin,text/css,application/xhtml+xml…
    b. 图片文件:image/jpeg, image/gif, image/png…
    c. 视频文件: video/jpeg, video/quicktime…等。
  • Accept-Encoding:浏览器用来告知服务器能够支持的内容编码及内容编码的优先级顺序,可一次性指定多种内容编码。例如:
    a. gzip:有文件压缩程序gzip生成的编码格式。
    b. deflate:组合使用zlib格式和deflate压缩算法生成的编码格式。
    c. sdch: Shared Dictionary Compression over HTTP字典压缩算法。
  • Accept-Language:告知服务器浏览器能够处理的自然语言集(中文、英文等)。zh-CN中文简体。
  • Cookie:浏览器记录的用户相关信息。

2.3、响应报文首部结构

--状态行
--响应首部字段
--通用首部字段
--实体首部字段
--其他

浏览器控制台给出了相应的Reponse Headers:

HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Mon, 16 Jan 2017 06:35:24 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: private
Expires: Mon, 16 Jan 2017 06:35:24 GMT
Content-Encoding: gzip
X-UA-Compatible: IE=Edge,chrome=1
Strict-Transport-Security: max-age=172800
BDPAGETYPE: 2
BDQID: 0xe0042a0200002ea3
BDUSERID: 252528851
Set-Cookie: BDSVRTM=104; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=21767_1446_21111_18133_19898_20718; path=/; domain=.baidu.com
Set-Cookie: __bsi=17204004216256107848_00_0_I_R_105_0303_C02F_N_I_I_0; expires=Mon, 16-Jan-17 06:35:29 GMT; domain=www.baidu.com; path=/
  • 第一行状态行:给出了状态码200,表示请求已被正常处理。
  • Server:这是服务器用来告诉客户端当前服务器上安装的HTTP服务器应用程序的信息,可能包含服务器上的软件应用名称,版本号等。
  • Content-Type:此字段标明了服务器返回给浏览器的实体内容的类型是text/html,charset。
  • UTF-8。这部分与请求头中的Accept相对应。
  • Transfer-Encoding: chunked 表示输出的内容长度不能确定,普通的静态页面、图片之类的基本上都用不到这个。动态页面中可能会用到。
  • Cache-Control: 缓存控制,默认值为private,表示内容只缓存到私有缓存中(仅客户端可以缓存,代理服务器不可缓存)。
  • Expires:告知客户端资源失效的日期。当浏览器看到响应中有一个Expires头时,它会和相应的组件一起保存到其缓存中,只要组件没有过期,浏览器就会使用缓存版本而不会进行任何的HTTP请求。Expires设置的日期格式必须为GMT(格林尼治标准时间)。
  • X-UA-Compatible: 设置浏览器兼容模式。 IE=Edge 指定IE浏览器以最新的标准来渲染页面,chrome=1 则可以激活Chrome Frame,将允许站点在使用了谷歌浏览器内嵌框架(Chrome Frame)的客户端渲染,对于没有使用的,则没有任何影响。

2.4、报文主体部分

在刚才访问 www.baidu.com 的例子中,控制台点击 Response,就可以看到服务器返回给浏览器的数据(如下图所示),数据格式为html,浏览器拿到数据后解析渲染成我们所看到的百度首页。

在这里插入图片描述
在百度的搜索栏输入我们想要搜索的数据,例如我输入了百科,刷新观察Network给出的报文信息,我们会发现请求头(Request Headers)后面多了一串数据Query String Parameters(查询字符串参数列表),如图所示,

在这里插入图片描述
在这里插入图片描述
当查询数据时,浏览器将查询数据打包到HTTP请求报文中并发送给服务器。服务器处理完成后,返回给浏览器一串JavaScript的字符串:

jQuery110202691066588863864_1484617221926({"q":"","p":false,"bs":"百科","csor":"0","status":770,"s":[]});

2、一次完整的请求过程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
以上完整的HTTP请求和响应的七大步骤,其流程大致如下:

①:DNS解析域名得到IP地址

②:客户端与服务器建立连接(TCP三次握手)

③:客户端发起请求

④:服务器接收到请求根据端口号.路径等找到对应资源文件,响应源代码给客户端

⑤:客户端拿到请求到的数据(html页面的源代码),开始解析页面以及请求资源

⑥:客户端渲染页面

⑦:web服务器断开连接(四次挥手)

各步骤的详细过程见链接:https://cloud.tencent.com/developer/article/1573346

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTP协议---工作原理&报文详情&完整请求过程 的相关文章

  • VSCode调试C/C++项目

    最近写完了自己的操作系统 xff0c 深感有一个方便的调试环境是有多么重要 xff0c 能够提升不少开发效率 恰好最近在的技术交流群里群友在问如何搭建VSCode调试操作系统的环境 xff0c 刚考完试 xff0c 就先把这篇VSCode调
  • 误差与精度

    整理自 误差理论与数据处理 合肥工业大学 机械专业用于教授学生误差与精度概念的课程叫做 公差与测量 或者叫做 机械精度设计 xff0c 而公差或者精度的本质含义就是误差的大小 xff0c 公差越小 xff0c 误差越小 xff0c 精度越高
  • 两个类的头文件互相包含

    两个类的头文件互相包含 我做任务的时候遇到了两个类都互相包含对方的对象的问题 xff0c 本来是有错误的 xff0c 但经过我一番改动 xff0c 两个头文件互相包含同时 xff0c 每个头文件都含有令一个类的前置声明 虽然最后运行正确 x
  • 【C++ STL 容器】——vector

    概述 vector容器也被称作向量 xff0c 实现了动态的数组 xff0c 用于元素数量变化的对象数组 xff0c 算是比较常用的容器 常用函数 构造函数 vector 创建一个空vectorvector int size 创建一个vec
  • 2021-07-22

    MSP432在keil中通过CMSIS DAP下载程序出现cannot enter debug mode的解决办法 xff1a MSP432下载程序出现cannot enter debug mode 可以通过修改如下设置 Debug里面的两
  • 通信协议基础以及常用的串口通信协议

    通信协议 xff1a 串行通信和并行通信 在数据的通信方式中根据数据传输方式的不同可以分为 xff1a 串行通信和并行通信 串行通信 xff1a 串行通信是指使用一条数据线 xff0c 将数据一位一位地依次传输 xff0c 每一位数据占据一
  • Ubuntu安装ROS melodic,管理环境,创建工作空间

    一 安装ROS 1 设置源 xff1a sudo sh c 39 etc lsb release amp amp echo 34 deb http mirrors tuna tsinghua edu cn ros ubuntu 96 lsb
  • HTTP请求报文的结构组成及URL的结构组成

    HTTP请求报文 HTTP 超文本传输协议 Hypertext Transfer Protocol xff0c 简称HTTP 是应用层协议 HTTP 是一种请求 响应式的协议 xff0c 即一个客户端与服务器建立连接后 xff0c 向服务器
  • Qt之旅_001>>Qt常用窗口类之间的关系

    QApplication xff0c QGuiApplication QCoreApplication三者之间的关系 QCoreApplication处于core模块中 xff0c 为应用程序提供了一个非gui的时间循环 xff1b QGu
  • GPIO相关介绍

    文章目录 GPIO概念TXD与RXD GPIO的使用注意STM32IO口哪些兼容5V一定不要接超过5V的电压默认不能做输出的GPIO GPIO硬件原理图GPIO地址 GPIO的八种工作模式浮空输入带上拉输入带下拉输入模拟输入开漏输出推挽输出
  • STM32的常用C语言

    文章目录 一些被坑了的注意点 int16 define结构体与共用体指针 C语言发展史C语言概述C90 标准C99标准C11标准 C编译o代替c 条件语句else ifdo while 变量定义一个字符串字符串结尾 定义一个字符串数组sta
  • STM32应用霍尔转速传感器基于输入捕获

    这里我用通用定时器3的通道1来测量转速 霍尔转速传感器基本介绍霍尔传感器分类和原理关于为什么选用开关型常开PNP型霍尔传感器 STM32程序实现程序介绍程序源码TIM3 CAP HTIM3 CAP H解读TIM3 CAP CTIM3 CAP
  • Android so库开发——使用Studio生成自己的so库(一)

    一 创建Native项目 1 新建 Native 项目 1 xff09 新建项目 选择最下面的 Native C 43 43 下一步即可 2 xff09 填写项目信息 3 xff09 选择C 43 43 版本可以直接选择默认 2 下载并配置
  • C语言实现线性回归求斜率

    2020 11 22 修改 span class token comment 线性回归求斜率 注意数据类型 参数 count 数据个数 数组行 列 的个数 数组的行列数目相等 参数 dataCol X 数据的列数据 参数 dataRow Y
  • 【C语言】详解位域定义与使用

    位域的定义 span class token keyword struct span span class token class name bit span span class token punctuation span span c
  • C语言实现MQTT协议(一)协议讲解

    MQTT介绍 MQTT是一个客户端服务端架构的发布 订阅模式的消息传输协议 它的设计思想是轻巧 开放 简单 规范 xff0c 易于实现 这些特点使得它对很多场景来说都是很好的选择 xff0c 特别是对于受限的环境如机器与机器的通信 xff0
  • 【STM32】HAL库-外部中断

    外部中断框图 产生中断 硬件触发外部中断 配置中断屏蔽寄存器中的屏蔽位 xff0c 允许该外部中断请求 通过AFIO EXTICRx配置GPIO线上的外部中断 事件 xff0c 必须先使能AFIO时钟 选择外部中断的触发边沿 xff0c 上
  • 【STM32】HAL库-系统滴答定时器SysTick

    SysTick定时器被捆绑在NVIC中 xff0c 是一个简单的定时器 xff0c 对于CM3 CM4内核芯片 xff0c 都有Systick定时器 Systick定时器常用来做延时 xff0c 或者实时系统的心跳时钟 这样可以节省MCU资
  • 【STM32】HAL库-串口USART

    USART简介 通用同步异步收发器 USART 提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换 USART利用分数波特率发生器提供宽范围的波特率选择 一个波特率寄存器 USART BRR xff0c
  • 【STM32】HAL库-通用定时器

    简介 通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成 它适用于多种场合 xff0c 包括测量输入信号的脉冲长度 输入捕获 或者产生输出波形 输出比较和PWM 使用定时器预分频器和RCC时钟控制器预分频器 xff0c 脉冲长

随机推荐

  • 【STM32】HAL库-SPI

    3线全双工同步传输 带或不带第三根双向数据线的双线单工同步传输 8或16位传输帧格式选择 主或从操作 支持多主模式 8个主模式波特率预分频系数 最大为fPCLK 2 从模式频率 最大为fPCLK 2 主模式和从模式的快速通信 主模式和从模式
  • 【STM32】标准库-以太网外设-LAN8720A-LWIP-无操作系统

    TCP IP模型 TCP IP 只有四个分层 xff0c 分别为应用层 传输层 网络层以及网络访问层 xff08 物理层 xff09 实际上 xff0c 还有一个 TCP IP 混合模型 xff0c 分为五个层 它实际与 TCP IP四层模
  • 【STM32】标准库-LTDC-DMA2D

    LTDC STM32F429 系列芯片内部自带一个 LTDC 液晶控制器 xff0c 使用 SDRAM 的部分空间作为显存 xff0c 可直 接控制液晶面板 xff0c 无需额外增加液晶控制器芯片 STM32 的 LTDC 液晶控制器最高支
  • 【STM32】HAL库-以太网外设-LAN8720A-LWIP-无操作系统

    开发环境 KEIL MDK ARM 5 27MCU STM32F429IGT6PHY IC LAN8720ALWIP LWIP2 1 2STM32CUBEMX 6 6 1HAL V1 27 1 LAN8720A使用RMII接口与STM32的
  • git学习

    常用命令 查看当前文件夹下的文件与文件夹 xff1a ls ll 进入当前文件夹下的user文件夹 xff1a cd user 查看当前文件夹下的test txt文件 xff1a cat test txt 返回上一级目录 xff1a cd
  • 电赛专题---一.概述【电赛简介 /信号类需要准备什么?/怎么才能打好电赛?】

    1 电赛简介 全国大学生电子设计竞赛 xff08 National Undergraduate Electronics Design Contest xff09 是教育部和工业和信息化部共同发起的大学生学科竞赛之一 xff0c 是面向大学生
  • Postman安装

    1 官网下载 下载链接地址 xff1a https www postman com downloads 点击Download the App 根据自己的电脑以及需求选择对应的32位或者64位的版本 2 双击安装包 xff0c 不用任何操作
  • UART串口通信

    串口是 串行接口 的简称 xff0c 即采用串行通信方式的接口 串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送 xff0c 其特点是通信线路简单 xff0c 但传输速度较慢 因此串口广泛应用于嵌入式 工业控制等领域中对数据传输速
  • Java第四课数据类型(二)

    一 变量类型 1 字节型 byte 2 整型 xff08 1 xff09 int 整型 4字节 xff08 2 xff09 show 短型 2字节 xff08 3 xff09 long 长型 8字节 3 浮点型 xff08 1 xff09
  • ESP32蓝牙配网

    注意 menuconfig 配置 xff08 必须打开蓝牙我这是C2所以使用NimBLE xff09 可以直接从demo的配置文件拷贝 Component config gt Bluetooth gt NimBLE BLE only Com
  • [C#] UDP协议 常用简单的代码(基于UdpClient类)(Thread实现)

    目录 说明1 消息发送端2 消息接收端 说明 在使用 C 开发Winform WPF等富客户端应用程序时 xff0c 有时会有 进程 之间 相互通信 的需求 下面是一种能够实现Udp 消息收发 常用且较为简单的 C 代码 使用注意 xff1
  • 掌控板OLED显示

    掌控板OLED显示 OLED显示文本内容 需要先将显示清空 xff0c 然后将想要显示的内容放在里面 xff0c 最后放入oled显示生效 源代码如下 xff1a span class token keyword from span mpy
  • 激光slam学习笔记1--RTK组合惯导、激光雷达传感器一些经验知识分享

    前言 xff1a 跟组合惯导和激光雷达打交道半年了 xff0c 过程中查找学习了这两方面的资料 xff0c 这里来个小结 如果有理解错误的 xff0c 望大佬们不吝赐教 一 RTK组合惯导 个人理解有两部分组成 xff0c 一个提供gps信
  • 计算机组成原理第五章:输入输出系统

    本章知识架构 接口 接口分类 xff1a 并行接口 xff1a 接口与系统总线 xff0c 接口与外设均按并行方式传送数据 串行接口 xff1a 接口与系统总线并行 xff0c 与外部设备串行 按I O传送控制方式划分 xff1a 直接程序
  • STM32串口通信 (缓冲区 发送不出数据&接收不到数据)

    STM32串口通信 流程附上代码注意事项一点心得 xff1a 流程 xff08 简单的发送数据 xff09 GPIO时钟使能串口时钟使能串口的GPIO配置写初始化串口函数 xff0c 配置串口USART Init USART1 amp US
  • 设计一个脉冲发生器,已知系统时钟为50MHz,生成脉冲宽度为1ms,脉冲间隔可调,最大间隔为1s

    设计一个脉冲发生器 xff0c 已知系统时钟为50MHz xff0c 生成脉冲宽度为1ms xff0c 脉冲间隔可调 xff0c 最大间隔为1s Design a pulse generator The system clock is kn
  • 详解结构体与链表

    目录 1 定义使用结构体变量 2 使用结构体数组 3 结构体指针 4 结构体内存对齐 重点 5 typedef的使用 6 动态内存的分配与释放 7 链表的创立 增删查改插 什么是链表 xff1f 静态链表和动态链表 链表的创立 链表的插入元
  • c++头文件及函数

    目前小编只了解到这些 xff0c 如果还有其他的一些头文件或函数 xff0c 欢迎评论区留言或者私信小编 xff0c 谢谢大家的观看 1 include lt iostream gt system pause 系统暂停 system mod
  • 将Ubuntu虚拟机架设到GNS3拓扑网络上并进行TCP协议仿真分析

    目录 前言环境配置 xff08 将Ubuntu虚拟机挂载到GNS3拓扑网络上 xff09 配置Ubuntu虚拟机GNS3拓扑网络配置先进行一下数据传输检验通路是否正常 开始实验task1 TCP传输过程中的IP分片task2 TCP请求与一
  • HTTP协议---工作原理&报文详情&完整请求过程

    1 工作原理 1 1 OSI 七层模型 OSI xff08 Open System Interconnection xff0c 开放系统互连 xff09 七层网络模型称为开放式系统互联参考模型 xff0c 是一个逻辑上的定义 xff0c 一