美容で美容生活

美容の人気商品をお知らせします。ゆっくりとお楽しみ下さい。

このページはハイパーコンテンツビルダーが 2007年 12月 25日 00時05分26秒 にクロールしたキャッシュ情報です。

ヘッダーとは?

[ 1] [Studying HTTP] HTTP Header Fields
[引用サイト]  http://www.studyinghttp.net/header

クライアントとサーバは、HTTP ヘッダを使ってデータやソフトウェア自身の情報をやりとりしていきます。
HTTP/0.9 では、データの取得のみを目的としていたので、HTTP ヘッダというものは存在しませんでした。
しかし、WWW が活用され始め、そのリソースに関連する情報 (例えば、返されるリソースのサイズやその更新時刻等) や、クライアント側の情報 (例えば、ユーザエージェントの種類やそれを参照するリソースの URL 等) をやりとりしたいと思うようになり、実際のリソースとは別のメタ (外部) 情報を扱うものとして、HTTP ヘッダが開発されたのです。
それぞれのヘッダフィールドは、名前、その後にコロン(":")、そしてフィールド値から成る。
ヘッダフィールドは、一つ以上の SP や HT をそれぞれの行頭につける事で複数行にまたがる事ができる。
アプリケーションが HTTP 構造を生成する時には、"共通形式" を超えたものは受け入れられない実装がいくつか存在するであろう事を考慮し、知られている、あるいは示されている "共通形式"に従うべきである。
field-content は、LWS を前にも後ろにも、すなわち field-value の最初の空白以外の文字の前にも、あるいは field-value の最後の空白以外の文字の後ろにも、空行を含まない。
field-content の間のいかなる LWS もフィールド値に解釈されたり、下流{downstream} に転送される前に単なる SP に置き換えられるであろう。
RFC 2616 では、全部で 47 種類の HTTP ヘッダが定義されていますが、ここに含まれないヘッダもユーザが独自に拡張する事ができます。
Accept リクエストヘッダフィールドは、レスポンスで受け入れ可能なメディアタイプを指定するために使われる。
Accept ヘッダでは、インラインイメージを要求する場合などに、希望するタイプの小セット{small set} を特に限定して指定するために使われる。
アスタリスク "*" という文字は、ある範囲のメディアタイプをグループ化するために使われ、"*/*" ではすべてのメディアタイプを表し、"type/*" はそのメディアタイプに含まれるすべてのサブタイプを表す。
例えば、古いブラウザが PNG の画像を表示する事ができず、JPEG 形式の画像を転送して欲しい場合は、Accept フィールドに image/jpeg を指定して image/png を指定しない様にします。
(※) 上記中、"*/*" では全てのメディアタイプを表し とありますが、実際は上手く扱えないタイプがあるにも関わらず、これを送信してしまうクライアントがあります。
では、リソースのメディアタイプに優先順位をつけたい場合、例えば「image/png があればそれを、なければ image/jpeg を」という場合はどうすればいいのでしょうか?
HTTP 内容ネゴシエーション (section 12) は、さまざまなネゴシエート可能なパラメータの相対な重要性 ("ウェイト") を示すために短い "浮動小数点" 数を使う。
もしパラメータが 0 の品質値を持っていたら、そのパラメータと共にあるものはクライアントは「利用不可能」である。
"品質値" とは、単に要請される特質の相対的な格付けを示すものなので、実際は誤った表現である。
この例では、「私は audio/basic を望むが、もし品質を 80% 下げても最も有効に利用できるのであれば、どんな audio タイプでもかまわない」と解釈されるべきである。
Accept ヘッダフィールドが無い場合は、クライアントはすべてのメディアタイプを受けつけるとみなされる。
Accept ヘッダフィールドがある場合に、サーバが Accpet フィールド値に適したレスポンスを送る事ができなければ、サーバは 406 (not acceptable) レスポンスを返すべきである。
これを文字通りに解釈すると、「text/html と text/x-c が望むメディアタイプであるが、もし存在しないのであれば text/x-dvi エンティティを、それも無ければ、text/plain エンティティを送信せよ。」となる。
あるメディアタイプに関連付けられる品質係数は、そのメディアタイプにマッチする最も高い優先度を持つメディアレンジを発見する事によって決定される。
しかし、ユーザエージェントが他のレンダリングエージェントと相互作用できないクローズドなシステムで無いのであれば、この既定値はユーザが設定できるようにすべきである。
このフィールドはサーバ駆動型ネゴシエーションに利用され、サーバ駆動型ネゴシエーションをサポートするサーバでは、品質値が高いものをレスポンスに優先します。
Accept-Charset リクエストヘッダフィールドは、レスポンスで受け入れ可能な文字セットを示すのに使われる。
このフィールドは、一般的な文字セットや、特殊な目的を持つ文字セットを理解できるクライアントがそれらの文字セットの中で文書を表現する能力を持つサーバに対して、利用できる文字セットを通知する事を可能にする。
それぞれの文字セットに、ユーザの望む文字セットの優先度を表す関連付けられた品質値を付ける事ができる。
もし、"*" が Accept-Charset フィールドで与えられていなければ、明示されていないすべての文字セットの品質値は
Accept-Charset ヘッダがあっても、サーバが Accept-Charset ヘッダによって受け入れ可能なレスポンスを返せない場合、サーバは、クライアントが扱えないレスポンスを返す事もできるが、406 (not acceptable) エラーレスポンスを返すべきである。
このフィールドはサーバ駆動型ネゴシエーションに利用され、クライアントが受け入れ可能な文字セットを示すために使用されます。
Accept-Language リクエストヘッダフィールドは、Accept に似ているが、リクエストへのレスポンスとして望む自然言語のセットを限定する。
それぞれの languege-range では、そのレンジで指定する言語に対するユーザの優先度を示す品質値をつける事ができる。
これは、"私はデンマーク語を望むが、イギリス英語か、他の英語でも受け入れる。" という事を意味する。
もし languege-range が、タグに一致する時、あるいはタグの接頭辞に等しくてそれに続く文字が "-" である時には、言語タグに一致する。
このフィールドはサーバ駆動型ネゴシエーションに利用され、言語タグを利用して、ユーザが使用したい自然言語を示すために使用されます。
しかし、このヘッダを不用意に利用してしまうとセキュリティ上の問題を引き起こす可能性があるという事が指摘されています。
ユーザが、すべてのリクエストに完全な言語優先度を伴った Accept-Language ヘッダを送信する事は、プライバシー保護の立場とは逆のものとなるかもしれない。
Accept リクエストヘッダは、アクセスされたすべてのサーバにユーザに関する情報を表す事ができる。
特に Accept-Language ヘッダは、特定の言語を理解するという事がしばしば特定の民族グループの一員である事と強く関連付けられているため、個人的な性質であるとみなすであろう情報を表す。
リクエスト毎に送られる Accept-Language ヘッダの内容を設定するためのオプションを提供するユーザエージェントは、設定のプロセス中にそれがユーザのプライバシーの損失になるという事に気づかせるようなメッセージを含むようにする事が強く推奨される。
プライバシーの損失をより制限するためには、ユーザエージェントが既定では Accept-Language ヘッダを送信しないようにし、サーバによって生成された Vary レスポンスヘッダフィールドを見つけ、その送信によってサービスの品質を向上できるとわかった場合に、サーバに Accept-Language ヘッダを送る事を開始するどうかをユーザに尋ねるようにする。
ユーザによって設定された詳細な Accept ヘッダフィールドがリクエストごとに送られ、特にそれらが品質値を含んでいたら、比較的信頼でき長い間住んでいる{long-lived} ユーザを識別するものとしてサーバによって使われうる。
そのようなユーザを識別するものは、内容供給者がクリックの追跡{click-trail tracking} をできるようにし、共同で作業する内容供給者が個々のユーザのサーバ越しのクリックの追跡{cross-server click-trail} やフォーム提出と一致できるようにする。
プロクシの内側でない多くのユーザにとって、ユーザエージェントが実行されているホストのネットワークアドレスも長く住んでいる{long-lived} ユーザを識別するものとして役に立つという事に注意せよ。
プロクシがプライバシーを高めるために使用されている環境においては、ユーザエージェントはエンドユーザに accept ヘッダコンフィギュレーションオプションを提供する事には保守的であるべきである。
極端なプライバシー手段として、プロクシは中継されたリクエストにおける accept ヘッダをフィルタできる。
高いヘッダ設定機能を供給する一般的な目的のユーザエージェントは、伴う可能性のあるプライバシーの損失に関してユーザに警告すべきである。
例えば、Accept-Language: ja というヘッダが送信された時、サーバ側では "日本語を使うユーザからのアクセスがあった" という事がわかります。
世界中で日本語が公用語になっているのは日本のみなので、すなわち日本語を使う人間のほとんどは日本人です。
ここで問題とされている事は、「ユーザが日本人である」という事による差別が発生するかもしれないという事です。
基本的に Accept-Language は送られるべきですが、クライアントがセキュリティ上の観点から、送るべきではないと判断した場合には送らなくてもかまいません。
Age レスポンスヘッダは、オリジンサーバがレスポンスを生成した (あるいは再検証した) 時点からの送信者の推定経過時間を示す。
キャッシュされたレスポンスは、経過時間{age} がその使用有効期限{freshness lifetime} を過ぎていなければ、新鮮である。
もしキャッシュが表現できる以上の正の整数値を持っていたり、その経過時間計算でオーバーフローしたら、2147483648 (2^31) という値の Age ヘッダを送らなければならない。
キャッシュを持っている HTTP/1.1 サーバは、自身のキャッシュからのすべてのレスポンスにおいて、Age ヘッダフィールドを含まなければならない。
このヘッダは、例えば、あるリクエストに対して、キャッシュサーバが Age ヘッダを含むキャッシュされたレスポンスを返す場合に利用できます。
この場合、クライアントは Age ヘッダを調べ、既にそのレスポンスが新鮮でなくなっていたならば、オリジンサーバに最新のレスポンスを求めるためにリクエストをする必要があります。
Allow エンティティヘッダフィールドは、Request-URI によって識別されるリソースがサポートするメソッドの一覧を示す。
サーバが受け入れられないメソッドを受けた場合には、405 と共に、適切な Allow ヘッダを返さなければいけません。
サーバに認証を受けようとするユーザエージェントは、必ずというわけではないが、通常は 401 レスポンスの後、リクエストに Authorization リクエストヘッダフィールドを含める。
Authorization フィールド値は、リクエストされたリソースのある領域へのユーザエージェントの認証情報を含む credentials からなる。
401 レスポンスを受け取ったユーザエージェントは、そのレスポンスに含まれる WWW-Authenticate を元に、保護された領域{realm} に入るための認証を受けるためのパスワードをこのヘッダに含めます。
Cache-Control 一般ヘッダフィールドは、リクエスト/レスポンス連鎖上のすべてのキャッシングメカニズムが従わなければならない指示を記述するために使用される。
キャッシュ指示は、リクエスト中にある指示があっても、それと同じ指示がレスポンスで与えられるという事を暗に意味しない、という意味において単向性である。
Connection 一般ヘッダフィールドは、送信者が特定の接続のために望むオプションを指定する事を可能にするが、介在するプロクシとの接続を超えて伝達してはならない。
一つは、Connection ヘッダに close という値をセットする事で、持続的接続を終了する事ができるというものです。
HTTP/1.1 では、送信者がレスポンスを完了した後に接続を切断するという事を合図する "close" 接続オプションを定義する。次の例を見よ。
この場合、リクエスト・レスポンスのどちらかのヘッダフィールドの場合でも、その接続は現在のリクエスト/レスポンスが完了したら、「持続的」(section 8.1) であるとみなすべきではない。
持続的接続をサポートしていない HTTP/1.1 アプリケーションは、すべてのメッセージに "close" 接続オプションを含めなければならない。
もう一つは、Connection ヘッダに「同時に使用するヘッダ名」を含める事で、そのヘッダをホップバイホップヘッダにする事ができます。
HTTP/1.1 プロクシは、メッセージが転送される前に Connection ヘッダフィールドを解析し、フィールド内の各 connection-token ごとに、connection-token と同じ名前を持つメッセージからヘッダフィールドを削除しなければならない。
接続オプションは、その接続オプションに関するパラメータが無ければ、追加的ヘッダフィールドは送信されないかもしれないので、対応する追加的ヘッダフィールドによってではなく、Connection ヘッダフィールド内の connection-token によって表される。
Connection ヘッダ内に列挙されるメッセージヘッダは、Cache-Control のようなエンドトゥエンドヘッダを含めてはならない。
キャッシュや非キャッシュプロクシの振る舞いを定義する目的のために、我々は HTTP ヘッダを二つのカテゴリに分ける。
エンドトゥエンドヘッダ。これはリクエストやレスポンスの最後の受信者に転送されるものである。レスポンス中のエンドトゥエンドヘッダはキャッシュエントリの一部として保存されなければならないし、またキャッシュエントリから形成されたあらゆるレスポンスで転送されなければならない。
ホップバイホップヘッダ。これは単一の転送レベル接続に対してのみ意味を持ち、キャッシュによって保存されたりプロクシによって転送されたりしないものである。
HTTP/1.1 (あるいはそれ以降) に導入されるその他のホップバイホップヘッダは、Connection ヘッダにおいて列挙されなければならない (section 14.10)。
ホップバイホップヘッダにおける 単一の転送レベル接続に対してのみ意味を持ち とは、例えばプロクシを使用している場合に、その先のアプリケーションには転送されないヘッダであるという事です。
すなわち、Connection ヘッダとは、仕様外のホップバイホップヘッダを転送するためのヘッダであるという事ができるのです。
Content-Language エンティティヘッダフィールドは、それと共に送られるエンティティの読者の自然言語を表す。
Content-Language の主な目的は、ユーザ自身が望む言語に応じて、エンティティを識別したり区別したりできるようにするためである。そのため、もしボディの内容がデンマーク語を理解できる人のみを対象にしているのならば、それに合ったフィールドは次のようになる。
Content-Length エンティティヘッダフィールドは、受信者に送られるエンティティボディのサイズを、HEAD メソッドの場合は GET リクエストがなされた場合に送られるエンティティボディのサイズを、10 進数のオクテットで表す。
Content-Length はレスポンスヘッダとしてよく見られますが、このヘッダはエンティティヘッダなのでリクエスト時にも使用されます。
但し、メッセージボディに転送コーディングが施されている場合は、メッセージボディの大きさを表すために Content-Length ヘッダを使用してはいけません。
メッセージの転送長さ{transfer-length} は、それがメッセージの中に現れた時、つまりある転送コーディングが適用された後のメッセージボディの長さである。
メッセージボディがメッセージに含まれる時、そのボディの転送長さは以下のうちのどれかで決定される(優先順位順)。
メッセージボディを含ん "ではならない"(1xx, 204, 304 レスポンスや HEAD リクエストに対するすべてのレスポンス)レスポンスメッセージは、メッセージ中にエンティティヘッダフィールドがあるか無いかに関わらず、常にヘッダフィールドの後の最初の空行で終了する。
もしそれら二つの長さが違うのならば、Content-Length ヘッダフィールドを送ってはならない (例えば、Transfer-Encoding がある場合)。
もし、メッセージが Transfer-Encoding ヘッダフィールドと Content-Length ヘッダフィールドとを一緒に送ってきたならば、後者は無視しなければならない。
もし、メッセージがメディアタイプ "multipart/byteranges" を使い、その転送長さが別の方法で特定できなければ、自身で区切りを持つこのメディアタイプは、その転送長さを定義する。
リクエスト時の複数のバイトレンジを持つ Range ヘッダの存在は、クライアントが multipart/byterange レスポンスを解析できる事を暗黙的に意味する。
この場合、サーバはこの章で定義されているうちの 1, 3, 5 の項目のいずれかの方法を使って、このメッセージを制御しなければならない。
(サーバがレスポンスを送り返す可能性がある事を捨て置けないので、リクエストボディの終了を示すために接続を閉じるという方法は、使えない。)
HTTP/1.0 アプリケーションへの互換性のため、メッセージボディを含む HTTP/1.1 リクエストは、もしサーバが HTTP/1.1 に準じている事を知らなければ、適した Content-Length ヘッダフィールドを含まなければならない。
もし、リクエストがメッセージボディを含んでいて、Content-Length を含んでいなかったら、サーバは、それによってメッセージの長さが決定できない場合は 400 (bad request) を、有効な Content-Length を受けとりたい場合は 411 (length required) を、それぞれ返すべきである。
エンティティを受け取るすべての HTTP/1.1 アプリケーションは、"chunked" 転送エンコーディング (section 3.6) を受け入れられなければならないので、メッセージ長が前もって決定できない時には、このメカニズムをメッセージに対して使う事が認められる。
メッセージには、Content-Length ヘッダフィールドと identity でない転送コーディングの両方を含んではならない。
メッセージが、identity でない転送コーディングを含んでいたら、Content-Length は無視されなければならない。
メッセージボディが認められるメッセージにて Content-Length が与えられる時には、そのフィールド値はメッセージボディにおけるオクテットの数と正確に一致しなければならない。
HTTP/1.1 ユーザエージェントは、不正な長さが受信されたり検出された時には、それをユーザに通知しなければならない。
転送コーディングが施されている場合、Content-Length ヘッダは送られてはならないし、仮に送られてもこれを無視しなければならない
転送コーディングが施されていない場合、Content-Length ヘッダは送られなければならないが、これはメッセージボディ中のオクテット数と正確に一致しなければならない
Content-Length ヘッダが送られない場合は、接続の終了を持ってエンティティボディの終末を判断する事ができるが、リクエストボディにおいてこの手法は推奨されないし、サーバは 411 レスポンスを持って明示的に拒否する事ができる
Content-Location エンティティヘッダフィールドは、エンティティがリクエストされたリソースの URI とは別の場所から取得可能である時に、そのメッセージに含まれるエンティティに対するリソースの場所を与える時に使う事ができる。
サーバは、そのレスポンスエンティティに対応する別種のもの{variant} のための Content-Location を提供すべきである;
特に、それに関連するリソースが複数あり、それらのエンティティが実際に個別にアクセスされ得る別の位置{location} を持っているような場合、サーバは返される特定の別リソース{variant} についての Content-Location を提供すべきである。
すなわち、リクエストの時点でのこの特定のエンティティに対応するリソースの場所を示しているだけである。
もしその特定のエンティティの源を明らかにしたければ、将来のリクエストでは Request-URI として Content-Location の URI を指定する事ができる。
キャッシュは、再利用するために使った URI とは異なる Content-Location を持つエンティティを、その後のその Content-Location URI へのリクエストへのレスポンスとして使ってもよいとは仮定できない。
しかし、section 13.6 に記されているように、Content-Location は単一のリクエストされたリソースから再利用するための複数のエンティティを区別するために使う事ができる。
PUT リクエストや POST リクエストでの Content-Location の意味は定義されていないので、この場合サーバはそれを無視してもかまわない。
Location はリクエストを完了するため、あるいは新しいリソースを識別するため、受信者を Request-URI 以外の場所にリダイレクトするために使用されます。
これに対し、Content-Location は「今回のリクエストに対して返されるべきこのリソースは、当該フィールド内の URI に存在する」という事を示しているに過ぎません。
ここで重要なのは、クライアントがリダイレクトしてそのリソースを取りにいったわけではないという点です。
もし、将来において、「今取得したリソースと全く同じもの」が欲しい場合は Content-Location にある URI にアクセスしても良いでしょう。
Content-MD5 エンティティヘッダフィールドは、RFC 1864 [23] にて定義されるように、エンティティボディのメッセージ状態チェック{message integrity check} (MIC) をエンティトゥエンドで提供するという目的を持つエンティティボディの MD5 ダイジェストである。
(注: MIC は転送時における偶発的変化を発見するには有効であるが、故意的攻撃においては十分に対抗はできない。)
Content-MD5 ヘッダフィールドは、オリジンサーバやクライアントがエンティティボディの状態チェックをするために生成する事ができる。
オリジンサーバやクライアントのみが Content-MD5 ヘッダフィールドを生成する事ができ、プロクシやゲートウェイはエンドトゥエンドでの状態チェックという価値が失われてしまうので、これを生成してはならない。
ゲートウェイやプロクシを含むあらゆるエンティティボディの受信者は、このヘッダフィールド内のダイジェスト値が受信したエンティティボディのものと一致するかどうかをチェックする事ができる。
エンティティボディに MD5 というアルゴリズムを適用すると、そのエンティティについてのメッセージダイジェストと呼ばれる、ユニークな文字列を作成する事ができます。
Content-Range エンティティヘッダフィールドは、共に送られるエンティティボディの一部が、エンティティボディ全体のうちどこに当たるものかを示すために送られる。
Content-Type エンティティヘッダフィールドは、受信者に送られるエンティティボディのメディアタイプを示し、HEAD メソッドの場合は、GET リクエストがなされた場合に送られるエンティティボディのメディアタイプを示す。
Date 一般ヘッダフィールドは、メッセージが生成された日付・時刻を表し、RFC 822 の orig-date と同じ意味論を持つ。フィールド値は、
オリジンサーバは、以下の場合を除き、全てのレスポンスに Date ヘッダフィールドを含めなければならない。
もし、レスポンスステータスコードが 100 (Continue) か 101 (Switching Protocols) ならば、レスポンスはサーバのオプションとして、Date ヘッダフィールドを含める事ができる。
もし、サーバが有効な現在時刻を表せる時計を持っていなければ、レスポンスは Date ヘッダフィールドを含めてはならない。この場合、section 14.18.1 にある規則に従わなければならない。
一部の場合を除き、基本的に全てのレスポンスに付加されるべきですが、リクエストの場合も付加する事ができます。
HTTP ヘッダにはいくつか日付を扱うものがありますが、この日付と時刻のフォーマット、及び HTTP/1.1 アプリケーションが日付と時刻を扱う際の注意点について、RFC 2616 の section 3.3.1, 19.3, 19.4.3 に記述されています。
HTTP アプリケーションは、歴史的に日付/時刻スタンプの表現のために三つの異なるフォーマットが許されている。
最初のフォーマットはインターネット標準としてより好まれ、RFC 1123 (RFC 822 の改定) にて定義される固定長サブセットを表す。
第二のフォーマットは一般的に使用されているが、時代遅れ{obsolete} な RFC 850 日付フォーマットに基づいており、四桁年号が欠落している。
日付の値を解析する HTTP/1.1 クライアントとサーバは (HTTP/1.0 との互換性のために) 三つすべてのフォーマットを受け入れなければならないが、ヘッダフィールドにおいて HTTP-date 値を表す時は RFC 1123 フォーマットのみを生成しなければならない。
注: 日付の値の受取人は、時々 SMTP や NNTP のプロクシ/ゲートウェイを経由してメッセージが回収されたり送信されたりするような場合の時に、非 HTTP アプリケーションによって送られるであろう日付の値を受け入れる程に強固である事が推奨される。
全ての HTTP 日付/時刻スタンプは、例外を除いてグリニッジ標準時刻 (GMT) で表されなければならない。
これは、タイムゾーンを表す三文字略として "GMT" の含める事によって最初の二つのフォーマットの中で示され、asctime フォーマットを解釈する時には仮定されなければならない。
HTTP-date は大文字・小文字を区別するが、文法書中の SP のように、含まれる特定のもの以上の追加的 LWS を含んではならない。
注: この日付/時刻スタンプフォーマットの HTTP 的要求は、プロトコルストリーム内での使用にのみ適用される。
クライアントやサーバは、これらのフォーマットをユーザ提示やログイン要求などのために使用する必要はない。
この文書は HTTP/1.1 メッセージの生成についての要求を表しているものであるが、すべてのアプリケーションが正しくそれらを実装しているわけでは無いであろう。
故に、我々は作業アプリケーションはもし実装から逸脱する部分があってもそれが明確に中間処理できる時は、逸脱に対して寛容である事を推奨する。
日付の解析やエンコーディング上の要求や日付エンコーディングに伴うその他の潜在的な問題に対する追加的規則には以下が含まれる。
HTTP/1.1 クライアントやキャッシュは、将来において 50 年以上現れると思われる RFC-850 日付は実際過去のものであると仮定すべきである (これは "2000年" 問題を解決する助けとなる)。
HTTP/1.1 実装は解析された Expires 日付を適切な値よりも早いように内部的に表す事ができるが、解析されたExpires を適切な値よりも遅いように内部的に表してはならない。
有効期限に関連するすべての計算は、GMT で行われなければならない。ローカルタイムゾーンは経過時間や有効期限の計算や比較に影響を及ぼしてはならない。
HTTP ヘッダが誤って GMT 以外のタイムゾーンの日付値を転送してしまった場合、最も可能な限り保守的な変換を使って GMT へと変換されなければならない。
HTTP/1.1 は日付比較の処理を簡単にするために制限された日付フォーマット (section 3.3.1) のセットを使用する。
他のプロトコルからのプロクシやゲートウェイは、確実にメッセージ中に与えられるあらゆる Date ヘッダも HTTP/1.1 フォーマットの一つに従い必要であれば日付を書き換えるべきである。
HTTP/1.1 アプリケーションは、HTTP に関するあらゆる日付フォーマットを RFC 1123 形式にて生成しなければならない。
それ以外の日付形式に関しては理解できる能力は求められないが、ある程度有名な日付形式は理解できる事が推奨され、そして理解できる場合には適切な形式に書き換えるべきである。
全ての日付、及び日付に関係する全ての計算は GMT にて表されなければならず、もし他のプロトコル等から GMT 以外のタイムゾーンが使われた場合も、受信者は GMT に変換しなければならない。
HTTP に関係しない部分では、例え転送プロトコルに HTTP を使っていてもこれらの日付フォーマットを使う必要は無い。
Expect リクエストヘッダフィールドは、特定のサーバの振る舞いがクライアントによって要求されている事を示すために使われる。
リクエスト中の Expect フィールドにある期待値{expectation values} を理解できない、あるいはそれに従えないサーバは、適切なエラーステータスを返さなければならない。
サーバは、その期待{expectations} に一つでも添えない場合は、417 (Expectation Failed) ステータスを返さなければならないが、そのリクエストが他に問題を持つような場合などは、他の 4xx ステータスを返してもよい。
すなわち、HTTP/1.1 プロクシは、もし叶えられない期待を持つリクエスト受けた時には 417 (Expectation Failed) ステータスを返さなければならない。
Expect はホップバイホップ扱いなので、その希望を受け付けられない (あるいはその上流のサーバが受け付けられないと確実に知っている) サーバやプロクシは、直ちに 417 ステータスコードを返さなければなりません。
Expires エンティティヘッダフィールドは、レスポンスが新鮮で無くなる{stale} と考えられる時点の日付/時刻を表す。
通常、キャッシュ (プロクシのキャッシュかユーザエージェントのキャッシュ) は、最初にオリジンサーバ (かエンティティの新鮮なコピーを持つ中間キャッシュ) にその有効性を検証{validated} するまでは、新鮮で無いキャッシュエントリを返さないであろう。
Expires フィールドがあっても、オリジナルリソースがその期限前、あるいは期限後に更新されたり、削除されたりするという事を暗黙的に意味するものではない。
Expires フィールドのフォーマットは、section 3.3.1 にて定義される絶対日時であり、RFC 1123 の日付フォーマットでなければならない。
HTTP/1.1 のクライアントとキャッシュは、今までのように、この他の、特に "0" という値 (すなわち "期限切れ" ) を含む不正な日付フォーマットも扱わなければならない。
レスポンスが "期限切れ" という事を表すためには、オリジンサーバは Date ヘッダの値と同じである Expires の日付を送る (期限の計算方法については、section 13.2.4 参照)。
レスポンスが "期限切れではない" という事を表すためには、オリジンサーバはレスポンスが送られる時点からおよそ1年後の時刻の日付を持つ Expires を送る。
既定ではキャッシュできないレスポンスにおいて、ある未来の日付を持つ Expires ヘッダフィールドがあって、それに Cache-Control ヘッダフィールド (section 14.9) にて何らかの指示がなされていなければ、そのレスポンスはキャッシュ可能である。
サーバが、そのレスポンスのキャッシュを望まない場合は、現時点の時刻 (Date ヘッダの値) を、またしばらくの間十分に有効であるという事を示す場合は 1 年後の値を指定しましょう。
もし From リクエストヘッダフィールドが与えられていれば、そこにはリクエストしているユーザエージェントを操っている人間のインターネット e-mail アドレスが含められているべきである。
そのアドレスは、RFC 1123 によってアップデートされた RFC 822 の中で定義されているような、マシンが使えるものであるべきである。
このヘッダフィールドは、ログを取るという目的や不正なあるいは望まないリクエストの原因を究明するために使う事ができる。
このフィールドは、このリクエストがそのメソッドを実行する責任を持つ者に代わって実行された、という事を意味する。
特に、ロボットエージェントは、受信後に問題が起きた場合にロボットを操作している責任者に連絡を取るために、このヘッダを含めるべきである。
ロボットは、リソースの取得を自動化でき、またその処理も早い等のメリットがありますが、HTML 中の URI が全て同一サーバ内を指すような場合にロボットがリソース取得を行うと、その動作が素早いが故に、そのサーバは短時間に激しいアクセスを受ける事になります。
これにより、サーバが一時的な過負荷状態になり、他ユーザがリソースを取得できなくなる可能性があります。
このような問題あるロボットを発見した場合、サイト管理者がロボット運転者に連絡するためのメールアドレスを通知するためのヘッダが From ヘッダです。
従って、ロボット運転者の明示的な意志無しには送信されるべきではありませんが、ロボットを運用するのであれば From ヘッダはなるべく送られるべきです。
(※) ロボットによってはメールアドレスを User-Agent ヘッダに含んでいるものもあります。
From フィールドで送られる情報はユーザのプライバシー観念やサイトのセキュリティポリシーに反するかもしれないので、ユーザがそのフィールドの値を無効、有効、変更ができないのであれば転送されるべきではない。
ユーザは、ユーザ設定やアプリケーションの初期設定においてこのフィールドの内容をセットできなければならない。
必ずというわけではないが、我々はユーザが From と Referer 情報の送信を有効、無効にできるようにする便利なトグルインターフェースを提案する。
上記のようなインターフェースが用意されていない時は、プロクシにて From ヘッダを制御する事になりますが、プロクシを利用したリクエストを発行する場合の注意について、再び section 14.22 をご覧下さい。
このフィールドのインターネット e-mail アドレスは、リクエストを発行するインターネットホストとは異なるものを使う事ができる。
例えば、リクエストがプロクシを通して送られた場合、元々のリクエスト者のアドレスが使われるべきである。
クライアントは、それがユーザのプライバシーへの関心やそのサイトのセキュリティポリシーにそぐわないかもしれないので、From ヘッダフィールドをユーザの承認無しには送るべきではない。
ユーザが、リクエストの前にこのフィールドの値を使用不可にしたり、使用可能にしたり、修正したりできるようする事を強く推奨する。
ロボット運転者の明示的な意志無しにメールアドレスは送信されるべきではありませんが、ロボットを運用するのであれば From ヘッダはなるべく送られるべきです。
Host リクエストヘッダフィールドは、リクエストされたリソースのインターネットホストとポート番号を、ユーザや参照されるリソースによって与えられるオリジナルURI (一般には section 3.2.2 にて表されるような HTTP URL) から得るために、指定する。
Host フィールド値は、オリジンサーバやオリジナルURL によって与えられているゲートウェイによって名付けられる authority を表さなければならない。
これによって、オリジンサーバやゲートウェイは、単一の IP アドレス上で複数のホスト名を持つサーバのルートURL "/" のような、内部的に曖昧な{internally-ambiguous} URL を区別する事ができる。
"host" の後にポートの情報が無ければ、暗黙的にリクエストされるサービスの既定ポート (すなわち HTTP URL の場合は "80") を使用する事を意味する。
クライアントは、すべての HTTP/1.1 リクエストメッセージに Host ヘッダフィールドを含めなければならない。
もし、リクエストされた URI がリクエストされているサービスのインターネットホスト名を含んでいなければ、Host ヘッダフィールドの値は空にしなければならない。
HTTP/1.1 プロクシは、どんな転送するリクエストメッセージにも、プロクシによってリクエストされているサービスを識別する適切な Host ヘッダフィールドを含んでいるようにしなければならない。
すべてのインターネットベースの HTTP/1.1 サーバは、Host ヘッダフィールドが無い HTTP/1.1 リクエストメッセージには、400 (Bad Request) ステータスコードを返さなければならない。
クライアントとサーバは Host リクエストヘッダをサポートし、HTTP/1.1 リクエストに Host リクエストヘッダ (section 14.23) が欠落していた場合はエラーを知らせ、絶対 URI (section 5.1.2) を受け入れる、という必要条件はこの仕様書にて定義されている最も重要な変更の一つである。
古い HTTP/1.0 クライアントは IP アドレスとサーバの一対一の関係を仮定していたので、そのリクエストが向けられた IP アドレスとは他にリクエストの意図されたサーバを区別するための別の確立されたメカニズムが存在しなかった。
上に概説された変更によって、インターネットは、かつての古い HTTP クライアントはもはや一般的では無い、単一の IP アドレスで複数の Web サイトをサポートできるようになり、単一のホストへの多くの IP アドレスの割り当てが深刻な問題を引き起こしているような、大きな作業上の Web サーバをより簡略化する事ができる。
また、インターネットもルートレベルの HTTP URL 中で使われる特別な目的のドメイン名の唯一の目的に割り当てられていた IP アドレスを取り返す事ができる。Web の成長率と既に設置されたサーバの数を考慮に入れると、全ての HTTP 実装 (既存の HTTP/1.0 アプリケーションを更新したものを含む) がこれらの要求を正しく実装する事は非常に重要である。
サーバは、HTTP/1.1 リクエストが Host リクエストヘッダを含んでいなければエラー 400 (Bad Request) を知らせなければならない。
通常、IP アドレスは一台のホストにつき一つ割り当てられるものですが、昨今の急速的な Web の成長による IP アドレスの枯渇が心配されるようになって、一台のホストサーバに複数のドメインを割り当てる事で、まるで複数のホストがあるように振る舞う事ができる機能が開発されました。
このような技術を仮想ホスト(バーチャルホスト)と言い、例えばある一台のホストサーバに host1.studyinghttp.net, host2.studyinghttp.net, host3.studyinghttp.net という三つのドメインを割り当てる事で、まるで三台のホストサーバがあるように見え、これによって IP アドレスを "節約" する事ができるのです。
クライアントがリソース取得のためにリクエストをする際は、まずホスト名を IP アドレスに変換する、すなわち名前解決をしてサーバを探し出した後、リクエストをするのですが、現在リクエスト先の IP アドレスには三つのホストが "同居" しているので、このままでは望むリソースを上手く取得する事ができません。
インターネットリクエストにより識別された正確なリソースは、 Request-URI と Host ヘッダフィールドの両方で調べる事で決定される。
HTTP/1.1 リクエストによってリソースを決定する時、リクエストされたホストによってリソースが異なるという事を認めていないオリジンサーバは、Host ヘッダフィールド値を無視するであろう。(但し、HTTP/1.1 での Host をサポートする別の必要条件について section 19.6.1.1 参照。)
リクエストされたホストに基づいてリソースを区別する (しばしば仮想ホストや空虚{vanity} なホスト名として参照される) オリジンサーバは、HTTP/1.1 リクエストで要求されたリソースを決定するために以下の規定を使わなければならない。
もし、 Request-URI が absoluteURI でなく、リクエストが Host ヘッダフィールドを含んでいるならば、ホストは Host ヘッダフィールド値によって決定される。
もし、規則 1 や 2 で決定されるようなホストがそのサーバで正当なホストでないならば、レスポンスは 400 (Bad Request) エラーメッセージでなければならない。
Host ヘッダフィールドが無い HTTP/1.0 リクエストを受信した者は、要求されたリソースがどれほど正確な要求されているかを決定するため (例えば、特定のホストのユニークな何かに対する URI パスの試験のような) 発見方法を試す事ができる。
この場合、Host ヘッダがないと、仮想ホストが適用されていた場合にリソースを取得する事ができません。
HTTP アプリケーションを作成した時に、400 エラーが返された場合は、Host ヘッダが正しくセットされているかどうかをチェックしてみましょう。
なお、ホスト名が設定されていなかったり、たまたま名前解決できなかったりした場合もありますが、その場合は上にある通り、例えば Host: 192.168.0.1 等とするのでは無く、Host: と、Host ヘッダの値は空にしておきましょう。
If-Modified-Since リクエストヘッダフィールドは、メソッドを条件付きにするために使われる。
もしリクエストされたバリアントがこのフィールドにて指定された時刻以降に更新されていなければ、サーバはエンティティを返す代わりに、304 (not modified) レスポンスをメッセージボディ無しで返すであろう。
指定した時刻以降に更新されていれば、このヘッダがない時と同じように振る舞いますが、更新されていなければ 304 レスポンスを返さなければならず、その際いかなるレスポンスボディも返してはなりません。
If-Unmodified-Since リクエストヘッダフィールドは、メソッドを条件付きにするために使われる。
もし、リクエストされたリソースがこのフィールド内に記された時刻以降に更新されていなければ、サーバはそのリクエストに If-Unmodified-Since ヘッダが無い場合と同じようにリクエストされた動作を行うべきである。
リクエストされたバリアントが指定された時刻以降に更新されている場合、サーバはリクエストされた動作を行ってはならない 代わりに、412 (Precondition Failed) を返さなければならない。
指定した時刻以降に更新されていなければ、このヘッダがない時と同じように振る舞いますが、更新されていれば 412 レスポンスを返さなければなりません。
Last-Modified エンティティヘッダフィールドは、オリジンサーバがバリアントが最後に更新されたと考える日付を表す。
動的に取りこまれる部分を持つエンティティの場合、その各構成要素の最終更新時刻の中で最も最新の物になるであろう。
オリジンサーバは、Last-Modified にメッセージを生成した時刻よりも後の日付を送ってはならない。
リソースの最終更新時刻がある未来の時点を示すような場合は、サーバはその日付をメッセージ生成時点のものに置き換えなければならない。
オリジンサーバは、レスポンスの Date 値を生成する時刻にできるだけ近いエンティティの Last-Modified 値を得るべきである。
これによって受信者は、特にもしエンティティの更新がレスポンスが生成される時刻と近い場合に、エンティティの更新時刻について正確な評価ができる。
リソースが単なるファイルであれば "そのファイルの最終更新時刻" という意味でしょうし、CGI 等によって生成される、例えば掲示板等のような動的なデータやデータベースへのゲートウェイの場合には、(CGI スクリプト等の最終更新時刻ではなく) その内部で使用されるデータの最終更新時刻となるでしょう。
Location レスポンスヘッダフィールドは、リクエストを完了するため、あるいは新しいリソースを識別するため、受信者を Request-URI 以外の場所にリダイレクトするのに使われる。
201 (Created) レスポンスの場合、Location はリクエストによって作られた新しいリソースの場所である。
3xx レスポンスの場合、Location はリソースへ自動でリダイレクションさせるためにサーバが望むURIを示すべきである。
3xx: Redirection というレスポンスに対して、新しい URI を記述するためのフィールドです。
多くのブラウザでは、レスポンスにこのヘッダが含まれていた場合、直ちに (ユーザの了承を得る事無く) Location ヘッダに示される URI へと接続を試みます。
このヘッダは、例えばディレクトリへのリクエストの際に最後のスラッシュを付けずにリクエストを行う場合に見られるでしょう。
Max-Forwards リクエストヘッダフィールドは、TRACE (section 9.8) や OPTIONS (section 9.2) の各メソッドに、次のインバウンドサーバにリクエストを転送できるプロクシやゲートウェイの数を制限するというメカニズムを提供する。
これは、クライアントが、その中間で失敗したりループしたりしているリクエスト連鎖を追跡しようとする場合に有用である。
Max-Forwards 値は、このリクエストメッセージが残り何回転送できるかという回数を表す 10 進数の整数値である。
Max-Forwards ヘッダフィールドを含む TRACE あるいは OPTIONS リクエストを受けたプロクシやゲートウェイは、リクエストを転送する前にその値を調べ、更新しなければならない。
もし、受けとった Max-Forwards の値が 0 であれば、受信者はそのリクエストを転送してはならない代わりに、最後の受信者として応答しなければならない。
受けとった Max-Forwards の値が 0 以上であれば、転送されるメッセージにはその値から 1 を引いた値に更新した Max-Forwards フィールドを含めなければならない。
Max-Forwards ヘッダフィールドは、その仕様書で定義された他のすべてのメソッドや、そのメソッド定義の部分で明確に述べられていない拡張メソッド中では無視してもよい。
Max-Forwards を使うと、TRACE や OPTIONS リクエストの際に、転送されるサーバ数を限定する事ができます。
Max-Forwards が 1 以上の時は、次のサーバに転送する際に、そこから 1 を引いた数をセットし直して転送します。
Max-Forwards が 0 の時は、次のサーバに転送せずに、レスポンスを返さなければなりません。
Pragma 一般ヘッダフィールドは、リクエスト/レスポンス連鎖中のあらゆる受信者にも適用されるであろう実装の特別な指示を示すために使われる。
全ての pragma 指示子は、プロトコルの視点から見ればオプショナルな振るまいを指定するが、その振るまいが指示子と一致している事を要求するシステムがあるかもしれない。
no-cache 指示子がリクエストメッセージ中にある時は、アプリケーションはリクエストされたもののキャッシュコピーを持ってたとしても、オリジンサーバに向けてリクエストを転送すべきである。
クライアントは、HTTP/1.1 に従っているかどうかを知らないサーバに no-cache リクエストを送る際には、両方のヘッダフィールドを含めるべきである。
pragma 指示子は、そのアプリケーションにとってどんな意味を持つかに関わらず、その指示がそのリクエスト/レスポンス連鎖に関わるすべての受信者に適用されるかもしれないので、プロクシやゲートウェイアプリケーションはそれを無加工で通さなければならない。
特定の受信者のために pragma を指定する可能性は無いけれども、受信者にとって適切で無いあらゆる pragma 指示子は、受信者によって無視されるべきである。
Pragma ヘッダフィールドは、元々 HTTP/1.0 において、サーバへの指示子を持った汎用の HTTP ヘッダフィールドとして定義されたものですが、具体的に定義された指示子は no-cache だけです。
HTTP/1.1 では、キャッシュへの指示のために Cache-Control という専用のヘッダフィールドができたので、こちらを使いましょう。
条件付き、あるいは条件の付かない GET メソッドを使った HTTP 検索リクエストは Range リクエストヘッダを使って、エンティティ全体の代わりに、エンティティの一つ以上の sub-range を要求でき、リクエストの結果として返されるエンティティに当たる。
しかし、Range をサポートする事で転送に失敗した部分の再取得や、大きなサイズのエンティティの部分的な検索を効果的にサポートするので、HTTP/1.1 のオリジンサーバや中間キャッシュは、可能であればバイトレンジをサポートすべきである。
Referer[原文ママ] リクエストヘッダフィールド ("referrer" であるはずなのに綴りは間違っているが) は、サーバの利益のために、 Request-URI が得られたリソースのアドレス (URI) をクライアントに示させる。
Referer リクエストヘッダは、サーバが興味やログの取得、キャッシュの活用等のために、そのリソースへの逆リンクのリストを作成できるようにする。
また、メンテナンスのために、既に使用していない{obsolete} リンクやミスタイプのリンクを追跡できるようにもする。
もし Request-URI が、例えばユーザのキーボードからの入力など、それ自身の URI を持たないソースから得られた場合は、Referer フィールドを送ってはならない。
もしこのフィールド値が相対URI ならば、 Request-URI からの相対的なものと解釈すべきである。
但し、ブラウザのアドレス欄に URI が打ちこまれたような場合は、参照元となるリソースがありませんので、Referer を送ってはなりません。
また、基本的に Referer は送られるべきですが、クライアントがセキュリティ上の観点から、送るべきではないと判断した場合には送らなくてもかまいません。
これはとても有用であるが、もしユーザの詳細が Referer に含まれる情報から分けられていなければ、その力は悪用されうる。
さらに個人情報が既に削除されていても、Referer ヘッダは公表が不適当であろうプライベート文書の URI を示すかもしれない。
クライアントは、参照されるページがセキュアプロトコルで転送された場合は、(セキュアで無い) HTTP リクエストに Referer ヘッダフィールドを含むべきではない。
基本的に Referer は送られるべきですが、クライアントがセキュリティ上の観点から、送るべきではないと判断した場合には送らなくてもかまいません。
例えば、SSL 等で保護されるようなページは、実際にはユーザの個人情報やパスワード等が記載されている場合があるので、そのようなページの URI は転送すべきではありません。
Retry-After レスポンスヘッダフィールドは、リクエストしているクライアントにそのサービスがどのくらいの時間利用不可能なのかを示すために、503 (Service Unavailable) レスポンスと共に使われる。
また、このフィールドはリダイレクトされたリクエストが発行される前にユーザエージェントが待たなければならない最小の時間を示すために 3xx (Redirection) レスポンスで使う事もできる。
このフィールドの値は、HTTP-date か、あるいはレスポンス時以降の整数の (10進数の) 秒数である。
Server レスポンスヘッダフィールドは、リクエストを処理するオリジンサーバが使っているソフトウェアについての情報を含んでいる。
このフィールドには、複数の製品トークン (section 3.8) や、サーバとその他の重要な付属製品を識別するためのコメントを含める事ができる。
レスポンスがプロクシを通して送られた場合、プロクシアプリケーションは Server レスポンスヘッダを書き換えてはならない。
注: サーバのソフトウェアバージョンを明らかにする事で、セキュリティホールを持っている事がわかっているソフトウェアを使うサーバのマシンは攻撃を受けやすくなるかもしれない。
レスポンスがプロクシを経由している場合は、そのプロクシサーバの名前等をこのヘッダについてせずに、Via ヘッダに追加しなければなりません。
しかし、不用意に Server ヘッダを公開する事はセキュリティ上の観点から問題がある場合があります。
サーバの具体的なソフトウェアのバージョンを示す事によって、サーバマシンはあるセキュリティホールが知られているソフトウェアに対するアタックを受けやすくなるかもしれない。
例えば、セキュリティホールが既に報告されているサーバアプリケーションがある場合、Server ヘッダフィールドによってそれを知ったクラッカーは、攻撃をしようするかもしれません。
もちろん、これに対抗するためには、セキュリティホールへの対策が施されたサーバへと更新するのが一番良いのですが、それがままならない場合には Server ヘッダフィールドをオプションとして隠す事で、安易な攻撃を避ける事ができるかもしれません。
Upgrade 一般ヘッダは、クライアントが他にどんな通信プロトコルをサポートするかを表し、サーバがプロトコルを切り換えた方がいいと判断した場合に使わせたいものを指定させる。
サーバは、Upgrade ヘッダフィールドをプロトコルが切り換えられた事を示す 101 (Switching Protocols) レスポンスの中で使わなければならない。
Upgrade ヘッダは、その名の通り、使用されているプロトコルを HTTP/1.1 からアップグレードしたい場合に使用します。
この具体的な使い方については、RFC 2616 を更新した RFC 2817 にて、詳しく記述されています。
まず、クライアントが HTTP/1.1 より「良い」と考えるプロトコルがある場合ですが、これには 2 通りの考え方があります。
クライアントは、セキュアでないレスポンスが受け入れ可能であろう時に、任意の平文 HTTP リクエストの間にセキュアな操作へ切り替えを提案できる。
この場合、サーバは平文の HTTP 操作にて応答する事もできるし、あるいは (次の節で説明されるように) セキュアな操作に切り替える事もできる。
まずは、プロトコル変更をしたいとは考えるが、実際には HTTP/1.1 でも構わない場合では、通常のリクエストに Upgrade ヘッダを含めます。
これによって、サーバは実際にプロトコル変更をするか、それとも HTTP/1.1 をそのまま使用するのかを選択し、レスポンスにてそれを伝えます。
この時、Connection ヘッダ内に Upgrade というキーワードを入れて、それがホップバイホップヘッダであるという事を明示する必要があります。
セキュアでないレスポンスが受け入れられない場合、クライアントは初めに (可能であれば) TLS/1.0 へと切り替えを完了するために OPTIONS リクエストを送らなければならない。
もう一つは、どうしてもプロトコル変更を行いたい場合ですが、この場合は OPTIONS メソッドによるリクエストを行わなければなりません。
何故、OPTIONS なのかというと、このメソッドはサーバ上のリソースに対して何らかの動作を行うものではない (no-op な) メソッドであるからです。
サーバは、そのリスト中に使用できるプロトコルがあって、実際に切り替える場合は、そのプロトコル名を Upgrade ヘッダに含めて、101 レスポンスを返します。
これも 2 通りの考え方があって、まずプロトコル変更をしたいとは考えるが、実際には HTTP/1.1 でも構わない場合では、通常のレスポンスに Upgrade ヘッダを含めるもので、これはリクエストの場合と同様です。
もう一つの、どうしてもプロトコル変更を行いたい場合は、426 というステータスコードを返す事でその意思を示す事ができます。
User-Agent リクエストヘッダフィールドは、リクエストを生成したユーザエージェントについての情報を含む。
これは、統計目的、プロトコル違反の追跡、特定のユーザエージェントの制限を回避するようなレスポンスを作成するためのユーザエージェントの自動認識のために使う。
このフィールドには、複数の製品トークン (section 3.8) や、エージェントやユーザエージェントの重要な付属製品を識別するためのコメントを含める事ができる。
Vary フィールド値は、そのレスポンスが新鮮である{fresh} 間、キャッシュが再検証無しにそれに続くリクエストに対するレスポンスとして使ってよいかどうかを、完全に決定するためのリクエストヘッダフィールドのセットを示す。
キャッシュできない、あるいは新鮮でなくなった{stale} レスポンスの場合、Vary フィールド値はユーザエージェントにその表現を選択するために使われた基準{criteria} について通知するために使われる。
"*" という Vary フィールド値は、キャッシュはこのレスポンスが適切な表現であるかどうかをそれに続くリクエストのリクエストヘッダからは決定できない、という事を意味する。
HTTP/1.1 サーバは、サーバ駆動型ネゴシエーションを受けるあらゆるキャッシュ可能なレスポンスに Vary ヘッダフィールド値を含むべきである。
そうする事で、キャッシュはそのリソースへの将来のリクエストを適切に解釈する事ができ、ユーザエージェントにそのリソースへのネゴシエーションの存在について知らせる事ができる。
サーバは、サーバ駆動型ネゴシエーションを受けるキャッシュ不可能なレスポンスにも、ユーザエージェントにそのレスポンス時には変化してしまうレスポンスの次元についての有益な情報を提供するであろうから、Vary ヘッダフィールド値を含む事ができる。
Via 一般ヘッダフィールドは、リクエスト時におけるユーザエージェントからサーバ間の、またレスポンス時におけるオリジンサーバからユーザエージェント間の、中間のプロトコルと受信者を示すためにゲートウェイやプロクシによって使われなければならない。
これは、RFC 822 での "Received" フィールドに類似しており、転送されるメッセージを追跡したり、リクエストループを回避したり、リクエスト/レスポンス連鎖上のすべての送信者のプロトコル能力を識別したりする意図を持つ。
それぞれの受信者は、その結果がアプリケーションを転送する順序になるように末尾に自身の情報を付加しなければならない。
コメントは、User-Agent や Server 各ヘッダフィールドと同様に、受信プロクシやゲートウェイソフトウェアを識別するために Via ヘッダフィールド内で使う事ができる。
しかし、Via フィールド内のすべてのコメントは省略可能であり、他の受信者はそのメッセージを転送する前にそれを削除する事ができる。
例えば、リクエストメッセージが HTTP/1.0 ユーザエージェントから "fred" というコードネームの内部プロクシに送られ、これが HTTP/1.1 を使って nowhere.com にある公衆プロクシにリクエストを転送し、最後に www.ics.uci.edu というオリジンサーバにリクエストを転送する事で完了する場合を考える。
www.ics.uci.edu が受けるリクエストは、次のような Via ヘッダフィールドを持っているだろう。
Via は、クライアント-サーバ間でリクエストを処理した中継者や使用したプロトコル等を示すために使用されます。
もし付加されなければ、使用プロトコルの矛盾 (例えば HTTP バージョンの違い等) による通信上の致命的なエラーを引き起こす可能性があります。
ネットワークファイアウォールの入口の役割を果たすプロクシは、ファイアウォールの内側にあるホストを識別するヘッダ情報の転送について特に用心すべきである。
特に、ファイアウォールの内側で生成されたすべての Via フィールドは削除するか安全なものに置き換えるべきである。
ネットワークファイアウォールへの入り口として使われるプロクシやゲートウェイは、既定では、ファイアウォール域内部のホスト名やポート番号を転送すべきではない。
許可されなければ、ファイアウォール内のあらゆるホストの received-by は、適当な偽名に置き換えられるべきである。
内部構造の守秘に関して強いプライバシー要求を持つ組織では、プロクシは同一の received-protocol 値を持つ連続した Via ヘッダフィールドエントリを一つのエントリに連結する事ができる。
アプリケーションは、それらがすべて同じ組織コントロール化にあって、ホスト名が既に偽名に置き換えられている場合以外には、複数のエントリを連結すべきではない。
アプリケーションは、異なる received-protocol 値を持つエントリを連結してはならない。
HTTP 通信を中継するホストが複数存在する時に、その通信を成功させるために必要な情報はHTTP バージョン だけであり、中継をするホスト名は必要ではありません。
そのため、中継ホスト名は偽名に置き換えたり、同じ HTTP バージョンを持つホストが続く場合はそれらを連結したりする事が許されています。
このフィールド値は、その Request-URI に適用できる認証スキームとパラメータを示す最低一つの challenge から成る。
注: ユーザエージェントは、複数の challenge や WWW-Authenticate ヘッダフィールドが供給される場合、challenge の内容はそれ自身にコンマで区切られた認証パラメータのリストが含んでいるかもしれないので、WWW-Authenticate や Proxy-Authenticate 各ヘッダフィールドを解析するのには特別な注意を払う必要があるであろう。
RFC 2616 にて定義されている HTTP ヘッダは 47 種類ありますが、それ以外にも広く利用されている非標準ヘッダもいくつかあります。
Content-Disposition レスポンスヘッダフィールドは、ユーザがその内容をファイルに保存したい場合にオリジンサーバが既定のファイル名を提案する事を意味するように勧告されている。
受信するユーザエージェントは filename-parm パラメータ中に表されているディレクトリパス情報を尊重すべきではない。
このヘッダが content-type に application/octet-stream を持つレスポンス中で使われる場合、ユーザエージェントはレスポンスを表示すべきではなく、直接「レスポンスを名前を付けて保存」ダイアログを記入する事が暗黙的に提案される。
HTTP はメッセージの形式が MIME に似ているので、HTML フォームからマルチパートデータをアップロードする際にしばしば使用されます。
Content-Disposition ヘッダの filename 属性を使うと、マルチパートデータとして転送されたデータのファイル名をデータの送信側が提示する事ができます。
しかし、このヘッダがセキュリティ上の問題を抱えているという事が section 15.5 に記述されています。
RFC 1806 は、HTTP ではしばしば実装されている Content-Disposition ヘッダについてのものだが、これはいくつかの深刻なセキュリティ上の問題を抱えている。
Content-Disposition は HTTP 標準では無いが、広く実装されているので、我々は実装者にその使用法とリスクについて記述している。
これらは一つの例を除いて、最小限にされる運命にも無いし、この文書がその評価の中で現状を変える事も無い。
この文書は送信者がファイル名を提示するための方法を提供するので、受信する MUA は送信者の提示するファイル名が危険要素を表していない事に気をつけなければならない。
一般的に、受信する MUA はユーザの明示的な開始のための動作無しにそれを解釈したり、実行するようなファイルを名付けたり、置いたりすべきではない。
Content-Disposition ヘッダの filename 属性を使うと、マルチパートデータとして転送されたデータのファイル名をデータの送信側が提示する事ができます。
当然、受信者側はこの提示されたファイル名を受け入れる必要は無く、自由にファイル名を決定する事ができるのですが、例えばデータの取り扱いになれていない人がこれを扱った場合、誤ってデータを上書きしてしまう可能性があります。
RFC 2183 は、MIME データについてのものなので MUA となっていますが、HTTP クライアントの実装者はこの部分を HTTP クライアントと読み替え、Content-Disposition ヘッダを受け取っても、ユーザの明示的動作を受けない限りは保存ファイル名の決定や、あるいはその実行を自動的に行わせない様に実装しなければいけません。
すなわち、HTTP/1.1 中に定義されたヘッダを使用する事では表現できないようなメタ情報に関しては、ユーザが任意のヘッダを定義し、送信する事が可能です。
HTTP で使用されるヘッダの形式は、section 4.2 にもある通り、RFC 822 にて定義される形式に由来します。
そのようなフィールドはこの仕様書、あるいはあらゆる拡張フィールドの定義の中でまだ使われていない名前がなければならないが、それらユーザ定義フィールドの全体の構文はこの仕様書のフィールド区別と折り重ねの規則を満足しなければならない。
"X-" で始まるフィールド名は仕様書で定義される事は無いので、常にユーザ定義ヘッダとして使用できる。
ユーザ定義ヘッダの活用法の一つとして、例えば CGI を使えば、クライアントの送出した HTTP ヘッダを取得できるので、Web サイトを構築している人も活用できるでしょう。
しかし、これらのユーザ定義ヘッダは、クライアントとサーバが互いにその意味を理解していなければいけません。
特に一般的な単語を使ったユーザ定義ヘッダの使用は、同じフィールド名に互いに違う意味を持たせている場合があるかもしれないので、注意が必要となります。

 

