[nginx] HTTP/2: precalculate hash for "Cookie".

Maxim Dounin mdounin at mdounin.ru
Thu Feb 15 18:16:37 UTC 2018


details:   http://hg.nginx.org/nginx/rev/3dfe9444324b
branches:  
changeset: 7209:3dfe9444324b
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Thu Feb 15 19:06:22 2018 +0300
description:
HTTP/2: precalculate hash for "Cookie".

There is no need to calculate hashes of static strings at runtime.  The
ngx_hash() macro can be used to do it during compilation instead, similarly
to how it is done in ngx_http_proxy_module.c for "Server" and "Date" headers.

diffstat:

 src/http/v2/ngx_http_v2.c |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (13 lines):

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
@@ -3698,7 +3698,8 @@ ngx_http_v2_construct_cookie_header(ngx_
         return NGX_ERROR;
     }
 
-    h->hash = ngx_hash_key(cookie.data, cookie.len);
+    h->hash = ngx_hash(ngx_hash(ngx_hash(ngx_hash(
+                                    ngx_hash('c', 'o'), 'o'), 'k'), 'i'), 'e');
 
     h->key.len = cookie.len;
     h->key.data = cookie.data;


More information about the nginx-devel mailing list