著作一覧 |
artonx.orgが3〜4日ほど、ダウンしていたわけだが、さて、どうするのが正解だっただろうか。
最初は放置を考えていた。メールサーバーが居たら、それはすべきではない(根拠は、今思い返すとわからないなぁ)が、幸いWebサーバとしか使っていないから、DNSが引けなくなるか、仮に引けたとしても接続タイムアウトになるだろう、だったら再試行していりゃそのうちどうにかなるかも、という考えである。
が、待てよ、DDNSを使ってるんだから、DNSが引けなくなるぎりぎりのところで、別のホストが同じIPアドレスの割り当てを受けるかも知れないぞ、と気付く。そりゃお互いに迷惑であろう(相手次第で、どっちが迷惑か決まるが、平均すると、多分、相手が迷惑)。
で、つらつらとno-ipの設定を眺めていたら、オフラインページサービスというのを見つけた。
ページの元ネタ(テキストとアイコン)を用意しておけば、オフラインページを返すサービスだ。
ならば、これを利用するのが筋であろうと、設定した。
が、no-ipのオフラインページは404を返す。
200を返すのは問題外として、404って、それは確かにno-ipのサービスにとっては、リクエストされたページは存在しないから正しいかも知れないけど、それってどうなのだろう? 404は、200に限りなく近いのではなかろうか。要求したページが存在しない=リクエストは正しく、その正しいリクエストを処理して、それは無いと応答しているのだから、クライアントは2度と再試行しないだろうな。
おれがここで想定しているクライアントは、人間ではなく、RSSリーダとかアンテナとかだ。もし、おれがそのてのクライアントを作ったら、404が返ったら、ターゲットから外すように仕様を切ると思う。なぜなら、存在しないという確定した回答が戻っているのだから、それは2度と試さないのが筋(サーバーへ無駄な負荷をかけないという意味で)だと考えられるからだ。
であるならば(おれの考えるクライアントの仕様が正しいという意味)、むしろ、50xを返すほうが良いのではないか。service temporary unavail(ステータスコード調べるの面倒なので無視)あたり。
そういえば、Rubyのhotlinkはビジーだと403を返すのだが、あれもなんだか怪しいステータスのように思える。403が返ったら再試行してはならないのではなかったかな。
と、RFCを読み返さずに(ステータスによって、再試行のshould notなどが書いてあるので、RFCを読むべきであるのだが)書いてみた。
ジェズイットを見習え |
赤黒木ブームなので、この画像が赤黒木に見えてしまいます。<br>http://myimages.no-ip.com/domain_images/artonx.org_www_offline_image1.jpg
赤黒木はおもしろいですね。(でもあれは柔らかい構成ですよ)<br>http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm <br>http://www.cse.ohio-state.edu/~gurari/course/cis680/cis680Ch11.html