[1] Server:
ヘッダーは、
要求を処理して応答を生成した起源鯖のソフトウェアの名前や版を表します。
[24] 要求メッセージで利用者エージェントを表す
User-Agent:
ヘッダーに相当するもので、構文も同じです。
[10] Server:
ヘッダーは、
起源鯖が要求を処理するために使ったソフトウェアの情報を含みます >>9。
[11] このヘッダーは、クライアントが相互運用性の問題の範囲を特定するのを補助したり、 特定の鯖の制限に対処するために使ったりすることがあります >>9。
[18] モジュール化された鯖では、起源鯖本体だけでなく、 モジュールの情報も値に含まれることがあります。
[17] 起源鯖は、必要以上の詳細を含む Server:
ヘッダーを生成するべきではなく、
第三者の部分製品が値を追加することを制限するべきです。
長すぎると応答の遅延を増大させてしまいますし、
攻撃者が既知のセキュリティーホールを探すのを容易にしてしまいます。 >>9
[14] 1つ以上の product
または comment
を、 RWS 区切りで並べたものとされています。ただし、最初の1つは
product
でなければなりません。 >>9
[15] ここで product
は、起源鯖のソフトウェアと主要な部分製品を識別上の重要なものから順番に並べたもの
>>9 とされています。
User-Agent:
ヘッダーと同じです。
User-Agent:
と同じく、必ずしもこの構文は守られていません。
ただ利用者エージェントの多様性に比べ起源鯖の種類は多くないので、
この構文に適合する Server:
ヘッダーはかなり多い印象です。[27] セキュリティーのために、詳細な情報を記述することは好ましくないと考える人もいます。 実際にどの程度詳細な情報が指定されるかは、鯖の実装や設定によって様々です。 鯖ソフトウェアによっては、著者の設定によって詳細度を数段階制御できたり、 追加モジュール等の API によって追加モジュール等の製作者が自由に情報を追加できたりすることもあります。
[12] 起源鯖は Server:
ヘッダーを生成して構いません
>>9。
[30] プロキシサーバーが転送時に応答に Server:
ヘッダーが存在していない場合に生成して良いかどうか、
明記されていません。一般的には明記されていないことは認められないと解釈するべきと思われます。
The Server response-header field contains information about the software used by the origin server to handle the request. The field can contain multiple product tokens (Section
{1945} 3.73.8) and comments identifying the server and any significant subproducts.{1945} By convention, theThe product tokens are listed in order of their significance for identifying the application.
Server
応答頭欄は、起源鯖で要求を取り扱うために使われているソフトウェアについての情報を含めます。
この欄は、複数の product
字句およびサーバーと重要な部分製品を識別する注釈を含めることができます。
product
字句は、その応用を識別するのに有意な順に列挙します。
- Server = "Server" ":" 1*( product | comment )
Example:
- Server: CERN/3.0 libwww/2.17
If the response is being forwarded through a proxy, the proxy application
{2068,2616} MUST NOT modify the Server response-header. Instead, it{1945}must not add its data to the product list{2068,2616} SHOULD{Errata} MUST include a Via field (as described in section{2068} 14.44{2616} 14.45).
応答が串を通じて転送される時には、串応用は Server
応答頭を修正してはなりません。
代わりに、 Via
欄を含めなければなりません。
Note: Revealing the specific software version of the server
may{2616} might allow the server machine to become more vulnerable to attacks against software that is known to contain security holes. Server implementers are encouraged to make this field a configurable option.
注意: 鯖の特定ソフトウェアの版を晒すと、既知の安全上の穴があるソフトウェアへの攻撃に関してより脆弱になってしまうかもしれません。 鯖実装者はこの欄を設定可能な選択肢とすることを推奨します。
{1945} Note: Some existing servers fail to restrict themselves to the product token syntax within the Server field.
[2] RFC 3507 - Internet Content Adaptation Protocol (ICAP) ( ( 版)) <http://tools.ietf.org/html/rfc3507#section-4.3.3>
[7]
CGI ではほぼ相当するメタ変数 SERVER_SOFTWARE
があります。
[21] 要求メッセージには利用者エージェントを表す User-Agent:
ヘッダーがあります。
[22] 串は Via:
ヘッダーにソフトウェア名を記述できます。
[23] 鯖の裏側で実際に処理を行うアプリケーションサーバーの類の情報は、
Server:
には記述せず、 X-Powered-By:
や X-Framework:
のようなヘッダーに記述するのが一般的です。
鯖のモジュールとして動作する PHP や mod_perl などは
Server:
に現れる場合と X-Powered-By:
などに現れる場合、両方に現れる場合があります。いずれにせよアプリケーションサーバー上で実際に動く
(言語やフレームワークの類ではない) 実際のアプリケーションの名前が記載されることはあまりないようです。
[8] Kazuho@Cybozu Labs: サーバシグニチャは隠さないのが当たり前 ( 版) <http://labs.cybozu.co.jp/blog/kazuho/archives/2007/09/re_server_sig.php>
Server: GitHub.com
[33] <https://www.facebook.com/> は Server:
を送信しないようです。
# The default value of the `Server` header to produce if no
# explicit `Server`-header was included in a response.
# If this value is the empty string and no header was included in
# the request, no `Server` header will be rendered at all.
server-header = akka-http/${akka.http.version}
Server: Secret