当前位置: 首页 > news >正文

网络协议学习笔记

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协议栈。

http://www.lryc.cn/news/359385.html

相关文章:

  • C语言文件操作:打开关闭,读写
  • 启智CV机器人,ROS,ubuntu 20.04 【最后一步有问题】
  • React-生成随机数和日期格式化
  • 11Linux学习笔记
  • 004 仿muduo实现高性能服务器组件_Buffer模块与Socket模块的实现
  • 研发效能DevOps: Ubuntu 部署 JFrog 制品库
  • hadoop学习笔记
  • 使用dockerfile快速构建一个带ssh的docker镜像
  • linux部署运维1——centos7.9离线安装部署涛思taos2.6时序数据库TDengine
  • Linux shell编程学习笔记51: cat /proc/cpuinfo:查看CPU详细信息
  • Ps:调整画笔工具
  • 香橙派 AIpro上手体验并验证车道线识别算法
  • 为啥装了erlang,还报错erl: command not found?
  • 容器技术基础理论与常用命令:必知必会,效率翻倍!
  • ChatGPT Edu版本来啦:支持GPT-4o、自定义GPT、数据分析等
  • Spark RDD案例
  • 【线性表 - 数组和矩阵】
  • Springboot 开发 -- 跨域问题技术详解
  • 【Qt】之【项目】整理可参考学习的git项目链接(持续更新)
  • 2024年5月个人工作生活总结
  • Kafka Java API
  • pushd: not found
  • 【第十三节】C++控制台版本坦克大战小游戏
  • 酷得单片机方案 2.4G儿童遥控漂移车
  • 【为什么 Google Chrome 打开网页有时极慢?尤其是国内网站,如知网等】
  • FastAPI - 数据库操作5
  • HTML静态网页成品作业(HTML+CSS)—— 冶金工程专业展望与介绍介绍网页(2个页面)
  • Flutter基础 -- Dart 语言 -- 注释函数表达式
  • “仿RabbitMQ实现消息队列”---整体架构与模块说明
  • springboot如何快速接入minio对象存储