【问题标题】:Persistence is at which layer?持久性在哪一层?
【发布时间】:2020-09-24 08:36:51
【问题描述】:

我知道 http 请求首先进行 3 次握手以建立连接。随后是请求和响应。

如果以后的请求需要握手,则称为非持久连接。

服务器可以选择保持连接活动,以便在超时值(持久)之前不需要握手。这称为持久连接。它不需要为每个请求进行 3 次握手,从而节省了所需的时间。

我的同事提到http支持持久性和非持久性。我的理解是 - tcp 建立连接。所以持久性是由 tcp 层控制的。我说的对吗?

【问题讨论】:

    标签: http tcp


    【解决方案1】:

    可能不对。 HTTP 比 TCP 更高层,HTTP 1.0 在完成传输一些数据流时会发送close()。但是在 HTTP 1.1 中,控制器不会发送close(),而是会发送keepalive/heartbeat 到另一端进行直播。它由应用层控制,换句话说,由 HTTP 本身控制。

    【讨论】:

      【解决方案2】:

      HTTP 支持持久连接的一种方式称为服务器发送事件。

      用于持久连接的 HTTP 替代方案是 WebSocket。 WebSocket 是一种计算机通信协议,通过单个 TCP 连接提供全双工通信通道。 WebSocket 在 TCP 之上启用消息流。 WebSocket 与 HTTP 不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-29
        • 1970-01-01
        • 2017-01-15
        • 2016-03-17
        • 2017-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多