【问题标题】:Where is http protocol implementation in LinuxLinux中http协议的实现在哪里
【发布时间】:2018-03-14 23:44:46
【问题描述】:

我尝试了解 http 的工作原理,但无法理解 http 协议在哪个级别实现,它是操作系统级别,还是取决于我需要在哪里使用它协议?例如,如果我想在 C 上使用它,我必须在 C 语言上将它作为库实现,然后才能使用它?

【问题讨论】:

    标签: http networking


    【解决方案1】:

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

    客户端和服务器之间使用Http协议。客户端发送的是服务器接收的,反之亦然。 Http 旨在让服务器简单地坐下来等待请求(可能包括数据),然后响应(可能包括数据)。

    所有的 web 服务器都实现了 http 的服务器端。在应用方面(让我们用术语“应用程序”来表示“客户端”,虽然有些人可能会说服务器是一个应用程序),我想http协议的客户端最常见的是在像浏览器这样的应用程序中实现,而且像 curl 和 wget 这样的命令行应用程序也实现了一个 http 客户端。对于诸如 Python 之类的语言,标准库中有一个 http 服务器实现,或者有诸如 requests 之类的库来处理 http 的客户端,因此 python 作者只担心要发出哪些 http 请求的更高级别的问题。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多