zoukankan      html  css  js  c++  java
  • Pipelining

    Advanced HTTPClient Info

    Pipelining

    If the connection is kept open across requests then the requests may
    be pipelined. Pipelining here means that a new request is sent before
    the response to a previous request is received. Since this can
    obviously enhance performance by reducing the overall round-trip time
    for a series of requests to the same server, the HTTPClient has been
    written to support pipelining (at the expense of some extra code to
    keep track of the outstanding requests).

    The programming model is always the same: for every request you send
    you get a response back which contains the headers and data of the
    servers response. Now, to support pipelining, the fields in the
    response aren't necessarily filled in yet when the HTTPResponse object
    is returned to the caller (i.e. the actual response headers and data
    haven't been read off the net), but the first call to any method in the
    response (e.g. a getStatusCode()) will wait till the
    response has actually been read and parsed. Also any previous requests
    will be forced to read their responses if they have not already done so
    (so e.g. if you send two consecutive requests and receive responses
    r1 and r2, calling
    r2.getHeader("Content-type") will first force the complete
    response r1 to be read before reading the response
    r2). All this should be completely transparent, except for
    the fact that invoking a method on one response may sometimes take a
    few seconds to complete, while the same method on a different response
    will return immediately with the desired info.

  • 相关阅读:
    TL 重构
    eclipse中使用Lombok
    一个成功的 Git 分支模型
    《重构,改善既有代码的设计》读书笔记
    重构——改善既有代码的设计
    安装Mysql5.7并修改初始密码
    支付宝支付-PC电脑网站支付
    sqlite3 线程模型
    sqlite 常用的一些语句
    Electron 入门第一篇
  • 原文地址:https://www.cnblogs.com/lexus/p/2391233.html
Copyright © 2011-2022 走看看