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


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

http https httpclient

爱的战士浮云酱 9 years, 6 months ago

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

lunico answered 9 years, 6 months ago

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

Phany answered 9 years, 6 months ago

这个是Server(Apache/Nginx等)自己响应返回的,要取消的话去配置下就好了,Nginx可查看该问题: http://segmentfault.com/q/1010000001734984/a-1020000001736686

靈夢D靈喵 answered 9 years, 6 months ago

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

金木金木杰 answered 9 years, 6 months ago

Your Answer