Version
4.5.27
Context
As reported in Quarkus at quarkusio/quarkus#50685 it seems Vert.x Web treats semicolons as separators in HTTP query strings, which is not supposed to be the case according to the various HTTP specs.
The only mention of semicolon in specs as separator I can find is on https://en.wikipedia.org/wiki/Query_string:
This convention is a W3C recommendation.[3] In the recommendations of 1999, W3C recommended that all web servers support semicolon separators in addition to ampersand separators[6] to allow application/x-www-form-urlencoded query strings in URLs within HTML documents without having to entity escape ampersands. Since 2014, W3C recommends to use only ampersand as query separator.[7]
In practice, I've never seen them being used as separators in query strings ever. Mozilla agrees with this.
Apparently, Netty supports the option of not treating them as separators in QueryStringDecoder: netty/netty@7d6d953
We should probably make this into a configurable option, that could default to whatever you want for Vert.x, and we'll default to "do not treat semicolons as separator" in Quarkus at https://github.com/vert-x3/vertx-web/blob/master/vertx-web/src/main/java/io/vertx/ext/web/impl/RoutingContextImpl.java#L447
Steps to reproduce
No response
Do you have a reproducer?
No response
Version
4.5.27
Context
As reported in Quarkus at quarkusio/quarkus#50685 it seems Vert.x Web treats semicolons as separators in HTTP query strings, which is not supposed to be the case according to the various HTTP specs.
The only mention of semicolon in specs as separator I can find is on https://en.wikipedia.org/wiki/Query_string:
In practice, I've never seen them being used as separators in query strings ever. Mozilla agrees with this.
Apparently, Netty supports the option of not treating them as separators in
QueryStringDecoder: netty/netty@7d6d953We should probably make this into a configurable option, that could default to whatever you want for Vert.x, and we'll default to "do not treat semicolons as separator" in Quarkus at https://github.com/vert-x3/vertx-web/blob/master/vertx-web/src/main/java/io/vertx/ext/web/impl/RoutingContextImpl.java#L447
Steps to reproduce
No response
Do you have a reproducer?
No response