Any HTTP proxies with explicit, customizable support for buffering requests / responses and deferred connections?

When working with mobile clients, it is often necessary to have multi-second delays when transmitting HTTP requests. If you serve pages or services from the Apache pre-program, child processes will be bound within seconds, serving one mobile client, even if your application server logic runs in 5 ms. I am looking for an HTTP server, balancer or proxy server that supports the following:

  • The request arrives at the proxy server. The proxy server starts buffering in RAM or on disk a request, including the headers and POST / PUT bodies. The proxy does not open a connection to the server server. This is probably the most important part.

  • The proxy server stops query buffering when:

    • Size limit reached (say 4 KB) or
    • Request was received in full, headers and body
  • Only now, with (part) of the request in memory, the connection is opened to the backend and the request is relayed.

  • The backend returns a response. Again, the proxy server starts buffering immediately (to a more generous size, say 64 KB.)

  • Since the proxy server has a sufficiently large buffer, the backend response is completely stored on the proxy server for half a second, and the server process / thread can process more requests. The backend connection closes immediately.

  • A proxy server sends a response to a mobile client as fast or slow as it does, without connecting to a server connecting resources.

, 4-6 Squid, nginx, , 1-3 ( ). : - -, , - ? , Apache config-fu, ? , , Squid, , , ?

(Siderant: nginx, POST-, . , 50- POSTs... )

+5
5

nginx, Squid ( - Squid - nginx - backend)? Squid C-T-E: Content-Length, , , POST.

+4

Fiddler, Telerik, , , , .

, Rules | Custom Rules..., Javascript. , , sleep().

, , . , - , ?

+2

Squid 2.7 1-3 :

, , , , ( , ), , .

POST . , ? , 411.

+1

Unfortunately, I do not know a ready-made solution for this. In the worst case, consider developing it yourself, say, using Java NIO - it should not take more than a week.

0
source

All Articles