共计 680 个字符,预计需要花费 2 分钟才能阅读完成。
TCP
TCP 是面向连接的丶可靠的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于 TCP 是面向连接的所以只能用于端到端的通讯.
如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向‘上’传送到 TCP 层。TCP 将包排序并进行错误检查,同时实现虚电路间的连接。
TCP 数据包中包括 序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序(即应用层)。应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和物理介质,最后到接收方。
UDP
UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。
UDP 通讯时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。
端口号
数据链路和 IP 中的地址,分别指的是 MAC 地址 (MAC 地址是网卡地址) 和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。
HTTP 请求的传输过程
一次完整 http 请求的 7 个过程
1. 建立 TCP 连接(之前可能还有一次 DNS 域名解析)
2. 客户端向服务器发送请求命令
3. 客户端发送请求头信息
4. 服务服务器应答器
5. 返回响应头信息
6. 服务器向客户端发送数据
7. 服务器关闭 TCP 连接
Http 请求协议报文结构
请求报文结构:
返回报文结构:
正文完