anydat.so

提供:5ちゃんねるwiki
ナビゲーションに移動 検索に移動

anydat.soとは、datファイルへのアクセスに応対するApacheDSOモジュールです。 Apacheの一部であり、CGIではありません。

2014年の運営体制変更騒動の際に、新運営陣によって廃止されました。

目的

read.htmlの導入によって、通常のブラウザがdatファイルへ直接アクセスするようになりました。 しかしファイルへ直接アクセスした場合、CGI等でのページ表示に比べ、行える応答制御に限界があります。 そこで、通常のApacheの設定では行えない機能を実現するために導入されました。

  • アクセスされたdatファイルが無く、過去ログにあったとき、過去ログの案内を表示する
  • IE6がShift_JISのファイルの扱いに不備があるため、XML化して対策
  • mod_headersが使えないサーバでのヘッダ制御

レスポンス

ステータスコード 条件 内容・備考
200 通常 通常
User-Agent「MSIE 6」
<?xml version="1.0" encoding="Shift_JIS"?>
<text><![CDATA[
dat内容
]]></text>

datにXMLタグを付加
203も同様

203 過去ログhtml 1と最終レスの内容と過去ログ案内
過去ログhtml URLと過去ログ案内
302 User-Agent「Monazilla/」
現役dat無し
後述
404 スレッド無し 404 Not Found
専用ブラウザの除外
datファイルが無かったときのレスポンスが導入前と変わることで、専用ブラウザへの影響と混乱が考えられるため、本来は専用ブラウザ側で対応すべきところ、経過措置として従来と同じレスポンスになっています。

.htacessの設定

<IfModule mod_rewrite.c>
<Files *.dat>
    RewriteEngine On
    RewriteCond %{DOCUMENT_ROOT}/test/anydat.so -f
    RewriteRule .* /test/anydat.so
</Files>
</IfModule>

datファイルへのアクセスは全てanydat.soを通していることになります。

旧pastdat.so

pastdat.soは、anydat.soの前身で過去ログ案内専用として作られました。

<Files *.dat>
    ErrorDocument 404 /test/pastdat.so
</Files>

と設定することで、アクセスされたdatファイルが無かったときだけ呼び出されて過去ログ案内を返していましたが、現役のdatファイルにもDSOモジュールが必要になり、機能拡充してanydat.soとなりました。

開発

開発者

  • ◆cZfSunOs.U

経過

  • 2006/07/25 - read.htmlプロジェクト始動
  • 2006/08/29 - pastdat.so作成
  • 2006/12/07 - anydat.so作成
  • 2007/05/13 - 全サーバ導入

過去ログ