代码之家  ›  专栏  ›  技术社区  ›  Robert S. Barnes Antoni

使用http/1.1管道发送多个请求

  •  7
  • Robert S. Barnes Antoni  · 技术社区  · 15 年前

    当使用http/1.1管道时,标准对发出多个请求而不等待每个请求完成有何规定?服务器在实践中做什么?

    我问是因为我曾经试着写一个客户,这个客户会发布一批 GET 请求多个文件并记住获取错误。我不确定是不是因为我发错了 得到 在发出下一个请求之前,等待或需要等待每个请求完成 得到 .

    1 回复  |  直到 15 年前
        1
  •  7
  •   M Nottingham    15 年前

    流水线就是这样——在一个连接上有多个“正在运行”的请求。

    在开放的互联网上,流水线并不常见,因为 很少的 服务器和中介无法正确处理,而弄乱管道的后果可能会很严重(例如,混淆对两个不同用户的响应)。

    请记住,只有http/1.1支持管道;如果中间有http/1.0服务器或1.0代理,则可能无法工作。

    此外,流水线只能用于get和head等“幂等”方法;post等不允许使用。

    见: http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-09#section-7.1.2.2