Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini
February 08, 2018 03:06PM
On Thu, Feb 08, 2018 at 10:18:54PM +0300, Maxim Dounin wrote:
> Hello!
>
> On Thu, Feb 08, 2018 at 05:07:49PM +0000, Alessandro Ghedini wrote:
>
> > On Thu, Feb 08, 2018 at 05:04:58PM +0000, Alessandro Ghedini wrote:
> > > # HG changeset patch
> > > # User Alessandro Ghedini <alessandro@cloudflare.com>
> > > # Date 1518109032 0
> > > # Thu Feb 08 16:57:12 2018 +0000
> > > # Branch push-copy-headers
> > > # Node ID 4f7f42e6d13add2ab0c7a9654472bb74085181d1
> > > # Parent a49af443656f2b65ca5de9d8cad5594f44e18ff7
> > > HTTP/2: copy additional headers in the pushed requests.
> > >
> > > To ensure pushed requests are processed consistently with the original
> > > client request, some headers need to be copied from the original request
> > > into the pushed one.
> > >
> > > The headers currently copied are User-Agent, Accept, Accept-Language and
> > > Accept-Encoding.
> >
> > So, I'm not quite sure if this is the correct way to go about doing this, but
> > I think the issue is real and worth fixing, so I'd be happy to implement this
> > differently if you have alternative ideas.
>
> Could you please elaborate more on "the issue is real"?

Right, sorry. Essentially the problem is that origins may generate a different
responses dependning on these headers, and a pushed request may be processed
inconsistently from the original request if these headers are different (say,
stupid example, if the client requests a specific language, the main request
may get a response in one language, and the pushed one in another).

Additionally things like compression wouldn't work for pushed requests, which
is not optimal.

There are of course other headers that could influence the origin's response,
but this somewhat minimal list of standard headers seemed like a good start.

FWIW, other server push implementations like Apache's mod_http2, h2o (used
in production by Fastly) and Cloudflare's closed-source implementation, all
behave like this, and have done so for years, without any apparent issue.

Cheers
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini 1010 February 08, 2018 12:06PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini 387 February 08, 2018 12:10PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Maxim Dounin 397 February 08, 2018 02:20PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini 369 February 08, 2018 03:06PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

ru@nginx.com 502 February 09, 2018 02:26AM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini 383 February 12, 2018 07:44AM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

ru@nginx.com 479 February 08, 2018 02:30PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Alessandro Ghedini 343 February 08, 2018 03:52PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Piotr Sikora via nginx-devel 361 February 08, 2018 03:58PM

Re: [PATCH] HTTP/2: copy additional headers in the pushed requests

Maxim Dounin 360 February 09, 2018 10:50AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 205
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready