【发布时间】:2016-02-26 15:21:28
【问题描述】:
一段时间以来,我一直在尝试研究 nginx 源代码。最近,Nginx 1.9.12 发布,他们实现了“HTTP/2 中响应头的霍夫曼编码”。
在这个版本中,我无法理解这一行,
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 用来插入标题“Server: nginx”的内容。
如果我想将其更改为“Apache”怎么办?我尝试将字符串“apache”转换为十六进制,然后用 \xhh 表示法替换文件中生成的十六进制,并将 nginx[5] 更改为 nginx[6],因为字符串 apache 的长度为 6 个字符。
但输出似乎无法预测。在这里问这个问题之前我已经搜索了很多。
有人能帮我看看这段代码是如何工作的吗?我该如何替换文本?有什么脚本或在线网络应用可以让它更简单吗?
【问题讨论】:
标签: nginx hex huffman-code