[ 2] ヘッダー・フッター活用術 −Word編−
[引用サイト]  http://www.yoshikawa.co.jp/ybs/skilup/ybs0405.htm

チェックを外すと、1ページ目にはページ番号がふられず、2ページ目から「2・3・4……」とふられます。
2ページ目を「1」にしたい場合は、更に書式ボタンをクリックし、「開始番号」を「0」に設定してください。(上図参照)
例えば「1ページ目のページ番号は『5』にしたい」といった場合は、前述の「開始番号」を「5」にすれば設定できます。
しかし、「1ページ目から5ページ目までは番号をふらず、6ページ目を『1』に設定したい」といった場合は、設定方法が少し複雑になります。この方法はまた後ほどご紹介します。(「文書の途中からページ番号を設定する」の項参照)
ページ上部に「ヘッダー」と書かれた点線で囲まれた枠が現れ、「ヘッダーとフッター」ツールバーが表示されます。カーソルは枠内に移動します。
(ヘッダー/フッターの切り替え)をクリックし、操作枠をフッターに切り替えます。(再度「ヘッダー/フッターの切り替え」をクリックすれば、ヘッダーに戻ります)
*Wordが用意している汎用的なヘッダー/フッターを利用する場合は、「定型句の挿入」を利用すると便利です。 右図のような項目が用意されています。
左から順に「ページ番号」「ページ数(総ページ数のことです)」「ページ番号の書式設定」「日付」「時刻」です。ボタンをクリックすることにより、ヘッダー/フッターの枠内に挿入されます。
*ヘッダー/フッターの配置(中央揃えや右揃え等)や書式(フォントやサイズ等)は、書式設定ツールバーから、普通の文書に設定するのと同じ感覚で設定できます。
「奇数/偶数ページ別指定」にチェックを入れてください。その後、奇数ページと偶数ページ、それぞれにヘッダー/フッターの設定を行います。
[表示→ヘッダー/フッター]にて、ヘッダー/フッター編集画面を表示し、実際に入力されているページ数等を手動で削除して下さい。
「1〜5ページまでは何も設定せず、6ページ目からページ番号をふっていきたい」といった場合は、設定が少々難しくなります。
(5ページ目と6ページ目の間に空白ページが挿入されてしまう場合があります。その際はDeleteキーを押して、無駄な改ページを削除します)
……これで、6ページ目に「1」というページ番号がふられます。(1〜5ページ目には何も設定されません)
ヘッダー/フッターが設定されている状態から変更する場合は、上記までの設定を行った後に、1〜5ページ目のどこかにカーソルを移動し、ヘッダー/フッターの削除をして下さい。
文書を「セクション」で区切ると、セクションごとにレイアウトを変更できます。それぞれ違うヘッダー/フッターを設定できるほか、「セクション1の用紙サイズはA4だが、セクション2はB5にする」といった設定もできます。
ヘッダー/フッター(ページ番号)の設定で多いご質問が、最後にご紹介した「途中のページから設定変更したい」といったものです。考え方が少し複雑なので、戸惑われるかもしれませんが、是非、設定方法をマスターして、こだわりの文書を作りましょう!

 

