• ベストアンサー

WEBサーバの反応

WEBを見ているとき、なかなか出てこないページがあると、 一度中止ボタンを押してからすぐに再度アクセスして みると、すんなりとページがでてくるときがあります。 どうしてこのような現象が起きるのでしょうか? なにがページの出力を遅らせて、なぜ再度トライすると 出力が早まるのでしょうか?TCPの再送制御にそのような 特性があるのでしょうか?教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • y45u
  • ベストアンサー率27% (140/516)
回答No.4

>一度サーバがリクエストを無視すると次にブラウザが >自動的にリクエストを出すのが非常に遅いからでは >ないのかなあと、想像しています。 それが答えっぽいですね(^^; 中止→クリックの繰り返しを行えば押した回数だけ、表示しろって命令がいくんですよね。1回だけだと、おかしいなあ、もっかいやろーってなるまでに時間がかかると。 それからすると、右クリックや他のボタンに中止をわりあてておけば、クリック→中止を複数回楽にできるので、くりかえせば、ネットサーフィンが快適になる??

d-matuba
質問者

お礼

回答ありがとうございます。 このような場合の一般的な再送の間隔(1回目の リクエストを送信してから2度目のリクエストを 送信するまでの時間)ってどれくらいなのでしょうか? OSやアプリケーションによって異なるのでしょうか? 再送の間隔が短いOS/アプリケーションだと 「レスポンスが良い」ように感じるのでしょうか?

その他の回答 (6)

  • y45u
  • ベストアンサー率27% (140/516)
回答No.7

>このような場合の一般的な再送の間隔(1回目の >リクエストを送信してから2度目のリクエストを >送信するまでの時間)ってどれくらいなのでしょうか?  私には具体的な数字ってわからないですね。わからない事に自身あり(^^;  web巡回のソフトや画像収集ソフトなんかには、ページの要求を受け付けてもらえずにタイムアウトしてしまった場合に再アタックする回数なんかを設定できる項目があるので、そういうものを作った事がある人ならわかるかもしれませんね。  ただし他の方も言っているように再送要求を連発すれば、処理の負荷が軽い時に要求が通ってデータが送られてくるでしょうから、再送の間隔が短かすぎても意味はないかもしれませんね。現状の間隔より早くなれば現実的にはレスポンスがよくなるのではないでしょうか。それはあくまでも、重いwebに対してであって、yahooとかそういう所にはなんの意味もないでしょうね。  もしかして、ブラウザ作ろうとしてるんですか?もしそうであれば、重いサイトで更新をかける場合になかなか更新できないで更新ボタン連射する時があると思うのですが、せっかくデータを読み始めたのにいきおい余ってまた更新ボタンを押してしまうのを防止できるようなやつ作ってくれないですかね(^^;

d-matuba
質問者

補足

> もしかして、ブラウザ作ろうとしてるんですか?もし >そうであれば、重いサイトで更新をかける場合になかな >か更新できないで更新ボタン連射する時があると思うの >ですが、せっかくデータを読み始めたのにいきおい余っ >てまた更新ボタンを押してしまうのを防止できるような >やつ作ってくれないですかね(^^; ブラウザは作る予定はありませんが、上記の機能は 私も前からほしいと思ってました。つまり、「再度 リクエストを送信した後に、前のリクエストのレスポンス が帰ってきた場合はそれを廃棄せずに、表示する」機能 です。だけどこれをするとみんな更新を連射するように なるでしょうね。

  • yousmz
  • ベストアンサー率10% (1/10)
回答No.6

みなさんが言っていることはそれぞれにおいて正しいと思います。 えっと、インターネット接続の際、どのような経由でターゲットのサーバに到達しているかというのはご存知ですよね?ネットワークを利用して少なくともいくつかのサーバを経由しているのです。 わかりやすく言うと、たとえばd-matubaさんがPCで大量ページの印刷をしているときに他の処理を実行しようとすると重たく感じることがあると思います。 その処理を印刷前もしくは印刷終了後に行うとあっという間に終わってしまうってことを経験したことはありませんか? これです。 インターネットにおいては、そのサーバに対する回線の状態やそのサーバにたどり着くまでに経由されるサーバの状態などによって時間がかかる場合もあればすぐに表示される場合もあるのです。 再度トライすると必ずではなく、何回かトライしているとさっと表示されるというのは、それらの状態が良いとき(負荷が低いとき)にタイミングよく接続要求できたということです。 何度も接続要求をだすと早くつながるということはないと思います。というのも、接続要求はすべてサーバがわが処理します。ということは要求をだしただけサーバの処理数が増えるということだからです。 ということで、参考までに。

noname#9414
noname#9414
回答No.5

私はみなさんと少し違う方向から・・・ ただ、あくまで可能性を言っているだけなので、 おそらくみなさんの意見が正しいと思います。 さて、回答とは・・・ いくらPCが高性能、高速化したとしても、全ての 処理を同時に行うことは不可能なので、サーバも 同様です。従って、同時に命令がくると、処理が 一通り完了するまで、片方を待たせておくという 現象が発生します。 それが、Internet上ではたくさんのサーバに同時に たくさんの命令(アクセスなど)がくるのであれば、 誰かがいつも待たされてしまい、ページが送られて くるのが遅くなると思います。 そして、リトライする前に、他の処理が発生して しまえば、またもや待たされることになります。 だから、中止して、再度アクセスしてみることに よって、誰もいない状況というのを作り出したら 処理が速く完了するのではないでしょうか。 CGIのファイル処理なんかは、数ミリ秒間待たせる ので、このような現象が起こり得ます。もっとも 私の作った適当なチャットプログラムでもそうそう 起こりませんでしたが・・・ と、可能性を書いてみましたが、やはり他の方々の 意見が正しいと思いますよ。 ではでは☆

  • nag3
  • ベストアンサー率28% (103/361)
回答No.3

以前にも書いた事があるのですが、インターネットって全地球規模のネットワークですよね。 なので、回線が混んでいると地球一周とかアメリカーオーストラリアーイギリスとかを経由して接続される事もありますし空いていると直接一直線で接続。 なんてこともあるのです。 隣町に接続するのにアメリカ経由とかね。 で、距離が長くなるといろんな要因で重くなるんだと思います。        帰ってきたnag3でした。

  • y45u
  • ベストアンサー率27% (140/516)
回答No.2

 IEのステイタスバーって知ってますか?ブラウザの左下にあるのですがそこを見ていると、例えば、リンクをクリックした瞬間、そして表示されるまでにメッセージが変化しているハズです。  **を探しています。**に接続しています。webサイトが見つかりました。応答を待っています。**を開いています。ページが表示されました。こういう順番で表示されていると思います。  なかなか出ないページというのは、最初の探す時間に時間のかかるもの(DNSの問題)、接続に時間のかかるもの、サーバーの応答が悪くて遅いもの等など、いろいろな要因があります。  更新をすると早くなるというのは、おそらく最初にアクセスした場合にたまたまサーバーに大きな負荷がかかっていて、更新した時にはその負荷が少し減った時にたまたま更新ボタンを押していたのではないでしょうか。  1~2回更新ボタンを押しても表示されないのに5~6回押したら表示されたとか、最初は表示されたのに更新したら表示されなかったなんて事もありますね。  TCPとかUDPとかそういう問題ではないような気もするのですがどうでしょうか?

d-matuba
質問者

補足

回答ありがとうございます。 少し私の説明が不備で誤解を与えたかもしれませんが、 「更新ボタン」を押すのではなく、「中止」ボタンを 押してすぐにまたリンクのところを押した場合のことを 言ってます。 だいたい「応答を待ってます」でずっと変化がなくなる ので、中止を押して再度リンクを押すと、いとも簡単に ページが表示されることがあるのです。 多分一度目はサーバの負荷が高いなどの理由で レスポンスが遅いと考えられるのですが、それならば なぜ直後に再トライをするとすぐつながるのでしょうか? 一度サーバがリクエストを無視すると次にブラウザが 自動的にリクエストを出すのが非常に遅いからでは ないのかなあと、想像しています。

  • megane
  • ベストアンサー率18% (9/49)
回答No.1

それは今まで読み込んでいたデータを キャッシュにためてあったからです。 ですから、再度アクセスしたときには、 データをネットワークに読みに行くのではなく ためてあったキャッシュを読みに行くからはやいのです。

関連するQ&A

  • Web ページエラーが出ます

    あるWEBページを開くと、添付画像の「Webページエラー」が出ます。 「はい」を押すと下記の画面になります。 ×で閉じて、再度やっても同じです。 下の「スクリプトの実行」と「複数行モード」のボタンはわからないので押していません。 どうしたら出ないようになるのでしょうか。ここ2日ほど前からこの現象が出始めました。 宜しくお願いします。 OSはWinXP, IE8を使っています。

  • Webのアクセス制限

    Webページのアクセス制限について質問があります。 Webページが1回アクセスされたら、以後アクセスを 不可能にすることは可能でしょうか? (サーバ側で制御する) 該当Webはユーザごとにアクセスできるページが 決まっていて、現在ユーザID及びパスワードによって アクセスを許可しています。 ユーザが自分のページを1回参照したらそのページには 2度とアクセスできないように設定したいと考えております。Webサーバアプリケーションでの設定やスクリプトでの 設定等ご存知の方がいらっしゃいましたらご教授願います。

  • サーバーが重いとは?

    サーバーが重いと言う言葉をよく聞くのですが これをググッて見るとページを表示するのに時間がかかる事と書かれていました。ではサーバーが重いという現象は そのアクセスしているサイトのサーバーに問題があるために起こる現象なのでしょうか?ページを表示するのに時間がかかるのはサーバーが重い意外に原因はありませんか? ここのサイトもよく表示するまでに時間がかかったり アクセスが集中してるため(内容はよく覚えてませんが)しばらく待ってから再度アクセスしてください見たいな表示がされるのですが、これはここのサーバーに問題があるからサーバーが重いのでしょうか?詳しい方回答お願いします

  • Web ページの有効期限が切れています を表示させなくする方法

    Sleipnirであるサイトにアクセスした後、戻るボタンを押すと下記のようなメッセージが表示されます。しかしFirefox3で同じ事をすると下記のメッセージは表示されずに、普通に画面が表示されます。Firefox3のようにSelipnir, IEでも下記のメッセージがでないようにしたいのですが、どのようにしたらいいでしょうか? Web ページの有効期限が切れています 可能性のある原因: この Web ページのローカル コピーは古くなっているので、Web サイトからまたダウンロードする必要があります。 対処方法: ページを再度表示するにはツールバーの [更新] ボタンをクリックしてください。更新後、特定の Web ページへ再度移動したり、情報を再入力する必要がある場合もあります。

  • ウエブページ

     eBay出品中、次の表示がでます。なにをどうすべきなのでしょうか?  よろしく御願い致します。   情報アイコン   Web ページの有効期限が切れています   可能性のある原因:   •この Web ページのローカル コピーは古くなっているので、Web サイトからま    たダウンロードする必要があります。 対処方法: ページを再度表示するにはツール バーの [更新] ボタンをクリックしてください。更新後、  特定の Web ページへ再度移動したり、情報を再入力する必要がある場合もあります。 詳細情報

  • Webページのスクロールボタン。

    よくWebページで、ブラウザのスクロールバーとは違い、独自に作成してある スクロールボタンみたいなものってありますよね? クリックすると下へいったり、もしくはマウスオンするだけで動いたり。 あれはいったいどうやって制御してるんですか? 何で作成しているのでしょうか?

    • 締切済み
    • CSS
  • ファイル共有のポート許可について

    L2SWのアクセスリストで、ポート制御をしていますが、 同一セグメント内は、ファイル共有を許可する必要性があり、 以下のポートを許可したのですが、次のようなエラーが 出力されて接続できません。pingも通りますし、名前解決もできています。 何か不足しているポートがあるのでしょうか? 137 UDP/TCP 138 UDP 139 TCP 445 UDP/TCP '\\XXX.XXX.XX.X が見つかりません。綴りを確認してもう一度実行するか、[スタート] ボタンをクリックし、[検索] をクリックして、項目を検索してください。」

  • Windows2000server でWebサーバを立ち上げたのですが…

    再度質問いたします。 Windows2000server でWebサーバを立ち上げたのですが、ファイル(htmlやgifやjpeg等)が不思議なことにiモード端末でしか観覧できません。 PCから自分のサーバにアクセスしても応答がないので、ダメ元でiモード端末でアクセスしてみたところページが表示できました。 IISをインストールしてほとんど設定は変えていません。 DNSサーバなのですが、家の回線が動的IPアドレスなもんでプロバイダが提供しているダイナミックDNSを利用しています。 よって私のパソコン自体にはDNSサーバ自体はインストールしておりません。 LAN上では『http://サーバのプライベートIPアドレス/目的のファイル名』でLAN上の全PCより表示できるのですが、 インターネット経由の接続(IISのWEBサーバを利用)では『http://サーバのドメイン名、あるいはWAN側IPアドレス/目的のファイル名』と言う形で打ても全PCが表示できなくなってしまいます。 しかし不思議なことにiモードからはそのアドレスで見ることが出来るのです。 iモードからは観覧できるのでDNSサーバや回線などは問題ないと思うのですが、なぜPCからは表示できないのでしょうか? PCからアクセスしたときの症状ですが、URLを入力し接続すると一瞬で『ページが表示できません』の画面になります。 わかって頂けたでしょうか? よろしくお願いいたします。

  • ダイナミックDNS 自宅サーバ 外部から見ると変になっている。

    こんにちは、 ダイナミックDNSを使って、自宅サーバを外部から見れるようにしようとしています。 また、VNCを使って自宅サーバの操作をしようとしています。 現象1) 自宅でサーバ以外のコンピュータからVNCが正常に使えたのですが、自宅外からVNCにアクセスしたところ、VNCの画面は出るのですが、パスワード入力で「VNC Authentication Sorry. Try again」というようにはねられてしまいます。 現象2) 自宅でサーバ以外のコンピュータから自宅サーバのIPアドレスを指定してアクセスすると、正常にWebが表示されますが、自宅外から、ダイナミックDNSよりもらったホスト名でアクセスするとまったく関係のないページが表示されてしまいます。「Mortgate Rates Hit Record Lows!」というトップページになったものです。 上記のことで何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • webサーバーから突然切断されます。

    お世話になります。 社内webアプリでクライアント認証を使用しているのですが 一部 Windows XP を使用している為、「SSLInsecureRenegotiation」を「on」で 運用しております。 ブラウザは諸般の事情によりIE以外は使用できません。 だた、そのサイトに初回アクセスした際、問題なくアクセス出来るにも関わらず ssl_error.log に 必ず以下の内容が出力されます。 [Thu Nov 20 14:35:41 2014] [error] [client xxxx.xxxx.xxxx.xxxx] Re-negotiation handshake failed: Not accepted by client!? 「SSLInsecureRenegotiation」を「off」で設定した場合、上記エラーは出力されません。 又、クライアントにより頻度がバラバラなのですがwebアプリを使用中に以下のエラーが発生しクライアントがサイトにアクセス出来なくなります。 [Tue Nov 18 12:43:29 2014] [error] [client xxx.xxxx.xxxx.xxxx] Re-negotiation handshake failed: Not accepted by client!?, referer: https://xxxx.xxxx.xxxx.xxxx/hoge/hoge/hoge.swf/[[DYNAMIC]]/4 又、ブラウザには「このページは表示出来ません」が表示されます。 リネゴシエーションの問題?ならばと思いセッション保持期間を長めにとりましたが改善はしませんでした。 SSLSessionCacheTimeout 10800 問題が発生しているクライアントも一日に何度も発生する事もあれば、発生しない事もあります。 他のwebアプリ環境では「SSLInsecureRenegotiation」を「off」で運用しており、 上記現象は発生しておりません。 「SSLInsecureRenegotiation」を「on」で運用する際にそれ専用の設定なりしないと不安定になる 事が考えられるのでしょうか? 以下環境になります。 CentOS release 6.5 (Final) httpd 2.2.15 mod_ssl 1:2.2.15-31.el6.centos php 5.3.3 postgresql 9.3 ブラウザはIE8~11を使用しています。 以上です。 よろしくお願いいたします。