Welcome! Log In Create A New Profile

Advanced

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin
June 02, 2017 08:32AM
Hello!

On Fri, Jun 02, 2017 at 02:05:47AM -0700, Piotr Sikora via nginx-devel wrote:

> Hey Maxim,
>
> > In your patch, you test r->expect_trailers in two places in
> > chunked filter:
> >
> > 1. when you decide whether to use chunked encoding or not, in
> > ngx_http_chunked_header_filter();
> >
> > 2. when you generate trailer, in ngx_http_chunked_body_filter().
> >
> > I mostly agree with (1) (I would like see it configurable too, but
> > it's probably up to a module which adds trailers to decide, so
> > don't belong to this particular patch), but don't see any reasons
> > for (2).
>
> This is done to avoid unexpected behavior when r->expect_trailers
> isn't set, i.e. if module added trailers, but didn't set
> r->expect_trailers, then without (2) trailers would be emitted only if
> Content-Encoding was already chunked, but not otherwise.
>
> Testing r->expect_trailers in both (1) and (2) ensures that Trailers
> are emitted in consistent manner, without depending on unrelated
> factors, like gzip support by the client, etc.

I see two problems here:

a. There may be use cases when forcing chunked encoding is not
desired, but emitting trailers if it is used still makes sense.

b. Nothing stops modules from changing r->expect_trailers when the
response header was already sent and it is already too late to
switch to chunked transfer encoding. Moreover, this will
naturally happen with any module which is simply following the
requirement to set r->expect_trailers to 1 as in your commit log.

So (a) makes (2) excessively limiting, and (b) makes it useless.

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

[PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 604 March 24, 2017 06:50AM

[PATCH 2 of 3] Headers filter: add "add_trailer" directive

Piotr Sikora via nginx-devel 298 March 24, 2017 06:50AM

[PATCH 3 of 3] Upstream: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 308 March 24, 2017 06:50AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 268 April 05, 2017 08:34AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin 276 April 05, 2017 11:26AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin 305 April 21, 2017 01:42PM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 309 April 26, 2017 02:36PM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin 298 April 27, 2017 02:48PM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 422 May 01, 2017 12:46AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin 259 May 03, 2017 10:02AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 216 June 02, 2017 05:06AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Maxim Dounin 315 June 02, 2017 08:32AM

Re: [PATCH 1 of 3] HTTP: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 224 June 02, 2017 11:34PM

Re: [PATCH 2 of 3] Headers filter: add "add_trailer" directive

Maxim Dounin 300 April 21, 2017 01:42PM

Re: [PATCH 2 of 3] Headers filter: add "add_trailer" directive

Piotr Sikora via nginx-devel 289 June 02, 2017 05:12AM

Re: [PATCH 2 of 3] Headers filter: add "add_trailer" directive

Maxim Dounin 730 June 02, 2017 12:22PM

Re: [PATCH 2 of 3] Headers filter: add "add_trailer" directive

Piotr Sikora via nginx-devel 614 June 02, 2017 11:40PM

Re: [PATCH 3 of 3] Upstream: add support for trailers in HTTP responses

Maxim Dounin 273 April 21, 2017 01:44PM

Re: [PATCH 3 of 3] Upstream: add support for trailers in HTTP responses

Piotr Sikora via nginx-devel 291 June 02, 2017 05:16AM

[PATCH 3 of 3] Headers filter: added "add_trailer" directive

Piotr Sikora via nginx-devel 371 June 02, 2017 05:06AM

[PATCH 1 of 3] Added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 218 June 02, 2017 05:06AM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Maxim Dounin 259 June 02, 2017 11:38AM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 256 June 02, 2017 11:34PM

[PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 243 June 02, 2017 05:06AM

[PATCH 1 of 3] Added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 281 June 02, 2017 11:34PM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Maxim Dounin 277 June 05, 2017 12:30PM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 212 June 06, 2017 12:58AM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Maxim Dounin 326 June 06, 2017 08:26AM

Re: [PATCH 1 of 3] Added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 176 June 13, 2017 08:22AM

[PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 212 June 02, 2017 11:34PM

Re: [PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Maxim Dounin 273 June 05, 2017 02:02PM

Re: [PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Maxim Konovalov 370 June 06, 2017 03:26AM

Re: [PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Valentin V. Bartenev 199 June 07, 2017 03:18PM

Re: [PATCH 2 of 3] HTTP/2: added support for trailers in HTTP responses

Piotr Sikora via nginx-devel 285 June 13, 2017 08:26AM

[PATCH 3 of 3] Headers filter: added "add_trailer" directive

Piotr Sikora via nginx-devel 437 June 02, 2017 11:36PM

Re: [PATCH 3 of 3] Headers filter: added "add_trailer" directive

Maxim Dounin 243 June 05, 2017 01:54PM

Re: [PATCH 3 of 3] Headers filter: added "add_trailer" directive

Piotr Sikora via nginx-devel 212 June 06, 2017 01:00AM

Re: [PATCH 3 of 3] Headers filter: added "add_trailer" directive

Maxim Dounin 348 June 06, 2017 08:36AM



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

Online Users

Guests: 118
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