我尝试了解 http 是如何工作的,但无法了解在哪个级别上实现了 http 协议,它是操作系统级别,还是取决于我需要在哪里使用它的协议?例如,如果我想在 CI 上使用它必须在 C 语言上将它作为库来实现,然后才使用它?
bar*_*rny 11
Http 在 tcp 之上运行 - 而 tcp 在您操作系统的网络堆栈中实现。
客户端和服务器之间使用 Http 协议。客户端发送的是服务器接收的内容,反之亦然。Http 被设计为让服务器简单地等待请求(可能包括数据),然后响应(可能包括数据)。
所有 Web 服务器都实现了 http 的服务器端。在应用程序方面(让我们使用术语“应用程序”来表示“客户端”,尽管有些人可能会说服务器是一个应用程序),我认为 http 协议的客户端最常在浏览器等应用程序中实现,但也有像 curl 和 wget 这样的命令行应用程序实现了一个 http 客户端。对于诸如 Python 之类的语言,标准库中有一个 http 服务器实现,或者有诸如处理 http 客户端的请求之类的库,因此 python 作者只担心发出哪个 http 请求的更高级别的问题。
所以答案是,http 没有在操作系统中实现,它在应用程序中实现 - 一些客户端,一些服务器端。
对于您的 C 应用程序,您要么必须自己实现 http(对我来说听起来并不有趣,但我想这将是理解 http 实现的好方法)或(压力小得多,并且更有可能具有可预测的纠正行为)如果你能找到图书馆,请使用图书馆。