[ 3] HTTPヘッダのメタ情報
[引用サイト]  http://www.kanzaki.com/docs/sw/http-header.html

ユーザエージェント(ブラウザ)がウェブサーバーからHTTPでリソースを取得するとき、HTTPメッセージのヘッダにいくつかのデータを付加することで、リソースに関する情報やユーザエージェントの機能、利用者の好みなどを伝えることができます。HTTPヘッダは、ウェブのリソースに関するメタ情報を提供する、最も確実で効率的な手段の一つです。
WWWでリソースを取得するとき、ほとんどの場合はHTTP (Hypertext Transfer Protocol) [RFC2616]に基づくメッセージの交換によってユーザエージェント(UA)とウェブサーバーがやり取りを行います。このときに伝達されるデータについて概略を理解しておくと、メタデータの確実で効率的な提供に生かすことができます。
たとえば、このページを取り出すためにUAがサーバーに送るHTTPのリクエストメッセージは、次のようなのものです。
1行目がリソースを取得(GET)するための指示とHTTPバージョンで、それ以降が補足情報を伝えるヘッダです。プロパティ名: 値 形式のフィールドで、メタデータなどをサーバーに送ります。この場合は、主としてUAがどんなタイプの情報を処理できるのかを示しています。
UAからのリクエストを受けてサーバーがリソースを送り出すときも、同様の形の応答ヘッダが先頭に付加されます。
1行目は処理の結果を示す応答コード、2行目以降がヘッダ部分です。ヘッダの後に、1行の空行を挟んで、リソースの中身が送信されます。このヘッダでは、日付などの送信処理に関するデータと、MIMEタイプや更新日時などのリソースに関するメタデータほかが示されています。
UAは、実際にリソースの取得を要求(GET)するまえに、このヘッダ情報だけをリクエスト(HEAD)して、効率的にメタ情報を調べることもできます。また、UAがローカルディスクのキャッシュの日時をIf-Modified-Sinceヘッダで送れば、サーバーはリソースの更新日付がキャッシュより新しいときだけ内容を送り返せばよく、無駄なデータの送信を避けられます(更新されていなければ、応答コードを304 Not modifiedとしてヘッダのみ送り返す)。
サーバーからの応答ヘッダには、送り出すリソースについてのメタデータが含まれます。これらの多くはサーバーが自動的に付加しますが、いくつかは作者(サーバー管理者)が設定することで、より適切なメタデータをリソースに加えられるようになります。
ウェブ上には世界各国・各言語のリソースが存在しますから、文字化けを起こさずに適切に内容を処理するためには、使われている文字コードを知ることが重要です。文字コード情報は、Content-Typeヘッダのオプションパラメータであるcharset=で示します。UAはこのヘッダを見て、リソースの本体を処理する前に、その内容がどんな文字コードで書かれているかを理解できるわけです。
リソースの中身の文字コードは、サーバーは自動的には分かりません(送信するたびに中身をチェックして文字コードを判別していては効率が悪すぎます)。そこで、サーバー管理者が設定ファイルで(必要ならグループごとに)文字コードを示す情報を設定しておきます。この手段は、サーバーによって異なりますが、広く使われているApacheならば、AddType指示子を使い、httpd.confや.htaccessファイルに次の1行を加えます[APACHE-MIME]。
この設定により、.htmlという拡張子を持つファイルのContent-Typeヘッダには、text/htmlというMIMEタイプに加え、Shift_JISという文字コード情報が付加されることになります。
ファイルによって使用する文字コードが違っている場合、ディレクトリ単位で文字コードを管理し、AddType指示子をhttpd.confの<Directory>別に、もしくはディレクトリごとの.htaccessファイルに記述します。あるいは、文字コードごとに拡張子を使い分けるのも一つの手段です。
サイトの共通バナーなどを効率よく管理するためにSSI (Server Side Include)を利用している人も少なくないと思います。SSIを使う場合の問題は、ファイルの内容がリクエストされるたびに異なる可能性があるので、サーバーがLast-Modifiedフィールドを応答ヘッダに加えなくなるという点です。本当にダイナミックな内容なら、これは正しい対応なのですが、共通バナーのような固定的なものをインクルードするだけで更新日付情報が提供できなくなると、重要なメタデータが失われてしまうことになります。
この問題を回避するために使われるのが、ApacheのXBitHack指示子です[APACHE-INCL]。この指示子は、本来は実行権限を持つHTMLファイルをSSIの対象として処理させるための機能ですが、これを利用して、SSI処理したファイルにもLast-Modifiedヘッダを加えさせることができます。
という1行を設定ファイルに記述し、更新日付を返したいファイルに実行許可を与えてください。実行許可のないSSIファイルにはLast-Modifiedは加えられないので、本当にダイナミックなファイルと固定的なインクルードを区別することも可能です。
HTTP/1.1では、ヘッダに含まれるメタデータを使って、複数のリソースの中から最も適切なものを選択するためのコンテント・ネゴシエーションの仕組みが定められています。例えば、同じ内容の文書の英語版と日本語版が用意されている場合、UAのAccept-Languageヘッダの値でenが優先されていれば英語版を、jaが優先されていれば日本語版をサーバーが送り返すといった機能です。
Apacheサーバーには、このコンテント・ネゴシエーションを簡単に利用できるようにするMultiViews機能が用意されています[APACHE-NEG]。次の1行を設定ファイルに加えてください。
Options Allが指定されていても、このMultiViewsの指定は別途行わなければなりません。MultViewsを利用して、言語のネゴシエーションを行わせるには、次のようにして言語コードと拡張子を結びつけます。
これで、.jaという拡張子を持つファイルは日本語に、.enは英語に対応づけられます。サーバー側には、日本語版と英語版のファイルを、それぞれ次のような拡張子を加えたファイル名で用意します。
Apacheは、UAからhttp-header.htmlというリソース取得のリクエストを受け取ると、Accept-Languageヘッダを調べ、その内容に応じて適切な言語バージョンのファイルを送り返してくれます。MultiViewsは、言語バージョンだけでなく、Acceptヘッダに応じて画像タイプなどMIMEタイプのバリエーションを選んだり、Accept-Charsetヘッダに応じて文字コードのバリエーションを選んだりすることも可能です。
UAのリクエストに含まれるAccept-Languageヘッダは、多くのブラウザではオプション設定の「言語の優先順位」といった部分で指定することができます。
このオプションで設定した言語コードが、リクエスト時にAccept-Languageヘッダとしてサーバーに送られることになります。設定画面での優先順位を入れ替えてこのページを再読込してみると、同じURIをリクエストしているのに、異なる言語のページが表示されることが分かるでしょう。
サイト全体に共通するメタデータを提供する場合、HTTPヘッダに新しいフィールドを追加すると効率的です。たとえば、P3Pのコンパクトポリシーをヘッダに加えるような使い方です。
この応答ヘッダを確認することで、クライアントはP3Pのポリシーファイルを別途ロードすることなく、サーバーのプライバシーポリシーを確認できるようになります(P3Pについては、後日解説ページを提供する予定です)。

 

