hongzhidao at gmail.com
Wed Jul 11 17:24:53 UTC 2018
Get it, I'll try it, thank you again.
On Thu, Jul 12, 2018 at 1:02 AM Maxim Dounin <mdounin at mdounin.ru> wrote:
> On Wed, Jul 11, 2018 at 08:56:56PM +0800, 洪志道 wrote:
> > But there are still some clients use the old version.
> > Is it a way to be compatible with it?
> > Or other suggestions?
> > @Maxim Dounin <mdounin at mdounin.ru>
> As I already wrote in ticket #1397, we can try introducing a
> workaround in nginx, but I'm not convinced it worth the effort and,
> more importantly, associated downsides for non-broken clients.
> # HG changeset patch
> # User Maxim Dounin <mdounin at mdounin.ru>
> # Date 1531328359 -10800
> # Wed Jul 11 19:59:19 2018 +0300
> # Node ID f44e74d331885dce8682d2a9802eb707be7ae86f
> # Parent 54683f650cbdcd73f7f8d845c843295978da5a85
> HTTP/2: workaround for clients which fail on table size updates.
> There are clients which cannot handle HPACK's dynamic table size updates
> as added in 12cadc4669a7 (1.13.6). Notably, old versions of OkHttp library
> are known to fail on it (ticket #1397).
> This change makes it possible to work with such clients by only sending
> dynamic table size updates in response to SETTINGS_HEADER_TABLE_SIZE. As
> a downside, clients which do not use SETTINGS_HEADER_TABLE_SIZE will
> continue to maintain default 4k table.
> diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
> --- a/src/http/v2/ngx_http_v2.c
> +++ b/src/http/v2/ngx_http_v2.c
> @@ -270,8 +270,6 @@ ngx_http_v2_init(ngx_event_t *rev)
> h2c->frame_size = NGX_HTTP_V2_DEFAULT_FRAME_SIZE;
> - h2c->table_update = 1;
> h2scf = ngx_http_get_module_srv_conf(hc->conf_ctx,
> h2c->concurrent_pushes = h2scf->concurrent_pushes;
> @@ -2075,6 +2073,11 @@ ngx_http_v2_state_settings_params(ngx_ht
> h2c->concurrent_pushes = ngx_min(value,
> + case NGX_HTTP_V2_HEADER_TABLE_SIZE_SETTING:
> + h2c->table_update = 1;
> + break;
> Maxim Dounin
> nginx-devel mailing list
> nginx-devel at nginx.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nginx-devel