- ベストアンサー
無限ループについて教えてください。
CGIの処理や.htaccess等で無限ループになるという記述を良く見かけるのですが、これは何がいけないのですか? 例えば、エラーページの表示で、404ページが表示されるように設定。しかしエラーページが存在しない。 エラー→表示するものがない→エラー→表示するものがない→エラー→表示するものがない→・・・・ こんな場合何か不都合があるのですか?例えば付加がかかって重くなる等・・・・。 初歩的質問ですが、宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
付加がかかり、その処理にCPUパワーが割り当てられます。結果として、サイト自体のレスポンスが悪くなり、最悪サーバが落ちたりします。 一般的に、レンタルサーバなどは1台のマシン上に、たくさんのユーザのWebページが載っています。ある1人が重い処理を実行させれば、そのマシン上に乗っているページ全てが影響を受けるのです。
その他の回答 (3)
.htaccessには、詳しくないのですが、試しにやってみたらどうですか? 無限ループ。 っていうか、CGIのスクリプトを作っているんですよね? だったら、ローカルサーバも立てているだろうし。 あくまで自宅のパソコンの中でね。(w 私は、ベンチマークのために、同じ処理を10000回実行したら、フリーズした事がありました。win98での事です。 今でも、無限ループや大量のループをすると、w2kの今でも時間がかかる事がありますよ。 その間は、他のソフトの動作は遅くなるし、CPUは100%で高負荷です。 誰かがサーバで高負荷をかける事が、他の誰かの処理を遅くしているんですよ。 まぁ、サーバによっては使用時間が長いと、処理を中止するような設定もできますが、過信してはいけません。 サーバは、共有財産なので大切ね♪
お礼
ありがとう御座います。 とても参考になりました。
- saintandre
- ベストアンサー率31% (194/607)
さらに恐ろしいことにループの中にメール送信処理が入っていたりしますと、そのアドレス宛に膨大な量のメールを送信することになります。 実は昔自分のアドレス宛ですが一回だけやってしまったことがあります。思い出したくない過去です。
お礼
メール関連ですとその様なことのもなるんですね!!
- 6dou_rinne
- ベストアンサー率25% (1361/5264)
負荷もかかりますし、ソフトが終了できなくなり暴走します。
お礼
ありがとう御座います。 やはり良くないということですね!(当たり前ですよね) しかし、アパッチでは無限ループをうまく処理するようになっていると聞いたのですが、本当ですか?
お礼
なるほどです! 他人にも迷惑がかかるのですね。