说来惭愧,我一直以为Nginx默认就开启了Keep-alive——毕竟现在主线版本都在忙着适配HTTP/3,HTTP/2也早已相对稳定,突然回过头来说起HTTP/1.1,多少还是让人有点意外。
仔细看了内容才反应过来,以前需要在配置里显式加上:
proxy_http_version 1.1;
proxy_set_header Connection "";
才算正式用上HTTP/1.1,现在此配置已经成为默认配置,无需显式添加。HTTP/1.1的好处,大致也就是减少握手次数、降低延迟,顺便缩短一下大多数常规Web应用的首字节时间。
回头翻了翻手头项目中的Nginx配置,大部分配置中确实明确配置了HTTP/1.1的Keep-alive,但让人有些汗颜的是,居然也有些地方确实没显式配置。
说起来,眼下各种新概念层出不穷,AI热得发烫,最近又开始宣传Harness Engineering。可转头看看真实运行的项目,不少还是Java 8稳稳撑着,各种依赖层层叠叠堆在一起,连HTTP/2都未曾用上。这些沉默的项目日复一日地跑着,与那些喧嚣的AI Demo在服务器上共存,倒也颇有几分反差。