对网络协议和UseNet的质疑

问题描述

抱歉我的无知,但这个话题已经让我紧张了好几天

我目前在一本关于网络的书中读到有一个 UseNet 就像博客一样,但使用不同的协议进行通信

  1. 我的问题是,当我开发软件时,我可以决定它使用哪种应用协议吗?

  2. TOR 浏览器,我读到 .onion 站点使用的协议与 HTTP 不同,这怎么可能?

解决方法

我们首先需要打破你的问题。有在操作系统中实现的协议(低级原型)和在应用程序中实现的协议(高级原型)。

使早期的高级 protos(例如 Usenet 和 SNMP)如此有趣的原因在于它们不依赖于低级协议。基本上,他们只需要操作系统提供一种机制,让流数据传入/传出他们想要与之对话的机器。可以看到 Usenet 的协议,UUCP,code 可以处理 TCP 或串行连接。

我的问题是,当我开发软件时,我可以决定它使用哪种应用协议吗?

是的,您向操作系统询问您的低级协议,然后在您的应用程序中实现您的高级协议。您还可以将协议分层。

TOR 浏览器,我读到 .onion 站点使用的协议与 HTTP 不同,这怎么可能?

虽然不是 TOR 专家,但像 SOCKS 这样的通用代理协议在低级别使用 TCP 连接到他们的第一个代理,然后使用更高级别的协议加密 HTTP 请求,以便它们在多个代理之间反弹。

这是一个非常高级的答案,您绝对可以在应用程序中实现低级协议。我只是说最常见的例子