Questions tagged [http-pipelining]

HTTP pipelining is a technique in which multiple HTTP requests are sent on a single TCP connection without waiting for the corresponding responses.

HTTP pipelining is a technique in which multiple HTTP requests are sent on a single TCP connection without waiting for the corresponding responses.

The pipelining of requests results in a dramatic improvement in the loading times of HTML pages, especially over high latency connections such as satellite Internet connections. The speedup is less apparent on broadband connections, as the limitation of HTTP 1.1 still applies: the server must send its responses in the same order that the requests were received — so the entire connection remains first-in-first-out and HOL blocking can occur.

Since it is usually possible to fit several HTTP requests in the same TCP packet, HTTP pipelining allows fewer TCP packets to be sent over the network, reducing network load.

HTTP pipelining requires both the client and the server to support it. HTTP/1.1 conforming servers are required to support pipelining. This does not mean that servers are required to pipeline responses, but that they are required not to fail if a client chooses to pipeline requests.

via: Wikipedia

22 questions
53
votes
1 answer

Difference between HTTP pipeling and HTTP multiplexing with SPDY

Thanks to Google and Stack Overflow, I think I understood the difference between regular HTTP pipelining and HTTP multiplexing (e.g., with SPDY), so I made the diagram below to show the differences between pipelining and multiplexing based on three…
qualle
  • 1,337
  • 3
  • 14
  • 29
51
votes
1 answer

What are the disadvantage(s) of using HTTP pipelining?

WWDC 2012 session 706 - Networking Best Practices explains HTTP Pipelining. By default its disabled on iOS In the talk its described it as a huge performance win. Why might you not want to use it?
Robert
  • 35,442
  • 34
  • 158
  • 205
21
votes
2 answers

Why is pipelining disabled in modern browsers?

Many, if not all modern browsers are not using pipelined HTTP requests. In theory pipelining should speed up requests by reducing the number of round trip times required to fetch a website. According to the HTTP standard, all servers must handle…
Filip Haglund
  • 12,351
  • 10
  • 60
  • 102
9
votes
1 answer

HTTP: what are the relations between pipelining, keep-alive and Server Sent Events?

I am trying to understand what are the HTTP pipelining and HTTP keep-alive connections, and trying to establish a connection between these two topics and Server Sent events technology. As far as I understand, HTTP keep-alive connection is the…
KutaBeach
  • 1,355
  • 18
  • 38
6
votes
2 answers

HttpClient pipelining HTTP GET requests to ServiceStack API

First, I have ServiceStack as my server which provides RESTful HTTP API. Here is an example. public void GET(XXXXXRequest request) { System.Threading.Thread.Sleep(2000); } Then I use System.Net.Http.HttpClient to access it. As it is said here, …
5
votes
0 answers

Node.js pipelining HTTP client agent?

The HTTP client built into Node.js doesn't seem to support pipelining requests. However, it occurred to me that it may be possible to create an Agent that sets up pipelining in the background. There may be issues getting the response data back the…
Brad
  • 146,404
  • 44
  • 300
  • 476
5
votes
1 answer

How to send PHP cURL handles through a single TCP socket using HTTP Pipelining?

I'm trying to use PHP cURL HTTP Pipelining feature to perform multiple requests through single TCP connection. Refers to this page http://www.php.net/manual/en/function.curl-multi-setopt.php I'm enabling pipleining for curl_multi_exec() by…
3
votes
2 answers

How can HTTP server application reject an HTTP Pipeline request gracefully?

Is there a specific (or agreed upon) HTTP response message (or another action except for disconnection) to clarify that the server does not accept pipelined HTTP requests? I'm looking for something that will make the client stop pipelining it's…
Reflection
  • 1,718
  • 2
  • 17
  • 33
3
votes
1 answer

HTTP pipelining - concurrent responses per connection

I was just reading this Wikipedia article on HTTP pipelining and from the diagram it appears that responses can be sent concurrently on one connection. Am I misinterpreting the diagram or is this allowed? Section 8.1.2.2 of RFC 2616 states: A…
SlappyTheFish
  • 2,392
  • 2
  • 28
  • 41
2
votes
2 answers

Observable ZIP operator hangs while using vertx http client

What I do: I am using vertx rx http client to perform a large number of HTTP requests. in this specific case I am calling "method A" which returns a list of IDs. to receive all the IDs I need to call method A several times to get the next batch of…
2
votes
1 answer

Make two linear cURL requests over TOR with same IP

Before response my question - be awared that's not related to the following subjects: cURL: two seperate requests, same session select outgoing ip for curl request PHP Multiple Curl Requests I'm working in a anti-captcha system and one of another…
Ragen Dazs
  • 1,983
  • 3
  • 24
  • 54
1
vote
1 answer

Akka HTTP Source Streaming vs regular request handling

What is the advantage of using Source Streaming vs the regular way of handling requests? My understanding that in both cases The TCP connection will be reused Back-pressure will be applied between the client and the server The only advantage of…
EugeneMi
  • 3,175
  • 2
  • 32
  • 49
1
vote
0 answers

NSMutableURLRequest pipelining confusion

I want to download a lot of images from the same HTTP server, so I want to do all of that on the same TCP connection. All I can find is that NSMutableURLRequest allows me to enable pipelining (HTTPShouldUsePipelining), but I don't understand how it…
sudo
  • 4,510
  • 4
  • 32
  • 66
0
votes
0 answers

ASP.NET Core 3.1 and Angular : redirect api call to login page

In my ASP.NET Core 3.1 - Angular 9 web app, this is my pipelilne: public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseExceptionHandler(GlobalExceptions.WebApiExceptionHandler( exposeExceptionDetailsToHttp:…
For Comment
  • 700
  • 3
  • 10
  • 18
0
votes
1 answer

Can I do something similar to pipelining on HTTP 2?

Pipelining is a technique in HTTP/1.1 where multiple requests are sent at once without waiting for a response, on a keepalive connection. The responses are then returned in order by the server, without waiting for a round-trip-time between a…
JJJollyjim
  • 5,117
  • 17
  • 54
  • 78
1
2