You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While inspecting few benchmark this behaviour popup in the HTTP 2 server response handling:
It shows that we do perform few validations around header names, which could be improved or merged (if proves to be beneficial, in the common case things are right).
The existing process work like this;
for header names:
vertx validate against no ctrl char presence and no ASCII chars via
Just as in HTTP/1.x, header field names are strings of ASCII
characters that are compared in a case-insensitive fashion. However,
header field names MUST be converted to lowercase prior to their
encoding in HTTP/2. A request or response containing uppercase
header field names MUST be treated as malformed
which means that the vertx validation against control character is just too much, and could be dropped.
While inspecting few benchmark this behaviour popup in the HTTP 2 server response handling:
It shows that we do perform few validations around header names, which could be improved or merged (if proves to be beneficial, in the common case things are right).
The existing process work like this;
for header names:
vert.x/src/main/java/io/vertx/core/http/impl/HttpUtils.java
Line 907 in 67ba713
vert.x/src/main/java/io/vertx/core/http/impl/HttpUtils.java
Line 708 in 67ba713
for header values:
vert.x/src/main/java/io/vertx/core/http/impl/HttpUtils.java
Line 805 in 67ba713
Additionally, related header names, the RFC report at https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2
which means that the vertx validation against control character is just too much, and could be dropped.
Re header values, instead, it seems that the validation should follow https://datatracker.ietf.org/doc/html/rfc7230#section-3.2 (which I have yet to interpret).
The text was updated successfully, but these errors were encountered: