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/