‰PNG  IHDRÛ€;œˆ®IDATxÚíÜ»n€0€áŒÿK¡• Š)(ŠpAá‚Â… –±Ç7†LeG{ý§ Â§ã»¢|¬ïذaÆ 6lذaÆ 6lذaÆ 6lomûó$^þy¿úÝØ°ag“5bÆ 6lذaÆ 6lذa{‘팁 6lذaÆ ›`›µçãŽ}HÏFkm,›m¶Ðû¬ÓªñÑêÃŽÒÃŽ!Ý ‹xÛ|'ܢ˟;·E:—Ôõ9­&ᶒ¶}®{žv]™n&Ñ6ç íhíÕ_õ÷tšÚ Íµ-Ò«¯šºZ;úŽZ$Û.žPÔÄøkíÅŸ)º!§o¡¡ˆ>}l³eQfJÕT±—u іµò•›åچª×\âÝX=8ÝîRن4`VwòlŸ>ëÃ×ún•Gþ^›ìiŸs©Ì"msÙ$×uñÝi»ˆ?w¡bs[m©6³K4áãçO†‰¹.£4›Þ%ºÐ×/õÀßÏbëC%Šçt û‰MŸ×–– ú-lîG6±mrz2–ô¶s%»9À•s@˜¹ì-âk»9 =ìæî)ÎÝõÌåâk»B5ÕËÂ×\Ãñš+͂çZsÙ² åµòRnÚÂ~G§…ÉRН•CŸŠíšÉ ›wIcIïén7jJ°åèhۛNCS|ìâÓj0æªò8yœiHKֶۛÐkòɈ+;Sz°¶úšáL/µ­FÐ*\çÆÔ”Ë#"5¯Âmë2Üï[SÅ­«»Íú‹£=©g¯În‹aóP…eÚғûLÛÿ lذaÆ 6lØ^kãï̱aÆ 6lذaÆ 6lذa;ÿŠ ¶_ÚÎذaÆ 6lذaÆ 6lذaÆ ¶ášëœR¢ÇÆIEND®B` コンテントネゎシ゚ヌション - Apache HTTP サヌバ バヌゞョン 2.4
<-
Apache > HTTP サヌバ > ドキュメンテヌション > バヌゞョン 2.4

コンテントネゎシ゚ヌション

翻蚳枈み蚀語:  en  |  fr  |  ja  |  ko  |  tr 

この日本語蚳はすでに叀くなっおいる 可胜性がありたす。 最近曎新された内容を芋るには英語版をご芧䞋さい。

Apache は HTTP/1.1 の芏栌に蚘述されおいるコンテントネゎシ゚ヌションを サポヌトしおいたす。 ブラりザにより提䟛されたメディアタむプ、 蚀語、文字セット、゚ンコヌディングの優先傟向に基づいお、 最適なリ゜ヌスの衚珟を遞択できたす。 たた、䞍完党なネゎシ゚ヌション情報を送っおくるブラりザからのリク゚ストを もっず賢く取り扱えるよう、いく぀か機胜も実装しおありたす。

コンテントネゎシ゚ヌションは mod_negotiation モゞュヌルによっお提䟛されおいお、デフォルトで組み蟌たれおいたす。

Support Apache!

参照

top

コンテントネゎシ゚ヌションに぀いお

リ゜ヌスは、幟぀か異なった衚珟で利甚できる堎合がありたす。 䟋えば、異なる蚀語や異なるメディアタむプ、 たたはそれらの組み合わせで利甚できるかも知れたせん。 もっずも適した遞択をする方法の䞀぀には、むンデックスペヌゞを ナヌザに芋せお、ナヌザに遞んでもらう方法がありたす。 しかし、サヌバが自動的に遞ぶこずができる堎合が倚くありたす。 これは、ブラりザがリク゚スト毎に、 どの衚珟を嗜奜するかずいう情報を送るこずで動䜜しおいたす。 䟋えばブラりザは、可胜ならフランス語で情報を芋たい、 䞍可胜ならその代わりに英語でもよいず、 自分の嗜奜を知らせるこずができたす。 ブラりザはリク゚ストのヘッダで自分の優先傟向を知らせたす。 フランス語のみの衚珟を芁求する堎合は、ブラりザは次を送りたす。

Accept-Language: fr

この優先傟向は、遞択可胜な衚珟が存圚しお、 蚀語によっお様々な衚珟がある堎合にのみ適甚される ずいうこずに泚意しおください。

もっず耇雑なリク゚ストの䟋を挙げたしょう。 このブラりザはフランス語ず英語を受け付ける、しかしフランス語を奜む、 そしお様々なメディアタむプを受け付けるが、 プレむンテキストや他のタむプよりは HTML を奜む、 他のメディアタむプよりは GIF や JPEG を奜む、しかし最終手段ずしお 他のメディアタむプも受け付ける、ず蚭定されおいたす。

Accept-Language: fr; q=1.0, en; q=0.5
Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1

Apache は HTTP/1.1 芏栌で定矩されおいる 'server driven' コンテントネゎシ゚ヌションをサポヌトしおいたす。 Accept, Accept-Language, Accept-Charset, Accept-Encoding リク゚ストヘッダを完党にサポヌトしおいたす。Apache は 'transparent' コンテントネゎシ゚ヌションもサポヌトしおいたすが、 これは RFC 2295 ず RFC 2296 で定矩されおいる詊隓的な ネゎシ゚ヌションプロトコルです。 これらの RFCで定矩されおいる 'feature negotiation' はサポヌトしおいたせん。

リ゜ヌスずは URI で特定される抂念䞊のもののこずです (RFC 2396)。 Apache のような HTTP サヌバは、その名前空間の䞭での リ゜ヌスの衚珟ぞのアクセスを提䟛したす。 それぞれの衚珟は 定矩されたメディアタむプ、文字セット、゚ンコヌディング等の 付属した、バむト列の圢匏です。 それぞれのリ゜ヌスはある時点で 0 個、1 個、それ以䞊の衚珟ず 関連付けられる可胜性がありたす。耇数の衚珟が利甚できる堎合は、 リ゜ヌスはネゎシ゚ヌション可胜であるずされ、 個々の衚珟は variant ず呌ばれたす。 ネゎシ゚ヌション可胜なリ゜ヌスの variant が異なる、 その状態を指しお、 ネゎシ゚ヌションの次元ず呌びたす。

top

Apache におけるネゎシ゚ヌション

リ゜ヌスをネゎシ゚ヌションするためには、 サヌバは variant それぞれに぀いおの情報を知っおおく必芁がありたす。 これは以䞋の二぀の方法のどちらかで行われたす。

type-map ファむルを䜿う

タむプマップは type-map ハンドラ (もしくは、叀い Apache の蚭定ず䞋䜍互換である MIME タむプ application/x-type-map) に関連付けられたドキュメントです。 この機胜を䜿うためには、あるファむルの拡匵子を type-map ずしお定矩するようなハンドラを、 蚭定ファむル䞭に眮く必芁があるこずに泚意しおください。 これは

AddHandler type-map .var

をサヌバ蚭定ファむル䞭に曞くこずが䞀番良い方法です。

タむプマップファむルは蚘述するリ゜ヌスず同じ名前を持っおいお、 利甚可胜な variant それぞれの゚ントリを持っおいる必芁がありたす。 そしお、この゚ントリは連続した HTTP のヘッダ行で構成されたす。 異なる variant のための゚ントリは空行で区切られおいたす。 ゚ントリ䞭に空行が耇数あっおはいけたせん。 習慣的には、マップファむルは党䜓を結合したものの゚ントリから始たりたす (しかしこれは必須ではなく、あったずしおも無芖されるものです)。 次に䟋を瀺したす。このファむルはリ゜ヌス foo を蚘述しおいるので、foo.var ずいう名前になりたす。

URI: foo

URI: foo.en.html
Content-type: text/html
Content-language: en

URI: foo.fr.de.html
Content-type: text/html;charset=iso-8859-2
Content-language: fr, de

たずえ MultiViews を䜿甚するようになっおいたずしおも、 ファむル名の拡匵子よりタむプマップの方が優先暩を持぀ずいうこずにも 泚意しおください。 variant の品質が違うずきは、この画像のように (JPEG, GIF, ASCII アヌトがありたす) メディアタむプの "qs" パラメヌタで指定されたす。

URI: foo

URI: foo.jpeg
Content-type: image/jpeg; qs=0.8

URI: foo.gif
Content-type: image/gif; qs=0.5

URI: foo.txt
Content-type: text/plain; qs=0.01

qs 倀の範囲は 0.000 から 1.000 です。qs 倀が 0.000 の variant は決しお 遞択されないこずに泚意しおください。'qs' 倀のない variant は qs 倀 1.0 を 䞎えられたす。qs パラメヌタはクラむアントの胜力に関係無く、他の variant ず 比范したずきの variant の盞察的な「品質」を瀺したす。 䟋えば、写真を衚珟しようずしおいるずきは JPEG ファむルの方が普通は ASCII ファむルよりも高い品質になりたす。しかし、リ゜ヌスが元々 ASCII アヌトで衚珟されおいるずきは、ASCII ファむルの 方が JPEG ファむルよりも高い品質になりたす。このように、qs は 衚珟されるリ゜ヌスの性質によっお variant 毎に特有の倀を取りたす。

認識されるヘッダの䞀芧は mod_negotiation ドキュメントにありたす。

Multiviews

MultiViews はディレクトリ毎のオプションで、 httpd.confファむルの <Directory>, <Location>, <Files> セクション䞭や、(AllowOverride が適切な倀に 蚭定されおいるず) .htaccess ファむルで Options ディレクティブによっお蚭定するこずができたす。 Options All は MultiViews をセットしないこずに泚意しおください。明瀺的に その名前を曞く必芁がありたす。

MultiViews の効果は以䞋のようになりたす: サヌバが /some/dir/foo ぞのリク゚ストを受け取り、/some/dir で MultiViews が有効であっお、 /some/dir/foo が存圚しない堎合、 サヌバはディレクトリを読んで foo.* にあおはたる党おのファむルを探し、 事実䞊それらのファむルをマップするタむプマップを䜜りたす。 そのずき、メディアタむプずコンテント゚ンコヌディングは、そのファむル名を 盎接指定したずきず同じものが割り圓おられたす。 それからクラむアントの芁求に䞀番合うものを遞びたす。

サヌバがディレクトリの玢匕を䜜ろうずしおいる堎合、 MultiViews は DirectoryIndex ディレクティブで指定されたファむルを探す過皋にも 適甚されたす。蚭定ファむルに

DirectoryIndex index

が曞かれおいお、index.html ず index.html3 が 䞡方存圚しおいるず、サヌバはその䞭からどちらかを適圓に遞びたす。 もしその䞡方が存圚せずに index.cgi が存圚しおいるず、 サヌバはそれを実行したす。

もしディレクトリを読んでいる際に、 文字セット、コンテントタむプ、蚀語、゚ンコヌディングを 指定するための mod_mime で認識できる拡匵子を持たないファむルが芋぀かるず、結果は MultiViewsMatch ディレクティブの蚭定に䟝存したす。このディレクティブは ハンドラ、フィルタ、他のファむル拡匵子タむプのどれが MultiViews ネゎシ゚ヌションで䜿甚できるかを決定したす。

top

ネゎシ゚ヌション方法

Apache はリ゜ヌスの variant の䞀芧を、タむプマップファむルか ディレクトリ内のファむル名からかで取埗した埌、 「最適な」 variant を決定するために二぀の方法の どちらかを起動したす。 Apache のコンテントネゎシ゚ヌションの機胜を䜿うために、 どのようにしおこの調停が行われるか詳现を知る必芁はありたせん。 しかしながら、この文曞の残りでは関心のある人のために、 䜿甚されおいる方法に぀いお説明しおいたす。

ネゎシ゚ヌション方法は二぀ありたす。

  1. 通垞は Apache のアルゎリズムを甚いた Server driven negotiation が䜿甚されたす。Apache のアルゎリズムは埌に詳现に説明されおいたす。 このアルゎリズムが䜿甚された堎合、Apache はより良い結果になるように、特定の次元においお品質の倀を 「倉える」こずができたす。Apache が品質の倀を倉える方法は埌で詳现に説明されおいたす。
  2. RFC 2295 で定矩されおいる機構を甚いおブラりザが特に指定した堎合、 transparent content negotiation が䜿甚されたす。このネゎシ゚ヌション方法では、「最適な」 variant の決定をブラりザが完党に制埡するこずができたす。 ですから、結果はブラりザが䜿甚しおいるアルゎリズムに䟝存したす。 Transparent negotiation の凊理の過皋で、ブラりザは RFC 2296 で 定矩されおいる 'remote variant selection algorithm' を実行するように頌むこずができたす。

ネゎシ゚ヌションの次元

次元 説明
メディアタむプ ブラりザは Accept ヘッダフィヌルドで優先傟向を指定したす。 アむテムそれぞれは、関連した品質数倀を持぀こずができたす。 variant の説明も品質数倀を持぀こずができたす ("qs" パラメヌタをご芧䞋さい)。
蚀語 ブラりザは Accept-Language ヘッダフィヌルドで優先傟向を指定したす。 芁玠それぞれに品質数倀を持たせるこずができたす。 variants は 0 か 1 ぀かそれ以䞊の蚀語ず 関連づけるこずができたす。
゚ンコヌディング ブラりザは Accept-Encoding ヘッダフィヌルドで優先傟向を指定したす。 芁玠それぞれに品質数倀を持たせるこずができたす。
文字セット ブラりザは Accept-Charset ヘッダフィヌルドで優先傟向を指定したす。 芁玠それぞれに品質数倀を持たせるこずができたす。 variant はメディアタむプのパラメヌタずしお文字セットを 指定するこずもできたす。

Apache ネゎシ゚ヌションアルゎリズム

ブラりザに返す「最適な」variant を (もしあれば) 遞択するように Apache は次のアルゎリズムを䜿うこずができたす。 このアルゎリズムを蚭定により倉曎するこずはできたせん。 次のように動䜜したす:

  1. たずはじめに、ネゎシ゚ヌションの次元それぞれに぀いお適切な Accept* ヘッダフィヌルドを調べ、 variant それぞれに品質を割り圓おたす。 もしある次元の Accept* ヘッダでその variant が蚱容できないこずが瀺されおいれば、それを削陀したす。 variant が䞀぀も残っおいなければ、ステップ 4 に行きたす。
  2. 消去法で「最適な」 variant を遞びたす。 次のテストが順番に適甚されたす。 テストで遞択されなかった variant は削陀されおいきたす。 テスト埌 variant が䞀぀だけ残っおいれば、それを最適なものずしお ステップ 3 に進みたす。 耇数 variant が残っおいれば、次のテストに進みたす。
    1. variant のメディアタむプの品質数倀ず Accept ヘッダの品質数倀ずの積を蚈算しお、最高倀の variant を遞びたす。
    2. 蚀語品質数倀が最高の variant を遞びたす。
    3. (もしあれば) Accept-Language ヘッダの蚀語順か、 (もしあれば) LanguagePriority ディレクティブの蚀語順で最適な蚀語の variant を遞びたす。
    4. 最高「レベル」のメディアパラメヌタ (text/html メディアタむプのバヌゞョンを䞎えるために䜿われたす) を持぀ variant を遞びたす。
    5. Accept-Charset ヘッダ行で䞎えられおいる最高の文字セット メディアパラメヌタを持぀ variant を遞びたす。 明瀺的に陀倖されおいない限り、ISO-8859-1 が蚱容されるようになっおいたす。 text/* メディアタむプであるけれども 特定の文字セットに明瀺的に関連づけられおいるわけではない variant は ISO-8859-1 であるず仮定されたす。
    6. ISO-8859-1 ではない文字セットメディアパラメヌタず 関連づけられおいる variant を遞びたす。 そのような variant がない堎合は、代わりに党おの variant を遞びたす。
    7. 最適な゚ンコヌディングの variant を遞びたす。 もし user-agent が蚱容する゚ンコヌディングがあれば、 その variant のみを遞びたす。 そうではなく、もし゚ンコヌドされたものずそうでない variant が混ざっお存圚しおいたら゚ンコヌドされおいない variant のみを遞びたす。 variant が党郚゚ンコヌドされおいるか variant が党郚゚ンコヌドされおいないずいう堎合は、 党おの variant を遞びたす。
    8. 内容の最も短い variant を遞びたす。
    9. 残っおいる variant の最初のものを遞びたす。 タむプマップファむルの最初にリストされおいるか、 variant がディレクトリから最初に読み蟌たれる時に ASCII順で゜ヌトしおファむル名が先頭になったか、のどちらかです。
  3. アルゎリズムを䜿っお䞀぀の「最適な」variant を遞びたしたので、 それを応答ずしお返したす。ネゎシ゚ヌションの次元を指定するために HTTP レスポンスヘッダ Vary が蚭定されたす (リ゜ヌスのキャッシュをする時に、 ブラりザやキャッシュはこの情報を䜿うこずができたす)。 以䞊で終わり。
  4. ここに来たずいうこずは、variant が䞀぀も遞択されなかった (ブラりザが蚱容するものがなかったため) ずいうこずです。 406 ステヌタス ("No Acceptable representation" を意味する) が、利甚可胜な variant のリストの぀いた HTML ドキュメントずずもに返されたす。 盞違の次元を瀺す HTTP Vary ヘッダも蚭定されたす。
top

品質の倀を倉える

䞊蚘の Apache ネゎシ゚ヌションアルゎリズムの厳栌な解釈で 埗られるであろう倀から、Apache は品質数倀を時々倉えたす。 これは、このアルゎリズムで完党ではない、あるいは正確でない情報を送る ブラりザ向けによりよい結果を埗るために行われたす。 かなりポピュラヌなブラりザで、もしないず間違った variant を遞択する結果になっおしたうような Accept ヘッダ情報を送るものもありたす。 ブラりザが完党で正しい情報を送っおいれば、 この数倀倉化は適甚されたせん。

メディアタむプずワむルドカヌド

Accept: リク゚ストヘッダはメディアタむプの優先傟向を指定したす。 これはたた、"image/*" や "*/*" ずいった「ワむルドカヌド」メディアタむプを含むこずができたす。 ここで * は任意の文字列にマッチしたす。 ですから、次の:

Accept: image/*, */*

を含むリク゚ストは、"image/" ではじたるタむプ党おが蚱容できる、 そしお他のどんなタむプも蚱容できる (この堎合はじめの "image/*" は冗長になりたす) こずを瀺したす。 扱うこずのできる明瀺的なタむプに加えお、機械的に ワむルドカヌドを送るブラりザもありたす。䟋えば:

Accept: text/html, text/plain, image/gif, image/jpeg, */*

こうするこずの狙いは、明瀺的にリストしおいるタむプが優先されるけれども、 異なる衚珟が利甚可胜であればそれでも良い、ずいうこずです。 しかしながら、䞊の基本的なアルゎリズムでは、 */* ワむルドカヌドは他の党おのタむプず党く同等なので優先されたせん。 ブラりザは */* にもっず䜎い品質 (優先) 倀を付けおリク゚ストを送るべきなのです。䟋えば:

Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01

明瀺的なタむプには品質数倀が付けられおいたせんので、 デフォルトの 1.0 (最高倀) の優先になりたす。 ワむルドカヌド */* は䜎い優先床 0.01 を䞎えられおいるので、 明瀺的にリストされおいるタむプに合臎する variant がない堎合にのみ、 他のタむプが返されたす。

もし Accept: ヘッダが q 倀を党く含んでいなければ、 望みの挙動をするために、 Apache は "*/*" があれば 0.01 の q 倀を蚭定したす。 たた、"type/*" の圢のワむルドカヌドには 0.02 の q 倀を蚭定したす (ですからこれらは "*/*" のマッチよりも優先されたす)。 もし Accept: ヘッダ䞭のメディアタむプのどれかが q 倀を含んでいれば、これらの特殊な倀は適応されず、 正しい情報を送るブラりザからのリク゚ストは期埅通りに 動䜜するようになりたす。

蚀語ネゎシ゚ヌションの䟋倖凊理

Apache 2.0 では新たに、蚀語ネゎシ゚ヌションが適合するものを 芋぀けるのに倱敗した時に、優雅にフォヌルバックできるような ネゎシ゚ヌションアルゎリズムが幟぀か远加されたした。

サヌバのペヌゞをクラむアントがリク゚ストしたけれども、 ブラりザの送っおきた Accept-Language に合臎するペヌゞが䞀぀も 芋぀からなかった堎合に、サヌバは "No Acceptable Variant" か "Multiple Choices" レスポンスをクラむアントに返したす。 これらの゚ラヌメッセヌゞを返さないように、 このような堎合には Apache が Accept-Language を無芖しお、 クラむアントのリク゚ストに明瀺的には合臎しないドキュメントを 提䟛するように蚭定できたす。 ForceLanguagePriority ディレクティブは、これらの゚ラヌの䞀぀か䞡方をオヌバヌラむドするために 䜿甚できお、 LanguagePriority ディレクティブの内容を䜿っおサヌバの刀断を代行するようにできたす。

サヌバは他に適合するものが芋぀からなければ、 蚀語サブセットで適合するものを詊そうずもしたす。 䟋えばクラむアントが英囜英語である en-GB 蚀語で ドキュメントをリク゚ストした堎合、サヌバは HTTP/1.1 芏栌では、単に en ずマヌクされおいるドキュメントを マッチするものずするこずは通垞は蚱されおいたせん。 (英囜英語は理解できるけど䞀般的な英語は理解できないずいう読み手は 考えられないので、Accept-Language ヘッダで en-GB を含んで en を含たないのはほが確実に蚭定の間違いである、 ずいうこずに泚意しおください。 ですが䞍幞なこずに、倚くのクラむアントではデフォルトで このような蚭定になっおいたす。) しかしながら、他の蚀語にはマッチせず、"No Acceptable Variants" ゚ラヌを返したり、 LanguagePriority にフォヌルバックしようずしおいるずきは、 サブセット指定を無芖しお、en-GB を en にマッチしたす。 Apache はクラむアントの蚱容蚀語リストに暗黙に 非垞に䜎い品質倀の芪蚀語を加えるこずになりたす。 しかし、クラむアントが "en-GB; q=0.9, fr; q=0.8" ずリク゚ストしお、 サヌバが "en" ず "fr" ず蚭蚈されたドキュメントを持っおいる堎合は、 "fr" ドキュメントが返されるこずに泚意しおください。 このような凊理は、HTTP 1.1 芏栌ずの敎合性を維持しお、 適切に蚭定されたクラむアントずもきちんず動䜜するために 必芁です。

より高床なテクニック (Cookie や特殊な URL パス等) においおもナヌザの蚀語遞択をサポヌトするため、 Apache 2.0.47 からは、mod_negotiation が環境倉数 prefer-language を認識するようになりたした。 この倉数が存圚しお、適切な蚀語タグが代入されおいるのであれば、 mod_negotiation は合臎する variant を遞択しようずしたす。合臎するものが無ければ、 通垞のネゎシ゚ヌション手順が適甚されたす。

Example

SetEnvIf Cookie "language=(.+)" prefer-language=$1
Header append Vary cookie

top

Transparent Content Negotiation の拡匵

Apache は transparent content negotiation プロトコル (RFC 2295) を次のように拡匵しおいたす。 特定のコンテント゚ンコヌディングのみが利甚可胜である variant に印を付けるために、新たに {encoding ..} 芁玠を variant リスト䞭に䜿っおいたす。 リスト䞭の゚ンコヌドされた variant を認識し、 Accept-Encoding リク゚ストヘッダに埓っお蚱容される ゚ンコヌドをもった variant は、どれでも候補 variant ずしお䜿甚するように、 RVSA/1.0 アルゎリズム (RFC 2296) の実装が拡匵されたした。 RVSA/1.0 の実装では、最適な variant が芋぀かるたで、 蚈算した品質数倀は小数点以䞋 5 桁たで䞞めたせん。

top

リンクず名前の倉換に関する泚意点

蚀語ネゎシ゚ヌションを䜿っおいる堎合は、 ファむルが䞀぀以䞊の拡匵子を持おお、 拡匵子の順番は通垞は考慮されない (詳现は mod_mime を参照) ので、 幟぀かの異なる名前の倉換を遞べるこずになりたす。

兞型的なファむルでは、MIME タむプ拡匵子 (䟋えば html) を持っおいお、゚ンコヌディング拡匵子 (䟋えば gz) を持っおいるかもしれなくお、 このファむルに異なる蚀語 variant を甚意しおいれば、 もちろん蚀語拡匵子 (䟋えば en) を持っおいるでしょう。

䟋:

ファむル名ず、それに察しお䜿えるリンクず䜿えないリンクの䟋です:

ファむル名 䜿えるリンク 䜿えないリンク
foo.html.en foo
foo.html
-
foo.en.html foo foo.html
foo.html.en.gz foo
foo.html
foo.gz
foo.html.gz
foo.en.html.gz foo foo.html
foo.html.gz
foo.gz
foo.gz.html.en foo
foo.gz
foo.gz.html
foo.html
foo.html.gz.en foo
foo.html
foo.html.gz
foo.gz

䞊の衚を芋お、拡匵子なしのリンク (䟋えば foo) がい぀でも䜿えるこずに気が付くでしょう。 この利点は、ドキュメントずしお応答するファむルの 実際のファむルタむプを隠蔜しお、リンクの参照を倉曎するこずなく 埌からファむルを倉曎できる、 䟋えば html から shtml に、あるいは cgi に倉曎できる点です。

リンクに MIME タむプを䜿い続けたい (䟋えば foo.html)時は、蚀語拡匵子は (゚ンコヌディング拡匵子もあればそれも含めお) MIME タむプ拡匵子の右偎になければなりたせん (䟋えば foo.html.en)。

top

キャッシュに関する泚意事項

キャッシュが䞀぀の衚珟を保存しおいるずきは、 リク゚スト URL ず関連づけられおいたす。 次にその URL がリク゚ストされた時に、キャッシュは 保存されおいる衚珟を䜿甚できたす。しかし、 リ゜ヌスがサヌバでネゎシ゚ヌション可胜であれば、 最初のリク゚ストでキャッシュされお続くキャッシュヒットでは 間違った応答を返しおしたうずいうこずになりかねたせん。 これを防ぐために、Apache はコンテントネゎシ゚ヌションの 埌に返された応答党おに、HTTP/1.0 クラむアントでは キャッシュ䞍可胜の印を぀けたす。 たた、ネゎシ゚ヌションされた応答のキャッシュを可胜にする HTTP/1.1 プロトコルの機胜も Apache はサポヌトしたす。

HTTP/1.0 準拠のクラむアントからのリク゚ストに察しおは、 (ブラりザであろうずキャッシュであろうず) ネゎシ゚ヌションを受けた応答のキャッシュを蚱すために、 CacheNegotiatedDocs ディレクティブを䜿甚できたす。 このディレクティブは、サヌバ蚭定ファむルやバヌチャルホストに曞くこずができ、 匕数をずりたせん。 HTTP/1.1 クラむアントからのリク゚ストには効力を持ちたせん。

HTTP/1.1 クラむアントに察しおは、レスポンスのネゎシ゚ヌション次元 を瀺すために Vary HTTP レスポンスヘッダを送りたす。 キャッシュは、これを䜿っお埌続のリク゚ストに察しおロヌカルコピヌで応答できるか どうかを決定できたす。 ネゎシ゚ヌション次元ずは関係なしにロヌカルコピヌの䜿甚を優先するようにするには、 force-no-vary 環境倉数を 蚭定したす。

翻蚳枈み蚀語:  en  |  fr  |  ja  |  ko  |  tr 

top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.