doh2: multiplexing DATA frames from multiple streams
HTTP/2 can multiplex streams inside a single connection. If all the following conditions are met, one query won't be answered, even though it is a valid situation from HTTP/2 perspective.
- we have a large enough query to be split between multiple DATA frames (unlikely)
- we use POST
- the client sends two queries at the same time, interleaving their streams (probably quite unlikely)
Then, the frames on the connection could look as following:
HEADERS1 DATA1_1 HEADERS2 DATA2 DATA1_2
This is explicitly not supported, as it would require multiple session buffers for a single connection. All queries sent over POST must be serialized, e.g.:
HEADERS1 DATA1_1 DATA1_2 HEADERS2 DATA2
This does not affect GET, since all data is sent inside a HEADERS frame.
Edited by Tomas Krizek