• ベストアンサー

リンクの最後の?は必要?

友人がパスワード式の掲示板を作りました。 メールには > http://www.****.ne.jp/****/cgi-bin/bbs/bbs.cgi? > > みなさまへのご連絡、お願いします。 > リンクをコピーする際、最後の?マークまで必要なので忘れずにコピーしてください。 と書いてありましたが、なくても行けるようです。 Q1:最後の?の有無で何が違うのでしょうか? Q2:?をいれずにブックマークに登録した場合、不具合が生じる恐れはありますか?

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

  • ベストアンサー
  • SpiceGirl
  • ベストアンサー率69% (493/713)
回答No.2

こんにちは。 A1)GETメソッドでcgiを呼び出すURLスキームで「?」直後の文字列を「クエリ」と呼びます。ブラウザからサーバー、さらにはCGI スクリプトへ、パラメーターを伝達する(データを引渡すやり方)のに使われます。 ですので実際には http://www.****.ne.jp/****/cgi-bin/bbs/bbs.cgi?q=gogogo などのように使われます。 詳しくは「QUERY_STRING」で検索するといろいろ出てきます。 A2)上記理由により「?」以降引き渡すパラメータがセットされていない、引き渡すデータがないので「?」のあるなしでも結果は同じになるので、不具合は生じないと思われます。

zero-fighter
質問者

お礼

回答どうもありがとうございました。「QUERY_STRING」というのは初めて知りました(勉強不足ですね)。 そこで、QUERY_STRINGで調べてみました。なんとなく分かった気になりました。 友人の掲示板は某所からcgiをもらって作った掲示板らしいのですが、そのcgiはQUERY_STRINGでパスワードなどを入れるような仕組みになってませんでしたし、公開されていたサンプルも、最後に?なし。 何で変なこと書いたのか、そちらの方が疑問に思えてきました(けど、これは教えて!gooで聞いても分かりませんね)。

その他の回答 (1)

  • utatane
  • ベストアンサー率33% (86/254)
回答No.1

通常、URLの最後に?がついている場合、入力した内容がセットされるようになります。 たとえば http://okweb.jp/kotaeru_reply.php3?q=958187 という風に(ここのページの表示で、958187番を表示しろというリクエストを送っている)。 でも、?は送信時につけられるはずなので、本来は意識しなくても問題ないはずです。 他に理由があるのであれば、自分はわかりません^^;

zero-fighter
質問者

お礼

回答どうもありがとうございました。自分も「なくても良いはずだ」とは思っていたのですが、掲示板の作成者がわざわざ「?を付けろ」というので、疑問に思いました。

関連するQ&A