【问题标题】:Can I reuse a TCP connection?我可以重复使用 TCP 连接吗?
【发布时间】:2011-11-28 13:32:03
【问题描述】:

我正在连接到一个网站并通过向其发送 GET 请求来检索 HTTP 数据。而且我必须连接到同一个站点两次才能检索两个不同的页面。我是网络编程新手,但我相信 connect 函数连接到服务器,并创建一个 tcp 连接。

现在每次连接到服务器检索HTTP数据,它必须创建一个新的tcp连接,有什么办法可以重用旧的?它在另一个之后立即检索http数据。 这没什么大不了的,但我很好奇。

【问题讨论】:

    标签: c++ windows http networking tcp


    【解决方案1】:

    您可以使用HTTP 1.1,其中连接为persistent,或使用HTTP 1.0 并发送标头“Connection: Keep-Alive”。

    这样您无需再次连接即可获取第二个页面(只需再次在同一个套接字上GET)。

    【讨论】:

    • 我必须在数据包前后发送Connection: Keep-Alive 标头吗?或者只是第一个让第二个存活足够长的时间?
    • @Josh 在请求开始时以发送其他标头的方式发送它。
    • 如果我使用HTTP 1.1,我还需要发送Connection: Keep-Alive吗?
    • @Josh 不,它对 HTTP 1.1 是隐含的
    • 好的,最后一个问题。如果我正在接收第一个请求,我可以发送第二个GET 请求吗?
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 2018-08-07
    • 1970-01-01
    • 2023-03-22
    • 2014-08-02
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多