無料ブログ「rentafree.net」の管理人ブログ

AllowOverride Noneにしようかと・・・

サービスのApacheで、AllowOverride使ってるんですが、
負荷を考えるとよろしくないと思うんで、
近いうちにAllowOverride Noneに修正しようと思います。
というか、たぶん今日やります。

作業の際に、
数秒のサーバー停止が数回発生すると思います。
万が一設定をミスったら数分の障害が発生するかもです。

アップロードファイル配信の仕様を変更しました

アップロードファイル配信の仕様を変更しました。
以下の2点です。

1. リクエストにIf-Modified-Sinceヘッダがあれば確認せずに304 Not Modifiedを返すようにした。
2. application/octet-stream以外の場合はContent-Dispositionヘッダでinlineを返すようにした。


1. リクエストにIf-Modified-Sinceヘッダがあれば確認せずに304 Not Modifiedを返すようにした。
これは、
リクエストにIf-Modified-Sinceヘッダがあるということは、以前に接続したことのあるアドレスでブラウザはキャッシュを持っているので、
アップロードファイルのIDはユニークで内容の変更もできませんので、
一度接続してキャッシュがあるなら、確認せずに304 Not Modifiedを返せば負荷が軽減できる。
ってことです。
場合によっては、画像等のアップロードファイルの表示速度も速くなります。


2. application/octet-stream以外の場合はContent-Dispositionヘッダでinlineを返すようにした。
これは、
今まではapplication/octet-streamの場合のみ、
Content-Disposition: attachment;
を返していましたが、
それ以外の場合は
Content-Disposition: inline;
を返すようになりました。(今まではapplication/octet-stream以外はContent-Dispositionヘッダ無し)
未定義拡張子の場合にapplication/octet-streamとなります。
Content-Disposition: attachment;
だと、ほとんどの場合、ファイルタイプにかかわらずブラウザはダウンロードダイアログを出すと思われます。
Content-Disposition: inline;
だと、ブラウザが表示できるならブラウザに表示されます。
基本的には今までと変わらないはずですが、
Content-Dispositionヘッダは、ファイル名を指定するために付けています。
ブラウザで表示する場合はファイル名は関係ありませんが、
ダウンロードして保存する際にファイル名の初期値が設定されます。
今まではapplication/octet-streamのみでしたが、
例えば、画像ファイルを右クリックなどで保存する場合のファイル名初期値が設定されます。
ファイル名は、アップロードした際のローカルファイル名です。



Firefox 3.6
IE 8.0
Google Chrome 14
で確認しました。

万が一今回の変更で不具合が生じるブラウザがありましたら報告お願いします。