网络协议学习笔记

HTTP协议

简单介绍

HTTP属于应用层

HTTP可以简单的理解成类似json一样的文本封装,但是这是超文本,所以可以封装的不止有文本,还有音视频、图片等

请求方法

HTTP报文格式

三大部分

  • 起始行:描述请求或响应的基本信息
  • 头部字段集合:使用key-value形式更详细的说明报文
  • 空格:真就是一个" "
  • 消息正文:实际传输的数据,不一定是文本,可以是图片、音视频等二进制数据

请求报文格式

METHOD 空格 URI 空格 VERSION 换行
  • method(请求方法):如 GET/HEAD/PUT/POST,表示对资源的操作
  • 请求目标:通常是一个uri,标记了请求方法要操作的资源
  • VERSION:表示报文使用的HTTP协议版本

响应行报文格式

VERSION 空格 STATUS CODE 空格 REASON 换行
  • 版本号:表示报文使用的HTTP协议版本
  • 状态码:一个三位数,用代码的形式表示处理的结果
  • 原因:作为数字状态码的补充,更详细的解释文字,帮助人理解原因

HTTP头字段

key-value 的形式,key和value之间用 ":" 分隔,最后用CRLF换行表示字段结束;比如常用的"Content_type:application/json",这里的key就是 "Content-type",value 就是 "application/json"。

头字段注意事项

  • 字段名不区分大小写,字段名内不允许出现空格,可以使用连字符"-",但不能用下划线"_"
  • 字段名后面必须紧接着":",不能有空格
  • ":"后的字段值前可以有多个空格
  • 字段的顺序是没有意义的,可以任意排列不影响语义
  • 字段原则上不能重复,除非这个字段本身的语义允许,例如 Set-Cookie

常用头字段

可以简易分为四大类

  • 请求头字段:请求头中的头字段;如Host,Referer
  • 响应字段:响应头中的头字段,如Server,Date
  • 通用字段:在请求头和响应头里都可以出现,如 Content-type,Connection,Data;

学到此结束,细学链接如下2.HTTP协议_哔哩哔哩_bilibili

TCP协议

介绍

TCP:又叫传输控制协议(Transmission Control Protocal)是一种面向连接的、端对端的、可靠的、基于IP的传输层协议。主要特点是3次握手建立连接,4次挥手断开连接。

IP协议

介绍

IP:又叫因特网协议(Internet Protocol),IP协议位于网络层,IP协议规定了数据传输时的基本单元(数据包)和格式,IP协议还定义了数据包的递交办法和路由选择。

LwIP协议栈

介绍

LwIP:又叫轻型IP协议(Light Weight IP),同时操作网络层 和传输层,有无操作系统的支持都可以运行的一款主要应用于嵌入式领域的开源TCP/IP协议栈。

相关推荐
小小de风呀4 小时前
de风——【从零开始学习Linux】(九):进程基础 —— 从冯诺依曼体系到 fork 创建进程
linux·学习
李某学编程4 小时前
基于ARM的微机原理学习笔记(一)
arm开发·笔记·学习
Song_RsHt4 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
sbjdhjd5 小时前
AI产业周度动态:从“更强模型”走向“可执行、可治理、可计价”的系统竞争 (2026年10月19日—10月25日)
人工智能·笔记·ai·开源·gemini·信息差·claude code
FPGA小迷弟6 小时前
FPGA开发Vivado Block Design/Vitis/SDK/xlinx/开发教程,保姆级别,一看就会!
网络协议·tcp/ip·fpga开发·verilog·fpga
ss2736 小时前
AI时代首先数据库-PostgreSQL实战笔记 27 PostgreSQL数据写入与读取流程解析
数据库·笔记·postgresql
FPGA小迷弟6 小时前
基于FPGA实现智能网卡的概念,什么是智能网卡
网络协议·tcp/ip·fpga开发·verilog·fpga
深圳老胡7 小时前
压力检测空吸功能硬件方案全解析:主流压力传感器品牌与实现路径
笔记·单片机·代码规范
程序猿追7 小时前
返回 null 不一定入队成功:鸿蒙 KMP上的并发优先队列观察笔记
笔记·华为·harmonyos·kmp
~kiss~7 小时前
PRO-LONG: Programmatic Memory Enables Long-Horizon Reasoning 程序式记忆赋能长程推理
学习