- ベストアンサー
IEのアドレス欄に表示される?マーク以降の文字について?
例えば、この質問を書き込むために質問を投稿するの頁を開くと、IEのアドレス欄に"http://oshiete1.goo.ne.jp/oshiete_new.php3?c=254"と表示されます。 このアドレスの内、?マーク以降は、教えて!gooのサーバーにパラメーターを渡しているのだと思いますが、この形で受け取るって事は、サーバー側のプログラムがこれだ!!って特定できるのでしょうか?(javaScriptで書かれている?とか?CGIで書かれているとか?内容が全く判っていないので、ピント外れの例かも?知れませんが) また、このことについて勉強するには、何について勉強すればいいのでしょうか?本屋に行っても無限のように本がありますので、途方にくれています。どなたか?詳しい方がいらっしゃいましたら、教えて頂けないでしょうか?宜しくお願い致します。また、複数のパラメーターを渡す場合、&で区切るのは一般的なのでしょうか?
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>http://oshiete1.goo.ne.jp/oshiete_new.php3?c=254" 最後のファイル名の拡張子が php3 である事から、サーバー側で呼ばれているプログラム(ファイル)がPHPという事は推測できます。 まぁサーバー側の指定次第でいろいろ変えられるので、確定は出来ませんが・・・。 (一応、拡張子で種類分けというか設定を行われるので、だいたい何処でも同じかと。) 尚、この場合(判断には) ?以降の文字の有無は関係ありません・・・。 ?以降はパラメータの渡し方の一つで・・・。 JavaScript が次のページで解析して使用する事もありまして・・・まぁ通常はCGIが。 >勉強するには、 まずはHTMLをしっかり理解する事でしょうか? その上で JavaScript が動作確認しやすく実体験しながら覚えられるので、そこでプログラミングという事に慣れると・・・。 本当はCGIで通信絡みで学ぶのが良いかもしれないけれど、学ぶ環境を作るのにも手間と知識が必要で・・・・・。
その他の回答 (6)
- to_kyo
- ベストアンサー率41% (7/17)
>BLUEPIXY氏 なるほど。 HTMLで書くときの話、ということですね。 どうもありがとうございました。 ようやく理解できました。 >vba_minarai氏 場所をかりてしまい、申し訳ありません。 ありがとうございました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#5>& で無く& または、& を使え の部分半角で書くと変換されてしまったので全角で書きますと &で無く&または、&を使え
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>#4様 >B.2.2を読むと、パラメータの区切り文字は「&」よりも「&」や「;」を推奨って書いてる気もするのですがどうなんでしょうか。。 あんまり詳しくもないし、英語も弱いのですが、 B.2.2 で書いてあることは、 URI で& でパラメータを区切るようなリンクをHTMLで書く場合は、& で無く& または、& を使えと言う意味だと思います。 これは、HTML(SGML?)で'&' を直接使ってはいけないという制約からくるものです。
- to_kyo
- ベストアンサー率41% (7/17)
横からすみません。 >>複数のパラメーターを渡す場合、&で区切るのは一般的なのでしょうか? >そういう決まり事になっています。 >http://www.w3.org/TR/html401/interact/forms.html#form-data-set ということですが、 B.2.2を読むと、パラメータの区切り文字は「&」よりも「&」や「;」を推奨って書いてる気もするのですが どうなんでしょうか。。 いまいちよく理解できていないので、詳しい方に解説をお願いしたいのですが。。 「ちょっと疑問」程度なので、新規質問には、していませんでした。 「ここでこんなこといわれても困る」というのであれば、無視してください。
サーバー側のプログラムは、URLの内容でだいたい分かります。 "http://oshiete1.goo.ne.jp/oshiete_new.php3?c=254" の場合、PHPという言語です。 サーバーサイドプログラムは色々あって、 CGI、Perl、PHP、Javaサーブレット、ASPなど他にもたくさんあります。 初心者向けとしたら、CGI、Perlあたりでしょうか。 ちなみに、JavaScriptはサーバーサイドプログラミング言語ではありません。 サーバーサイドプログラムの他にも、HTTPの仕組みも分かっておいた方がいいでしょう。 ?や&は、HTTPで決められた決まりです。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
form エレメントの method="get" の時にそのような形式でフォームデータが送信されます。 >サーバー側のプログラムがこれだ!!って特定できるのでしょうか?( サーバー側のプログラムはあらかじめGET 形式で送られるということを前提としているであろうと思われるので、特定できます。 javaScriptの場合は?以降を解析してくれる様な特別な機構というのはありませんが location.search で?以降を取り出せるので、解析するようなプログラムを自作する必要があります。 >複数のパラメーターを渡す場合、&で区切るのは一般的なのでしょうか? そういう決まり事になっています。 http://www.w3.org/TR/html401/interact/forms.html#form-data-set 17.13あたりから読んでみて下さい。 17.13.4 2. に名前を値を= で区切って、そのペアを& で区切ると書いてあります。 (自分で、適当な書式を作ることも可能でしょうが、こうしたルールには従うのが得策です)
お礼
早速の手ほどきありがとう御座います。 なんとなく、概要は判りましたので、本屋に行ってきます。ありがとうございました。