Linux 小知识翻译 - 「协议(protocol)」
对于理解服务器和网络来说,「协议」是不可缺少的概念。
「协议(protocol)」有「规则,规定」的意思。
实际上「协议」的函数很广,在通信领域,「协议」规定了「在通信时,什么样的情况下,以什么样的顺序,什么样的方式交互什么样的数据」。
抽象的去理解「协议」可能会比较困难,下面来举个例子。
通过Web以HTML方式交互时使用的协议是「HTTP」(Hyper Text Transfer Protocol)。这个协议最重要的就是规定了服务器和客户端之间以HTML方式交互的规则。
比如,客户端连接上服务器之后,向服务器发送
GET /
之后,Web服务器就会向客户端发送对应的 HTML 文档。
像这样一系列的规定就是「协议」。
显然,这种规定无论在哪里的互联网上都是通用的。即,「协议」也可以说成是「共通的规则」(当然,使用的协议的版本不同,也有可能会不一样)。
那么,互联网通信使用的各式各样的协议包括:
- 「http」:HTML方式交互的协议
- 「SMTP」:发送电子邮件的协议
- 「FTP」:文件传输协议
- 「TCP」:1对1传输数据的协议
- 「IP」:互联网上传输数据的协议
等等。。。
这些协议的名称都是以「P」结尾的,「P」就是「Protocol」,所以看到这些名字就会让人知道这是一个协议。
有时候会问「通过互联网访问Web站点的时候使用的是哪种协议」,是HTTP还是TCP还是IP?还是其它?
答案是。。。「HTTP,TCP,IP都要使用」。
其实,网络通信的时候,并不是只使用一个协议,而是多个协议组合使用的。就是这点容易导致初学者的混乱。