Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mknmz-squid 実行時にメディアタイプの取得に失敗し停止
>On Tue, 6 Feb 2001 14:21:50 JST
>knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:
> これは mknmz 内の decide_type() の問題とも言えるし、squid filter の
> 問題とも言えます。ファイル名による media type の推測を File::MMagic の
> 判別に優先させる場合が特殊なので、この場合は text/plain が優先されてし
> まいます。
>
> 対策としては、
>
> + decide_type() を書き換えて application/x-squid-cache の判別を優先さ
> せる
> + squid filter の add_magic で addFileExts でなく addMagicEntry を呼ぶ
> ようにし、適切な magic entry を書く
>
> # decide_type() のコードはかなり dirty なのでなんとかしたい... という
> # かこの関数の存在自体が dirty だ。
その decide_type の方を選ぶしか方法がなさそうですね。
> 後者の方がより elegant な実装と言えます。が、そのためには squid の
> キャッシュファイルが確実に判断できるヘッダのようなもの(signature)がわ
> からないといけません。その辺りなにか御存知ありませんでしょうか?
>
今のところ詳しい資料が見つからないので、
構成は[バイナリ+HTTPのヘッダ](可変長)+[HTML]ということぐらいしか分かりません。
実際に、ヘッダに固定位置の共通部分がないかをスクリプトで調べてみましたがありませんでした。
今のところ、確かなのはディレクトリとファイル名のパターンでしょうか。
参考までにSquidファイルのヘッダに含まれるキーワード([-\w]+)をカウントしてみました。
どのキーワードを拾っても取りこぼしがあるようです。
キーワード([^\w]+) | マッチしたファイル数
-----------------------------------------
Keep-Alive 6167
Apache 6408
Jan 6780
image 6963
2001 7064
ETag 7145
Accept-Ranges 7312
Content-Length 7815
Content-Type 7835
Last-Modified 7849
bytes 8087
Connection 8475
Server 8559
Date 8630
OK 8720
200 8769
GMT 8775
http 8776
Total: 8777 files. 0
--
秋田一輝(Kazuki AKita)
http://tat6.ice.ous.ac.jp/akita/