Linux中的http协议实现在哪里

时间:2016-11-04 17:22:55

标签: http networking

我试着理解http是如何工作的,无法理解http协议实现的级别,它的操作系统级别,还是取决于我需要使用它的协议?例如,如果我想在C上使用它,我必须在C语言中实现它作为库,然后才使用它吗?

1 个答案:

答案 0 :(得分:4)

Http在tcp之上运行 - 并且tcp在您的操作系统的网络堆栈中实现。

在客户端和服务器之间使用Http协议。客户端发送的是服务器接收的内容,反之亦然。 Http是为服务器设计的,只是等待请求(可能包括数据),然后响应(可能包括数据)。

所有Web服务器都实现http的服务器端。在应用程序方面(让我们使用术语“应用程序”来表示“客户端”,尽管有些人可能会说服务器是一个应用程序),我想,http协议的客户端通常会在像浏览器这样的应用程序中实现,还有像curl和wget这样的命令行应用程序实现了一个http客户端。对于像Python这样的语言,标准库中有一个http服务器实现,或者存在处理http客户端的请求等库,因此python作者只是担心要发出哪些http请求的高级问题。 / p>

所以答案是,http没有在操作系统中实现,它是在应用程序中实现的 - 一些是客户端,一些是服务器端。

对于你的C应用程序,你要么必须自己实现http(对我来说听起来不是很有趣,但我认为这是理解http实现的一种好方法)或者(压力更小,更可能有可预测性)纠正行为)如果你能找到一个库,就使用它。