Supersedes #20 as the tracking location for the HTTP/1.1 server implementation.
Goal
This is a tracking issue for monitoring the development of the HTTP/1.1 server in Aero.
A list of tasks from RFC 9112 that must be implemented before merging. These will be saved here and updated periodically to avoid having to reread all of the RFC each time, as well as to separate client-side logic from server-side logic.
Complex HTTP/1.1 features will not be introduced by this issue, since currently we target the core HTTP/1.1 server functionality, but any RFC non-compliance preferrably should be handled by sending a respond with status 400 and some explanation.
We should also focus on RFC compliance and writing regression tests more than on performance, which aero will achieve in future.
Supersedes #20 as the tracking location for the HTTP/1.1 server implementation.
Goal
This is a tracking issue for monitoring the development of the HTTP/1.1 server in Aero.
A list of tasks from RFC 9112 that must be implemented before merging. These will be saved here and updated periodically to avoid having to reread all of the RFC each time, as well as to separate client-side logic from server-side logic.
2.2 Message parsing
A recipient that receives whitespace between the start-line and the first header field MUST either reject the message as invalid or consume each whitespace-preceded line without further processing of it (i.e., ignore the entire line, along with any subsequent lines preceded by whitespace, until a properly formed header field is received or the header section is terminated). Rejection or removal of invalid whitespace-preceded lines is necessary to prevent their misinterpretation by downstream recipients that might be vulnerable to request smuggling (Section 11.2) or response splitting (Section 11.1) attacks.
3. Request Line
Various ad hoc limitations on request-line length are found in practice. It is RECOMMENDED that all HTTP senders and recipients support, at a minimum, request-line lengths of 8000 octets.
3.2. Request Target
6.3. Message Body Length
Complex HTTP/1.1 features will not be introduced by this issue, since currently we target the core HTTP/1.1 server functionality, but any RFC non-compliance preferrably should be handled by sending a respond with status 400 and some explanation.
We should also focus on RFC compliance and writing regression tests more than on performance, which aero will achieve in future.