http请求的header中的os_,net_参数在 php $_SERVER 无法获取

客户端在请求时在http请求的header中加入了一些自定义参数,
但是以net_os_,device_开头的一些参数在后端无法获取到。
后端使用的 php,打印$_SERVER没有这些参数

看了http协议cgi协议也没有找到相关说明

不太明白怎么回事

慕虎7371278
浏览 619回答 3
3回答

慕沐林林

你试一下apache_request_headers() 函数 获取一下看能够获取到吗?

尚方宝剑之说

找到原因了不只是net_,os_,device_开头的一些参数,默认情况下nginx会自动drop所有带下划线的header需要设置 underscores_in_headers on; If you do not explicitly set underscores_in_headers on;, nginx will silently drop HTTP headers with underscores (which are perfectly valid according to the HTTP standard). This is done in order to prevent ambiguities when mapping headers to CGI variables, as both dashes and underscores are mapped to underscores during that process.
打开App,查看更多内容
随时随地看视频慕课网APP