README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 28bdc51..5d1c90f 100644 --- a/README.md +++ b/README.md @@ -30,18 +30,24 @@ There is no detailed documentation about BigPipe yet, but all of the following d - -## Environment + +--- + + + +# Environment requirements - BigPipe uses streaming, this means any proxy in between should not buffer the response: the origin needs to stream directly to the end user. - Hence the web server and any proxies should not buffer the response, or otherwise the end result is still a single flush, which means worse performance again. - BigPipe responses contain the header `Surrogate-Control: no-store, content="BigPipe/1.0"`. -### Apache +## Apache When using Apache, there is nothing to do: no buffering by default. -### FastCGI + +## FastCGI When using FastCGI, you must disable its buffering. @@ -53,12 +59,12 @@ When using FastCGI, you must disable its buffering. ``` - When using Nginx+FastCGI, [set `fastcgi_buffering` to `off`](http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_buffering). -### IIS -When using IIS, you must [disable its buffering](https://support.microsoft.com/en-us/kb/2321250). +## IIS +When using IIS, you must [disable its buffering](https://support.microsoft.com/en-us/kb/2321250). -### Varnish +## Varnish When using Varnish, the following VCL disables buffering only for BigPipe responses: @@ -74,14 +80,14 @@ vcl_fetch { Note that the `big_pipe_nojs` cookie does *not* break caching. Varnish should let that cookie pass through. -### Nginx +## Nginx When using Nginx, the BigPipe module already sends a `X-Accel-Buffering: no` header for BigPipe responses, which disables buffering. Alternatively, it is possible to [disable proxy buffering explicitly](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering). -### Other web servers and (reverse) proxies +## Other web servers and (reverse) proxies Other web servers and (reverse) proxies, including CDNs, need to be configured in a similar way.