【问题标题】:Http request and operating system [closed]Http请求和操作系统[关闭]
【发布时间】:2021-04-28 22:10:23
【问题描述】:

当我们从更高级别的程序(如 java、python)进行 http 调用时,操作系统中执行的步骤是什么。发起 http 调用涉及哪些所有组件?

据我了解,从客户端机器到服务器会建立一个阻塞的网络连接,一旦服务器响应,就会产生一个中断,通知调用线程。

但对我来说,有些东西仍然是黑匣子

  1. 在操作系统交互方面,http 调用与 RPC 调用有何不同
  2. 连接重用是操作系统或应用程序代码的属性。假设有 2 个客户端在 1 台客户端计算机上运行,​​它们是否能够重用现有连接?
  3. 一旦来自服务器的响应可供使用,应用程序线程如何通知。
  4. 编程语言处理这个问题的方式有什么不同吗?比方说 java vs python vs go。

【问题讨论】:

    标签: java http networking operating-system


    【解决方案1】:

    http 调用与 RPC 调用在操作系统交互方面有何不同

    它们不是,因为就操作系统而言,两者都只是 TCP/IP 连接。

    连接重用是操作系统或应用程序代码的属性。假设有 2 个客户端在 1 台客户端计算机上运行,​​它们是否能够重用现有连接?

    应用程序代码控制重用。

    一旦来自服务器的响应可供消费,应用程序线程如何通知。

    操作系统方法调用返回。除非操作系统支持异步调用。答案取决于操作系统和应用程序调用的 API 方法。

    编程语言如何处理这个问题有什么不同吗?让我们说 java vs python vs go。

    是的。我的意思是,他们几乎做同样的事情,即根据规范实现协议,但他们有自己的代码来做这件事。

    【讨论】:

    猜你喜欢
    • 2018-10-19
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 2015-01-06
    • 2014-01-28
    • 2011-10-31
    • 1970-01-01
    相关资源
    最近更新 更多