[10] 
[DFN[[CODE[X-Powered-By:]]]]
は、
いくつかの
[[Webアプリケーションフレームワーク]]が、
自身の名称や[[バージョン番号]]を記述するために使っている
[[HTTPヘッダー]]です。

[12] 
本 
[[HTTPヘッダー]]は、
[[HTTP]] に関する[[標準仕様]]で定められたものでは'''ありません'''が、
いくつかの[[ソフトウェア]]が採用しています。
[[デバッグ]]の便宜のため、
あるいは宣伝のために使われているとみられます。

* 意味

[11] 
[CODE[Server:]] [[ヘッダー]]と似ていますが、
[[Webサーバー]]が狭義の
[[HTTPサーバー]]と[[アプリケーションサーバー]]に分かれる場合に、
前者の情報を [CODE[Server:]]
に設定し、
後者の情報を別に記述するために本[[ヘッダー]]が使われているとみられます。

* 構文

[13] 
特に構文の定めはなく、任意の 
([[印字可能][印字可能文字]])
[[ASCII文字列]]が使われているようです。

* 文脈

- [1] [[PHP]] が出力した [[HTTP応答]]に付加される[[応答頭欄]]。
- [2] 例: X-Powered-By: PHP/[VAR[version]]
- [3] 新し目の [[ASP.NET]] もつける。例: [SAMP(HTTP)[X-Powered-By: ASP.NET]]
- [4] [SAMP(HTTP)[X-Powered-By: Slash 2.002006]]

[5] [CITE@en[HTTP/1.1 X-Powered-By header]] ([TIME[2009-07-19 11:02:53 +09:00]] 版) <http://www.http-stats.com/X-Powered-By>

[6] >>5 [[PHP]] が多いですが、他の [[Webアプリケーション・フレームワーク]]の類でもつけているものがいろいろあるのですね。

[FIG(quote)[
[FIGCAPTION[
[9] [CITE@en-US[Remove Unwanted HTTP Response Headers – varunm]]
([TIME[2018-04-14 22:47:10 +09:00]])
<https://blogs.msdn.microsoft.com/varunm/2013/04/23/remove-unwanted-http-response-headers/>
]FIGCAPTION]

> X-Powered-By - Indicates that the website is "powered by ASP.NET."

]FIG]

[18] 
このヘッダーは特に定められたものでなく、
誰も[[生成]]することを強制されていませんし、
逆に禁止もされていません。

[20] 
開発者の設定により内容を変更したり、[[生成]]しないことにしたりする手段が提供されていることが多いようです。


* 処理

[14] 
[[クライアント]]による処理の方法は、特に知られたものはありません。

[15] 
統計目的や、開発の補助として使われているかもしれません。

* セキュリティー

[16] 
[CODE[Server:]]
同様、
むやみに[[ソフトウェア]]の名前やバージョンを晒すことは[[セキュリティー]]上好ましくないとして、
一部または全部を隠したがる人もいます。

[17] 
一方でそうした対処は攻撃回避に何ら有効な対策ではなく、
逆に開発者側のバージョン確認が難しくなり、
[[セキュリティー]]問題のあるバージョンの検知を妨げてしまうおそれもあるという考え方もあります。

[19] 
[[セキュリティー]]と関係なく、
[[PHP]]
なんて使っているのは恥ずかしいから見せたくない、
と思う人はいるかもしれません。

* 関連

[7] 似た意味の[[頭欄]]には [CODE(HTTP)@en[[[X-Framework:]]]] があります。

[8] 同じく[[応答頭欄]]の [CODE(HTTP)@en[[[Server:]]]] と似ていますが、
[CODE(HTTP)@en[[[Server:]]]] は [[HTTP]] 層、 [CODE(HTTP)@en[[[X-Powered-By:]]]]
は [[Webアプリケーション・フレームワーク]]層という緩い区別があります。

* メモ
