在HTTP请求的header头里面,为什么有的时候有X-Powered-By这个值,有的时候没有呢?

在HTTP请求的header头里面,为什么有的时候有X-Powered-By这个值,有的时候没有呢?

阅读 79k
4 个回答

@公子 的回答稍微有点小问题,这个不是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 来去除版本号。

X开头,表示自定义的头,可要可不要

是响应头吧?这个是服务端不同的 Web Server 或者程序框架自己加上用来表现自己的 - -
没有的话可能是服务端没有加上,或是担心暴露服务器信息而人为去掉了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