前言
对协议的理解
UDP与TCP协议
- UDP, 有状态的不可靠的连接, 用户数据报协议
- 把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。
- 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
- 说它是有状态的,举个视频直播的例子,常用UDP传输视频的帧,每一帧都是连续的,与上一次发送的数据有关联,也就是有状态的
- TCP, 有状态的可靠的连接, 传输控制协议
- 提供的是面向连接、可靠的字节流服务。
- 当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。(三次握手四次挥手)
- TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
由此衍生的协议族
- 类似继承的思想去思考它们的关系
例子
- TCP
+ HTTP
- post
- get
- put
- head
- TCP制定了一个标准,HTTP继承了它的特性,规定了消息文本内容的协议
- HTTP/1.1以及之前,它是具有无状态、短连接的特性,每一次请求对于服务端而言都是新的请求,上一次会话和下一次会话没有联系。
- HTTP下的post/get…等规定了语义
… 未完待续