[PHP-users 28498] Re: header や readfileを実行するとそのページが2〜3回実行される

FELLOW 大山 ohyama @ fellow-inc.co.jp
2006年 2月 20日 (月) 17:26:14 JST


藤本様

いろいろとアドバイスを頂きありがとうございます。
私も最終的には藤本様のお考えのような方法での対処に
ならざるを得ないとは思っていましたが(もっと単純ですが。。。^^;)、
残念です。
でもいろいろと参考になりました。
お忙しいところありがとうございました。

>藤本です。
>
>これは、複数回のリクエスト自体を回避することは難しいですね。
>私なら諦めます。(リクエスト自体を1回にすることを)
>
>対策としては、立て続けに来るであろう複数回のリクエストに対して、
>(少なくともCOM呼び出し部分は)1回しか処理しないことで、
>サーバ側の負担をかけない工夫になります。
>
>プロクシーにキャッシュして欲しいところですが、それはそれで問題が
>起こりそうな気もします。
>PHP自前でキャッシュするのが、制御しやすい方法かと思います。
>
>リクエスト時に受け取った全パラメータとともに、生成結果を一時的に
>保存しておき、次回リクエスト時に使いまわすのが良いです。
>必要なら、そのキャッシュをいつ削除するかなどの制御も行うことに
>なります。
>キャッシュに利用するかどうかはともかく、パラメータには、
>リクエスト日時も含めておくのがいいかもしれないです。
>
>以上


FELLOW 大山 <ohyama @ fellow-inc.co.jp>さん:
> 藤本様
>
> ありがとうございます。
>
> >HTTPステータスは、全て200でしょうか?
> ログを確認したところ全て200にはなっていました。
> ただ1つ判った事があります。
> 1回のアクセスで以下のようにログが3件出力されていました。
>
> 1件目
> 2006-02-20 07:24:36 192.168.0.99 GET /php/sapi/tts.php text=電話:
> 09012345678&sex=man&speed=6&volume=6 80 - 192.168.0.90
> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322)
> 200 0 0
>
>
> 2件目
> 2006-02-20 07:24:36 192.168.0.99 GET /php/sapi/tts.php text=電話:
> 09012345678&sex=man&speed=6&volume=6 80 - 192.168.0.90
> Windows-Media-Player/10.00.00.3802 200 0 0
>
>
> 3件目
> 2006-02-20 07:24:36 192.168.0.99 GET /php/sapi/tts.php text=電話:
> 09012345678&sex=man&speed=6&volume=6 80 - 192.168.0.90
> Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322)
> 200 0 0
>
> クライアントのアプリケーションが1,3件目がIE6.0に対し
> 2件目がWindows-Media-Playerになっていました。
> ダウンロードしたファイルはそのままメディアプレイヤーで再生されているのですが 
> 
> それからもアクセスされているようです。。。
>
> 以上、取りあえず分かった事をご報告します。
> 宜しくお願い致します。
>
> >藤本です。
> >
> >たしかに難解な現象ですねー。2〜3回ってところも不思議です。
> >
> >IISのログをチェックしましたか?
> >現象発生時には複数行のログが出ているはずですが、それらの
> >HTTPステータスは、全て200でしょうか?
> >これが、206 Partial Contentとかになってたりしないですか?
> >
> >実際、出力されるコンテンツがWAVストリームの場合、クライアント側で
> >勝手に切り分けて、Rangeリクエストを何度も送ってくる可能性もあります。
> >
> >もし原因がそうだとすると、
> >header("HTTP/1.0 200 OK");
> >あるいは
> >header("HTTP/1.0 201 Created");
> >を出力の先頭につけて、回避できるかもしれないですね。
> >
> >以上
>
>
>
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3



----
藤本 悟司

株式会社トライスクエア
〒104-0045 東京都中央区築地3-5-13北村ビル2F
TEL: 03-5148-3345 / FAX: 03-5148-3346
Mobile: 070-6668-4644
E-Mail: satoshi @ try-square.co.jp
WEB: http://www.try-square.co.jp/

Key fingerprint = 95F2 6B3D 0B8C 374A 5E67  CA02 F28F 703A C1A9 8346
_______________________________________________
PHP-users mailing list  PHP-users @ php.gr.jp
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3





PHP-users メーリングリストの案内