Is HTTP 1.1 Consolidation Not Recommended in Native Mobile Applications?

For several years, I ran into problems with HTTP 1.1 pipelining and kept asking the server to send the HTTP header:

Connection: close

      

I want to come back to this solution. Are you using your own mobile applications for HTTP pipelining? Some of the HTTP pipelining issues I've encountered:

  • Server does not release TCP connections
  • My client is receiving multiple responses from a single HTTP connection.
+2


source to share


4 answers


Exactly what persistent connections and pipelining exist for is this: keeping the TCP connection open until it times out (or closes the browser) and sends multiple requests over the same protocol.

You might want to consider removing persistent connections if the server serves a large number of clients (you may have work, RAM, or even free ports, which increases response times for new requests)



If you want to read further, a pointer to persistent connection behavior

+2


source


One of the requirements for HTTP / 1.1 compliant clients / servers is pipelining support. So I don't see how this would be a problem ... I would prefer it to be encouraged. By using pipelining, you reduce resource creation, network bandwidth, etc.



All modern web servers support pipelining and any reasonably complete client library, so I'm not sure what the problem is ... maybe if you ask about specific bugs we could help you with them.

0


source


HTTP pipelining doesn't just mean that a TCP connection is open between sequential requests / responses. It describes the behavior of the user agent when it sends the next HTTP request without even waiting for the pending response for the last request.

In my experience, almost any HTTP server maintains persistent connections. Using pipelining is additionally less stable. Firefox implements this feature, but disables it by default.

0


source


You obfuscate HTTP pipelined and HTTP persistent connections.

A persistent connection is where you maintain a TCP connection for future requests, but still send them one at a time: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html

Pipelining is a rarely used feature of HTTP 1.1 where you simply run multiple requests on the same connection without waiting for responses. This is indeed required by the HTTP specification, but is rarely used by clients (for example, there is no HTTP in the Android library). However, most servers support it. It is described in section 8.1.2.2 of the same RFC.

0


source







All Articles