📄 mod_unique_id.html.ja.euc-jp
字号:
(その箕爬のマイクロ擅 ∴ 10) modulo 65536 で介袋步されます
(この及はいくつかのシステムにある、マイクロ擅の
タイマの布疤ビットが佰なるという啼玛を豺疯するために联ばれました)。
办罢な急侍灰が栏喇されたとき、蝗脱されるタイムスタンプは
ウェブサ〖バにリクエストが毗缅した箕癸になります。
カウンタは急侍灰が栏喇されるたびに笼裁します
(あふれた眷圭は 0 に提ります)。</p>
<p>カ〖ネルはプロセスをフォ〖クすると、それぞれのプロセスのために
pid を栏喇します。pid は帆り手されることが钓材されています
(pid の猛は驴くの Unix では 16 ビットですが、糠しいシステムでは
32 ビットに橙磨されています)。
ですから、ある镍刨の箕粗が沸册すると票じ pid が浩び蝗脱されます。
しかし、办擅柒に浩蝗脱されなければ、
煌つの猛の办罢拉は瘦たれます。つまり、叉」はシステムが办擅粗
に 65536 改のプロセスを弹瓢しないと簿年しています (いくつかの Unix
では 32768 プロセスですが、それですらほとんどあり评ないでしょう)。</p>
<p>部らかの妄统で、票じ箕癸が帆り手されたとしましょう。
つまり、システムの箕纷が陡っていて、もう办刨册殿の箕癸になってしまった
(もしくは渴みすぎていたときに、
赖しい箕癸に提したために浩び经丸の箕癸になってしまった) とします。
この眷圭、pid とタイムスタンプが浩蝗脱されることが词帽に绩されます。
カウンタ介袋步脱の簇眶は、この啼玛の搀闰を缄锦けしようと联买されています。
塑碰はカウンタの介袋步をするためにランダムな眶机を蝗いたいのですが、
ほとんどのシステムでは词帽に蝗脱できる眶は痰いことに庙罢してください
(<em>すなわち</em>、rand ()は蝗えません。rand () には seed
を涂える涩妥があり、seed には箕癸を蝗えません。办擅帽疤では、
その箕癸はすでに帆り手されているからです)。
これは、窗帔な滦忽ではありません。</p>
<p>この滦忽はどのくらい跟蔡があるでしょうか?
ここでは、マシン凡の面の办つは呵络で办擅に 500
リクエストを胺うと簿年します (これを今いている箕爬では屡碰な惧嘎です。
奶撅システムがすることは琅弄なファイルを艰りだすだけではありませんから)。
それを乖なうために、そのマシンは事乖して丸るクライアントの眶に
炳じた眶の灰プロセスを妥滇します。
しかしながら、柔囱弄に雇えて、办つの灰プロセスが办擅に 500
リクエストを胺えるとします。そうすると、(办擅の篮刨において)
箕癸が票じ箕を帆り手すと、この灰プロセスがカウンタの猛を浩び蝗い、
办罢拉が蝉れる材墙拉が 1.5% あります。
これは润撅に柔囱弄な毋で、悸坤肠の猛では、ほとんど弹こりそうにありません。
それでもこれが弹こる材墙拉のあるようなシステムなら、
(プログラムコ〖ドを试礁して)
カウンタを 32 ビットにするのが紊いでしょう。
</p>
<p>サマ〖タイムにより箕纷が≈提される∽ことを丹にしている客が
いるかもしれません。ここで蝗脱される箕粗は UTC であり、
それは≈撅に∽渴むのでここでは啼玛になりません。x86 惧の Unix
はこの掘凤を塔たすために努磊な肋年が涩妥かもしれないことに
庙罢してください。マザ〖ボ〖ドの箕纷は UTC になっていて、
戮の箕粗はそこから努磊に输赖されることを簿年できるように
肋年されなければなりません。そのような眷圭でさえ、NTP
を蝗っているならばリブ〖ト稿にすぐ赖しい UTC の箕粗になるでしょう。</p>
<p><code>UNIQUE_ID</code> 茨董恃眶は 112 ビット (32 ビット IP
アドレス、32 ビット pid, 32 ビットタイムスタンプ、16
ビットカウンタの煌つの寥) をアルファベット <code>[A-Za-z0-9@-]</code>
を脱いて MIME の base64 射规步と票屯の数恕により射规步し、19
の矢机を栏喇することにより侯喇されます。MIME の base64
のアルファベットは悸狠は <code>[A-Za-z0-9+/]</code> ですが、
<code>+</code> と <code>/</code> とは URL
では泼侍な射规步が涩妥なので、あまり司ましくありません。
链ての猛はネットワ〖クバイトオ〖ダで射规步されますので、
射规は般ったバイトオ〖ダのア〖キテクチャ粗で孺秤材墙です。
悸狠の射规步の界戎は: タイムスタンプ、IP アドレス、pid,
カウンタです。この界には誊弄がありますが、
アプリケ〖ションは射规を豺老するべきではないことを动拇しておきます。
アプリケ〖ションは射规步された <code>UNIQUE_ID</code>
链挛を譬册弄なト〖クンとして胺うべきです。
<code>UNIQUE_ID</code> は戮の <code>UNIQUE_ID</code>
との霹擦拉を拇べるためだけにのみ蝗脱できます。</p>
<p>この界戎は经丸、贷赂の <code>UNIQUE_ID</code>
のデ〖タベ〖スとの咀仆を看芹することなく射规を恃构することが
材墙になるように联买しています。
糠しい射规はタイムスタンプを呵介の妥燎として荒すのが司ましく、
それ笆嘲は票じアルファベットとビット墓を蝗うことができます。
タイムスタンプは塑剂弄に笼裁废误ですので、
クラスタの链てのマシンがリクエストとサ〖バ怠墙を匿贿して、
概い射规步数及を蝗脱するのをやめる<em>フラグ擅</em>があれば浇尸です。
その稿は、リクエストを浩倡し、
糠しい射规を券乖することができるようになります。</p>
<p>叉」はこれが、
この啼玛に滦する孺秤弄败竣拉の光い豺疯恕だと雇えています。
Windows NT のようなマルチスレッドのシステムに橙磨することができますし、
经丸涩妥になればさらに笼やすこともできます。
ID は涩妥に炳じて墓くすることができますので、栏喇された ID
は悸剂惧、痰嘎に铜跟です。また、クラスタのマシン粗の奶慨も祸悸惧涩妥なく
(NTP による票袋のみが涩妥で、これはオ〖バヘッドはあまりありません)、httpd
プロセス粗の奶慨も涩妥ありません (奶慨はカ〖ネルにより充り碰てられた
pid の猛により芭疼の柒に乖なわています)。
さらに嘎られた觉斗布では、ID はさらに没くすることができますが、
より驴くの攫鼠を簿年する涩妥がでてきます (毋えば、32 ビット
IP アドレスはどのサイトにおいても册娟な攫鼠ですが、
それの洛わりになる败竣拉のあるものはありません)。</p>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_unique_id.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_unique_id.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_unique_id.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュ〖ル</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">脱胳</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -