OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

CGIにステートレス、ステートフル?

  • 困ってます
  • 質問No.164313
  • 閲覧数426
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 99% (116/117)

よろしくお願いいたします。

CGIはステートレスでセッションが区別できない。
しかし、JAVAサブレットはステートフルで
CPUの負担を軽減させ、安定している
と言う表現がテキストにあったのですが、
いったい何を言っているのか分かりやすく
説明していただけないでしょうか?
是非よろしくお願いいたします。

ケーブルでのステートレスとかならイメージが湧くのですが・・・
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

> 状態をもてるとユーザー側からみて
> メリットはあるのでしょうか?

複数ページにわたって処理をするような CGI では、「状態」を保持する必要があります。

例えば、会員制のネット販売(ログインをした会員情報を保持する)とか、項目が
多いアンケートページ(前のページまでの回答を保持)とか。

CGI でも、頑張れば状態を保持できるのですが、頑張らないといけません。

というわけで、開発言語の違いを除けば、大きくメリットを教授できるのは開発者の
方になります。
お礼コメント
gaia5

お礼率 99% (116/117)

遅くなりまして申し訳ありません。
回答ありがとうございました。
なるほどものすごく分かりやすい説明で大変助かりました。
開発者にとってメリットが大きいんですね。
ありがとうございました。
投稿日時 - 2001-11-10 11:57:43
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

ここでいう「ステートレス」、「ステートフル」というのは、状態を持てないか・持てるか の違いを言います。 主に「状態」は、前回(前々回でも良いんですが)に実行された CGI がどういう 状態だったか、を指します。普通は、その実行時に指定されたパラメータや、実行結果を 状態として受け渡せるかどうか、です。 普通の CGI は、起動されるたびに別のプロセスとして起動され、前回に何をやって い ...続きを読む
ここでいう「ステートレス」、「ステートフル」というのは、状態を持てないか・持てるか
の違いを言います。

主に「状態」は、前回(前々回でも良いんですが)に実行された CGI がどういう
状態だったか、を指します。普通は、その実行時に指定されたパラメータや、実行結果を
状態として受け渡せるかどうか、です。

普通の CGI は、起動されるたびに別のプロセスとして起動され、前回に何をやって
いたかどうかは、CGI の仕組みだけでは伝えることができず、Cookie やサーバの
ファイルを経由して受け渡さないと分かりません。

サーブレットは、サーブレットコンテナの配下で動く Java のスレッドで(なんて、
仕組みを知っている必要はわからなくてもいいんですが)状態を受け渡すための
仕組み(セッションオブジェクト)を持っています。

また、ステートフルであるかどうかと「CPUの負担を軽減させ、安定している」とは
直接つながりはありません。処理を実行するたびにプロセスを作るかどうかが
CPU負荷の軽減につながります。
お礼コメント
gaia5

お礼率 99% (116/117)

お忙しい中、回答ありがとうございます。
なるほと状態を区別するかしないかの
違いがあるんですね。
状態をもてるとユーザー側からみて
メリットはあるのでしょうか?
もし良かったらまたレスいただけるとうれしいです。
投稿日時 - 2001-11-07 23:58:56
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