Java发送X-Auth-HMAC头到Nginx+PHP-FPM后变为HTTP_X_AUTH_HMAC的原因
转换原因说明
这个命名变化是CGI通用网关接口规范 + Nginx FastCGI处理逻辑共同作用的结果,属于约定俗成的标准处理流程,具体规则如下:
- 为了区分客户端传入的请求头和服务器自身生成的环境变量,所有客户端HTTP头在通过FastCGI传递给PHP前,会统一添加
HTTP_前缀 - 为了避免和编程语言的变量命名规则冲突,头名称中的连字符
-会全部替换为下划线_ - 所有头名称的字符会统一转为大写
你发送的X-Auth-HMAC头完整转换流程为:
原始头名X-Auth-HMAC → 添加前缀得到HTTP_X-Auth-HMAC → 替换连字符为下划线得到HTTP_X_Auth_HMAC → 统一转为大写得到最终的HTTP_X_AUTH_HMAC
如果需要获取原始格式的请求头,可以在PHP代码中调用getallheaders()方法,返回结果中会包含键名为X-Auth-HMAC的原始头项。
内容的提问来源于stack exchange,提问作者Littlebobbydroptables
相关产品推荐
相关产品推荐

