You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Stefan Eissing <st...@eissing.org> on 2022/04/01 10:22:49 UTC
Re: HTTP and HTTP/1.x separation
just a heads up: I will replace this PR with a series of smaller ones.
The accumulated changes are too large to make someone review and have
an opinion about it in reasonable time. I will therefore introduce the
changes in small steps, trying to make them each easier to read.
I have the first one sitting here locally and will publish that once
our CI is working again (and I can be sure that they do as well).
Kind Regards,
Stefan
> Am 31.03.2022 um 09:40 schrieb jean-frederic clere <jf...@gmail.com>:
>
> On 30/03/2022 11:11, Stefan Eissing wrote:
>>> Am 28.03.2022 um 15:52 schrieb jean-frederic clere <jf...@gmail.com>:
>>>
>>> On 24/03/2022 13:21, Stefan Eissing wrote:
>>>> You are invited to have a look at my PR for separating HTTP/1.x processing from
>>>> generic HTTP protocol handling and verification:
>>>> https://github.com/apache/httpd/pull/291
>>>> I made a description of the changes in the PR that helps reviewing it (I hope).
>>>> "Changes appear larger than they really are"
>>>> A lot is code split+move from mod_http to mod_http1. In mod_http2, changes are
>>>> mainly removals of quirks necessary so far.
>>>> Kind Regards,
>>>> Stefan
>>>
>>> Something fishy:
>>> http/1.1:
>>> +++
>>>
>>> < HTTP/1.1 200 OK
>>> < Date: Mon, 28 Mar 2022 13:48:23 GMT
>>> < Server: Apache/2.5.1-dev (Unix) OpenSSL/1.1.1n
>>> < Last-Modified: Fri, 25 Mar 2022 15:47:39 GMT
>>> < ETag: "bf-5db0ce1e1e93e"
>>> < Accept-Ranges: bytes
>>> < Content-Length: 191
>>> < Content-Type: text/html
>>>
>>> +++
>>> http/2:
>>> +++
>>> < HTTP/2 200
>>> < last-modified: Fri, 25 Mar 2022 15:47:39 GMT
>>> < etag: "bf-5db0ce1e1e93e"
>>> < accept-ranges: bytes
>>> < content-length: 191
>>> < content-type: text/html
>>> +++
>>>
>>> Did I miss something?
>> Just added the fix to the PR:
>> *) core, mod_http1, mod_http: moved the handling of the standard
>> response headers `Date` and `Server` from mod_http1 into the
>> generic HTTP protocol handling.
>> Response buckets not always carry those headers (values preserved
>> from proxied responses), irregardless of the HTTP protocol
>> versions involved.
>> mod_http1: the serialization of response header into HTTP/1.x
>> format always writes `Date` and `Server` first if present. This
>> assured backward compatibility with clients who are accustomed
>> to this order.
>
> Thanks my tests are passing now.
>
>> Kind Regards,
>> Stefan
>>>
>>> --
>>> Cheers
>>>
>>> Jean-Frederic
>>>
>
>
> --
> Cheers
>
> Jean-Frederic