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.

  • 相关阅读:
    自定义 alert 弹窗
    js控制div内的滚动条的位置
    vue 的 起手式
    d3.js封装文本实现自动换行和旋转平移等功能
    redux
    mui 本地打包
    vue-router 运行机制 及 底层原理
    替代 Navigator 组件
    react-native 创建 ios 项目
    三元运算符
  • 原文地址:https://www.cnblogs.com/lexus/p/2391233.html
Copyright © 2011-2022 走看看