为什么我们可以使用telnet 来连接http 或memcached?

why can we use telnet to connect http or memcached?

以前以为telnet、http和memcached使用的是不同的协议,没想到居然可以用telnet连接http和memcached服务器。

为什么?

许多协议只是简单的 ASCII 字符,在某个 sequence/order 中,在客户端和服务器之间来回。 Telnet 是最早开发的基于文本的协议之一(1969 年,根据 Wikipedia)。后来出现的协议,如 FTP、SMTP、HTTP 等都建立在该基于文本的协议之上。后来,memcached(和 Redis)之类的东西也做了;调试基于文本的协议更容易,因为人类可以轻松地 "read" 来回传递消息。

并且说 memcached 协议、FTP、SMTP、HTTP、 是不同的协议是正确的——但这并不意味着它们在常见,例如基于文本。

还有许多非基于文本的协议(例如 SSH、TLS 等);对于这些,使用 Telnet 将不起作用。那么,Telnet 是一个非常简单的网络客户端,它可以传输文本消息,几乎可以用来执行任何其他基于文本的协议 "manually"。

希望这对您有所帮助!