[PATCH] HTTP/2: copy additional headers in the pushed requests
alessandro at ghedini.me
Thu Feb 8 20:49:42 UTC 2018
On Thu, Feb 08, 2018 at 10:28:34PM +0300, Ruslan Ermilov wrote:
> 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 at 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.
> I don't think this is a good idea. Copying Accept is definitely
> a bad idea. If this is at all needed, this should be implemented
> as an "http2_push_header <header> <value>" directive, but then it
> could not be made dependent on the pushed resource.
So, I guess this could be implemented so you can have something like:
http2_push_header User-Agent $http_user_agent
This would work for me, and indeed is much better than just having a static
list of headers like I did. I'll look into making a patch if this is something
you'd be happy with.
More information about the nginx-devel