[ 4] ヘッダとは 【header】 - 意味・解説 : IT用語辞典
[引用サイト]  http://e-words.jp/w/E38398E38383E38380.html

例えば、ワープロソフトで作成した文書には、各ページの先頭に本文の入力領域と分けられた領域が確保されており、この部分がヘッダになる。ワープロ文書のヘッダには作成日や作成者などの情報が書き込まれる場合が多い。
ディスクにファイルを保存する場合にも、ファイル形式によっては、データ本体のほかに先頭にヘッダ領域を設け、様々な情報を埋め込む場合がある。
電子メールに付加されているヘッダには、メールの送信者、受信者、経由したサーバや題名など、メールの送受信に不可欠な情報や重要なデータが書き込まれている。 … 続きを読む
コンピュータが通信を行なう場合、データはパケットという単位に分割されて送受信されるが、パケットの先頭には送信元や送信先、パケットの大きさなど、パケット自体に関する情報が付加される。これもヘッダの一例である。
月収40万円以上のIT派遣のお仕事Excel VBA実践編 「VBAランクUP術」プログラマーへキャリアチェンジするロボットカー制御プログラミング体験講座サーバ設定を実機で学ぶ!ネットワーク基礎講座プログラマーのお仕事一覧ページ正社員エンジニア(特定派遣社員)募集未経験からエンジニアになるチャンスエンジニア魂を揺さぶるイベント開催 3DCAD エンジニア育成支援セミナー組込み技術習得までの道のり無料!シーケンス制御育成支援講座' );
業務システムのための上流工程入門―要件..ITアーキテクトのためのシステム設計完全..「派生開発」を成功させるプロセス改善の..共通フレーム2007―経営者、業務部門が参..達人プログラマー―システム開発の職人か..ITアーキテクト Vol.14 (IDGムックシリー..InstallShield公認ガイドブック MSIイン..本当に使える見積もり技術―ソフトウエア..デスマーチ 第2版 ソフトウエア開発プロ..
ATM ..タは48バイトごとに分割され、5バイトのヘッダ情報を付加された「ATMセル」という単位で送受信される。OSI参照モデルで..
ATMセル ..タは48バイトごとに分割され、5バイトのヘッダ情報を付加された53バイトがATMセルとなる。ATMセルに付加される5バイト..
BTP ..ベースの仕様。BTPメッセージはSOAPヘッダやSOAPボディに埋め込まれる形で送信される。BTPでは単一のトランザクションを..
CBEFF ..バイオメトリクスデータが共通して持つべきヘッダ情報を規定する規格で、データ本体の規格を定めるものではない。CBEF..
CSRF ..のリクエストの受信を拒否する必要がある。ヘッダに含まれる情報を元に参照元が正規のページかどうかをチェックしたり、..
MACフレーム ..ス、フレームの種類を示す情報などを含んだヘッダを、末尾にエラー訂正情報のFCS(フレームチェックシーケンス)が付..
MIMEマルチパート ..送ったりするのに使われる。従来、メールはヘッダと本文という2つの部分しか持てなかったが、マルチパート仕様に..
MPLS ..、ルーティング(経路選択)情報としてIPヘッダを利用するが、MPLSではこれの代わりに「ラベル」と呼ばれる短い固定長の識..
MacBinary .. OSで使用されているファイル保存形式。ヘッダ部分、データ部分(データフォーク)、リソース部分(リソースフォーク)の..
OpenType ..かった。OpenTypeでは両者に共通のヘッダを付加し、両方の形式を利用可能にした仕様である。すなわち、実際のフォント..
PDU ..ロトコルで使用するあて先などの制御情報(ヘッダ)を付加した形式になっている。プロトコルは階層構造になっていることが..
SOAPエンベロープ SOAPヘッダとSOAPボディを含む、SOAPとしてのメッセージ全体のこと。SOAPによって送信されるメッセージ全体を包み込..
SOAPヘッダ ..ープに含まれるメッセージの一つ。SOAPヘッダは必須要素ではないため、使用する必要がない時は省略できる。SOAPヘッ..
SOAPメッセージ プロトコルヘッダとSOAPエンベロープを合わせた、SOAP使用時に送信されるデータ全体のこと。SOAP自身はXMLベースの規..
Yellow Book ..ている。Red Bookには各ブロックにヘッダを記述していなかったが、Yellow Bookではアドレスなどを記述したヘッダが..
エンベロープ ..fer Agent)がメール本体(本文やヘッダ)に付加するデータで、送信者と宛先の2つがある。現実世界の封筒に書かれてい..
オフトラック ..データを記録したトラックを参照するためにヘッダが媒体上を絶えず移動している。このとき、ヘッダの位置がトラック..
ステートフルパケットインスペク.. ..のポートが何番か」など、TCPやUDPのヘッダを元に判断できる定型的な条件をセットしてパケットを遮断・..
トルカ ..)であり、トルカデータであることを示す「ヘッダ」部、情報の概要を表示する「トルカ」データ部(最大192バイト)と、概..
ネットワークバイトオーダー ..ルエンディアン」という。TCP/IPではヘッダなどをビッグエンディアンで送ることが定められている(データ領域..
パケットフィルタリング ..過させるかどうか判断する機能。パケットのヘッダにはプロトコルや送信元アドレス、送信先アドレスやポート番..
ピックアップ ..ィスクなど磁気記憶装置では記録再生部を「ヘッダ」と呼ぶのが一般的なため、「ピックアップ」と言えば光学ドライブ..
ペイロード ..単語で、ITの世界では通信パケットのうちヘッダ部分(行き先等の付加情報)を除いた、本来転送したいデータ本体のこと..
ページ設定 ..ソフトの場合は行数や1行当たりの文字数、ヘッダ・フッタに文字を入れる場合はその位置や内容、使用するプリンタの設..
メールスプーフィング ..すましてメールを送信すること。メールにはヘッダと呼ばれる領域があり、発信者名や発信アドレス、宛先アドレス..
メールヘッダ ..される。このほか、「X-」で始まるメールヘッダは任意に記載できることになっていて、「X-Mailer」(メールソフトの..
自動振り分け機能 ..信する際に、メールの差出人や件名、内容、ヘッダ情報などをもとに、メールソフトが自動的にメールを分類する機能..
16ビットアプリケーション 16ビットマイクロプロセッサや16ビットOS上で動作するよう設計されたアプリケーションソフト。Microsoft社のMS..
ウィザード 対話形式で質問に答えていくことによって、複雑なアプリケーションソフトの操作を簡便にする機能。アプリケーションの..
エスケープシークエンス ディスプレイやプリンタの出力結果を制御したり、表示色や字飾りなどの文字の属性を変えたりするための特殊な文..
エミュレータ あるシステム上で他のOSやCPUの機能を再現し、そのOS(CPU)向けのアプリケーションソフトを動作させるソフトウェア。エ..
エンコーダ データを一定の規則に基づいて符号化するソフトウェア。LSIチップに実装されてハードウェアとして提供される場合もある..
キーボードマクロ テキストエディタやワープロソフト、表計算ソフトなどが持つマクロ機能の中で、キー入力の組み合わせによって呼び出..
クリッカブルURL Webサイトのアドレス(URL)がクリック可能な状態で表示される機能。URLをクリックすることでWebブラウザが自動的に起..
ソースレベル互換 2つのプラットフォーム上で共通のソースコードが利用でき、各プラットフォーム上で個別にコンパイルを行なえばそれ..
デコーダ 一定の規則に基づいて符号化されたデータを復号し、もとのデータを取り出すソフトウェア。LSIチップに実装されてハード..
バックポート ソフトウェアの新しいバージョンで実装された機能や改良点などを、以前のバージョンのソフトウェアでも利用できるよう..
パラメータ ソフトウェアを実行したりプログラム内で関数を呼び出したりするときに、その動作を指定するために外部から与える設定..
ポーリング 通信機器やソフトウェアが複数で連携動作する際に、送信(あるいは処理)要求がないか、一つ一つの相手に聞いて回る方式..
マクロ ワープロソフトや表計算ソフトなどで、特定の操作手順をプログラムとして記述して自動化する機能。プログラムの記述に使..
マルチプラットフォーム アプリケーションソフトが複数のOSに対応していること。また、OSが複数のハードウェアに対応していること。例え..
ミドルウェア OS上で動作し、アプリケーションソフトに対してOSよりも高度で具体的な機能を提供するソフトウェア。OSとアプリケーシ..
リエントラント 複数のプログラムルーチンから同時かつ非同期に呼び出されることが可能なプログラムルーチン。複数のプログラムを同..
ロード ハードディスクなどの外部記憶装置に記憶されているデータをコンピュータ内のメインメモリに呼び出す操作。外部記憶装置..
一括置換 テキストエディタやワープロソフトなどで、指定された文字列を別の文字列にまとめて置き換える操作や機能。文書中あるい..
上書きモード ワープロソフトやテキストエディタなどで文字を入力する際、カーソル位置にある文字を入力した文字で置き換える入力モ..
上書き保存 作業中のファイルを読み込み時と同じファイル名で保存すること。変更前のファイルは消滅する。変更前のファイルを取っ..
名前を付けて保存 ファイルの内容を編集した後、新たに別の名称のファイルを作成して保存すること。元のファイルの内容は編集前の状態..
地域化 ソフトウェアの多言語対応の段階の一つで、国際化されたソフトウェアをある特定の言語に対応させること。その言語に対応..
多言語化 ソフトウェアの多言語対応の段階の一つで、様々な言語への対応を組み込み、利用者が自分の使用する言語にあわせて設定を..
暴走 プログラムの異常動作などによって、コンピュータが制御できない状態に陥ること。「ハングアップ」「フリーズ」と近い意味..
正規化 データを一定のルールに従って変形し、利用しやすくすること。非常に多くの分野で使われている言葉で、分野によって意味..
関連用語は自動でリンクしているため、同音異義語など不適切なリンクが一部ございますがご容赦ください。' );

 

戻る