CGI(Perl)を利用してブラウザとやりとりするノーマルなプログラムを作っています。

しかし、ふと気になる事が浮かびました。それぞれのデータ、たとえば

<input type="hidden" name="a" value="data">

このようなデータをやりとりする場合、いったいどこにデータが格納されているのでしょうか?クッキーかブラウザの中かどこかに

a = data;

とか言う変数ができているのでしょうか?

すごく馬鹿な質問かもしれませんが、どうか教えて下さい。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2006/08/23 19:52:09
  • 終了:2006/08/24 11:44:30

回答(2件)

id:saphil No.1

saphil回答回数36ベストアンサー獲得回数32006/08/23 20:45:32

ポイント50pt

というHTML のタグとして、このまま

ブラウザの中に存在しています。

入力フィールド

など、ブラウザ上で見えるものと同じで、次の画面で

a=data;

として扱えます。


唯一違うのは hiddenタグは、ブラウザ上では見えないだけです。


ブラウザ上では見えませんが、例えば、現在見ているこの

ページでブラウザのメニューから

  ソースの表示

をクリックすると、HTMLのタグの中に、いくつか

のタグを見つけることができます。


------

整理しますと、

は、ブラウザの中に

この形式で記憶されています。


http://www.ccad.sccs.chukyo-u.ac.jp/manualc/network/CGI_PERL...

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_kj08.htm

id:zachouR

ブラウザがそのまま記憶しているんですね、、、。

解答ありがとうございました!

2006/08/23 21:23:00
id:ratbeta No.2

ratbeta回答回数132ベストアンサー獲得回数92006/08/23 20:54:15

ポイント50pt

GETメソッドの場合には、「http://www.xxx.com/xyz.cgi?data=a」のようにして、

URLにパラメータが付加されます。

この場合には、URLをユーザが入力することで、URLに直接アクセスできるという利点があります。

POSTメソッドの場合には、

ブラウザがサーバと行うHTTPリクエストのうちでデータが送信されます。

この場合、ユーザはデータが送信される内容について、簡単に見ることは出来ません。

(といって、送信される内容は自分で書き込んだか、HTMLソースに記述されているかなんですけどね)

そのため、パスワードなどの重要なデータを送信する場合には、必ずといって良いほどPOSTメソッドが利用されます。

id:zachouR

本解答の他にもいろいろとありがとうございます。

まだまだ勉強しなければいけないな、と強く思いました。

ありがとうございました。

2006/08/23 21:27:37
  • id:ootatmt
    つまりどこにもデータは格納されていないのですよ。
    ブラウザが、a=data(形式はちょっと違うけど)という文字列をCGIでサーバに送り、プログラムがその文字列を読み取り適当な変数に代入するんです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません