OSI七层模型和相关协议
七层模型从上到下如下所示:
- 应用层:负责应用之间的通信,处理请求和响应的具体格式
- 表示层:对于数据格式进行处理
- 会话层:负责建立和断开通信连接,
- 传输层:负责建立端口之间的连接,规范数据传输
- 网络层:负责主机之间的传输和寻路
- 数据链路层:负责传输数据帧,进行差错检测
- 物理层:负责将数据和电信号进行转化
OSI七层模型的每一层有对应的协议和规范,如图所示:
Tcp协议
简介
TCP(Transmission Control Protocol)是传输控制协议,是一种面向连接的、安全的、基于字节流的传输层通信协议。
特点
TCP协议是面向连接的传输协议 、数据安全、没有大小限制(基于字节流)、速度慢。
UDP协议是面向无连接的传输协议、数据不安全、有大小限制(基于数据报,一次做多64k)、速度快。
TCP和UDP的区别如下表所示:
报文格式
TCP协议的报文格式如图所示:
对各字段的解释如下表所示:
三次握手和四次挥手
如图所示:
Http协议
简介
HTTP(HyperText Transfer Protocol)是超文本传输协议,是基于TCP协议的一个应用层协议。
特点
短连接:基于TCP面向连接的特性,每次请求都需要建立连接,请求结束后断开连接。想要保持长连接,可在连接有效期内定期发送请求。
无状态:由于是短连接,请求响应之后直接断开连接,因此不会进行状态存储,下次连接需要重新输入数据信息。
通信使用明文:HTTP协议的通信内容都是明文,不加密,因此不安全。
报文格式
请求报文
请求行结构
版本的对应
响应报文
响应行格式
状态码
引用参考
滑动验证页面https://segmentfault.com/a/1190000043974534