Я пытался изучить исходный код nginx некоторое время. Недавно Nginx 1.9.12 был выпущен, и с ними были реализованы «кодировка Huffman заголовков ответов в HTTP/2».Как этот код приводит к строке «nginx»?
В этом выпуске я не могу понять одну строку,
static const u_char nginx[5] = "\x84\xaa\x63\x55\xe7";
В качестве альтернативы, вы можете просматривать исходный код здесь: https://trac.nginx.org/nginx/browser/nginx/src/http/v2/ngx_http_v2_filter_module.c#L146
Эта линия использует то, что Nginx для вставки заголовка "Сервер: nginx".
Что делать, если я хочу изменить его на «Apache»? Я попытался преобразовать строку «apache» в шестнадцатеричный, а затем заменить полученный шестнадцатеричный файл в формате с обозначением \ xhh и сменить nginx [5] на nginx [6], потому что строка apache имеет длину 6 символов.
Но выход кажется непредсказуемым. Я много искал, прежде чем задавать этот вопрос здесь.
Может кто-нибудь помочь мне, как работает этот код и как я могу заменить текст? Любой скрипт или онлайн-приложение, чтобы сделать его проще?
Спасибо Энди. Большое спасибо. – ASRM