在HTTP请求的header头里面,为什么有的时候有X-Powered-By这个值,有的时候没有呢?
在HTTP请求的header头里面,为什么有的时候有X-Powered-By这个值,有的时候没有呢?
这个是Server(Apache/Nginx等)自己响应返回的,要取消的话去配置下就好了,Nginx可查看该问题:http://segmentfault.com/q/1010000001734984/a-1020000001736686
4 回答13.3k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
5 回答2.1k 阅读
2 回答1.2k 阅读
3 回答924 阅读
1 回答407 阅读✓ 已解决
347 阅读
@公子 的回答稍微有点小问题,这个不是Apache或者Nginx输出的,而是由语言解析器或者应用程序框架输出的。
这个值的意义用于告知网站是用何种语言或框架编写的。例如:
PHP标准输出是:X-Powered-By: PHP/5.2.1,可在php.ini中增加或修改 expose_php = Off关闭。
而使用了ThinkPHP,会输出:X-Powered-By: ThinkPHP 2.0,可修改相关类文件关闭
用.net会输出:X-Powered-By:ASP.NET,可修改web.config 删除
nginx编译的时候可以增加一个模块,HttpHeadersMore,用来统一删除或修改返回的http header。
另外网页服务器本身也会吐出自己的版本号,http header是Server:xxxxx,这个有时会造成有人专门利用特定版本网页服务器漏洞进行攻击,nginx可以在配置文件中增加或修改server_tokens off 来去除版本号。