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