mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-19 04:00:46 +00:00
haproxy public development tree
991febdfe0
Some responses must not contain data. Reponses to HEAD requests and 204/304 responses. But there is no warranty that this will be really respected by the senders or even if it is possible. For instance, the method may be rewritten by an http-request rule (HEAD->GET). Thus, it is not really possible to always strip these data from the response at the receive stage. And the response may be emitted by an applet or an internal service not strictly following the spec. All that to say that we may be prepared to handle payload for bodyless responses on the sending path. In addition, unlike the HTTP/1, it is not really clear that the trailers is part of the payload or not. Thus, some clients may expect to have the trailers, if any, in the response to a HEAD request. For instance, the GRPC status is placed in a trailer and clients rely on it. But what happens for 204 responses then. Read the following thread for details : https://lists.w3.org/Archives/Public/ietf-http-wg/2020OctDec/0040.html So, thanks to previous patches, it is now possible to know on the sending path if a response must be bodyless or not. So, for such responses, no DATA frame is emitted, except eventually the last empty one carring the ES flag. However, the TRAILERS frames are still emitted. The h2s_skip_data() function is added to take care to remove HTX DATA blocks without emitting any DATA frame expect the last one, if there is no trailers. |
||
---|---|---|
.github | ||
contrib | ||
doc | ||
examples | ||
include | ||
reg-tests | ||
scripts | ||
src | ||
tests | ||
.cirrus.yml | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
BRANCHES | ||
CHANGELOG | ||
CONTRIBUTING | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README | ||
ROADMAP | ||
SUBVERS | ||
VERDATE | ||
VERSION |
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)