- PR -

ブラウザのタイムアウト時の動作について

投稿者投稿内容
会社員
ベテラン
会議室デビュー日: 2003/01/21
投稿数: 50
投稿日時: 2003-05-16 17:04
zaxx_MDさんへ
静的コンテンツではなく、CGI/perlでテストしました。

#!/usr/local/bin/perl
sleep(1000) ;

レスポンスは1バイトも返却していません。
また、プロキシは間に存在していません。
JSP/Servletなら再現すると言うことですか?
それともjavaアプレットのはなしですか?
zaxx_MD
大ベテラン
会議室デビュー日: 2003/04/21
投稿数: 204
お住まい・勤務地: 千葉県柏市
投稿日時: 2003-05-16 17:16
当方、CGI/perlでもServletでもどちらでも再現します。
環境面での差というとHTTPServerがIBM HTTP Server(apache)というところでしょうか・・
でぽん
会議室デビュー日: 2003/05/14
投稿数: 3
投稿日時: 2003-05-16 17:32
でぽんです。

zaxx_MDさんの返答から
java.net.HttpURLConnectionをキーワードで調べてみたところ、
当初の疑問は解決できそうです。
ありがとうございました。

まずはサーバ側の動作検証をとることを優先し、
HTTPServerのhttpd.confファイルにあるtimeout設定を調整することで
回避することにしました。

また、30秒の件ですが、TCP/IPプロトコル上での動作を表している、
つまりは、TXに対してRX(ACK/NACK?違っていたらゴメンなさい)が
30秒以内に返送されないとダメよ。と受け取りましたが、
誤解無いでしょうか。

#リクエスト/レスポンスという表現がよくなかったのかな?

皆さんのご意見など非常に参考になります。
改めて御礼いたします。

会社員
ベテラン
会議室デビュー日: 2003/01/21
投稿数: 50
投稿日時: 2003-05-16 18:25
zaxx_MDさんへ
手元にIBM HTTP Serverがないので、apache 1.3.22/2.0.45にてテストしましたが、再現しませんでした。
Internet Explorerのバージョン、IBM HTTP Serverのバージョン、cgiを起動するHTMLソースを見せてもらえませんか?
また、Netscape 4.7/7.0等はどうなるのでしょか?
teto
ベテラン
会議室デビュー日: 2002/07/31
投稿数: 61
投稿日時: 2003-05-19 23:29
突然ですが。。

この件の結果がきになるのですが。

 javaにおけるWebアプリケーションの実装者が
 ブラウザのタイムアウトを5分(webサーバの設定による)
 として、それ以内で処理を完了させる(もしくは別の方法を考える)
 というのは間違えだったのか?

という不安が払拭されないのですが。。

すくなくとも私は幾多のWebアプリをつくってきて
30秒という数値をアプリケーション実装者が意識
する必要はないとおもってます。
会社員
ベテラン
会議室デビュー日: 2003/01/21
投稿数: 50
投稿日時: 2003-05-22 12:23
zaxx_MDさんへ
返答して下さい。
他の方でも構いません。類似する情報をお持ちの方は書き込みをお願いします。
taka
会議室デビュー日: 2002/08/02
投稿数: 16
投稿日時: 2003-05-22 13:57
TCPセッション確立のレベルで言うところのACKでしょうかね?
通常は一定期間ACKが返ってこない場合にリトライしますね。
その期間が30秒なんではないでしょうか?
で、もしそうなら、接続は確立されないのでアプリケーション側で考慮
する必要などないですね。(ACKに対する応答をしないので)
また、キープアライブ接続の場合は、
最初にTCP接続を確立する時のみで、リトライってしない?んじゃないかな?
zaxx_MD
大ベテラン
会議室デビュー日: 2003/04/21
投稿数: 204
お住まい・勤務地: 千葉県柏市
投稿日時: 2003-05-23 18:50
引用:

会社員さんの書き込み (2003-05-16 18:25) より:
zaxx_MDさんへ
手元にIBM HTTP Serverがないので、apache 1.3.22/2.0.45にてテストしましたが、再現しませんでした。
Internet Explorerのバージョン、IBM HTTP Serverのバージョン、cgiを起動するHTMLソースを見せてもらえませんか?
また、Netscape 4.7/7.0等はどうなるのでしょか?


おっとすみません、他の方の解説で十分だと思いましたのと、
業務でちょっと返答が遅れてしまいました。

とりあえず、httpd.confのtimeout設定を見てください。
また、CGIやサーブレットの処理で最初にResponseに何か書いてしまうと、
直接続でも再現しないようです。

すでに会議に遅刻しているので今日はこれまででお願いします

スキルアップ/キャリアアップ(JOB@IT)