• ベストアンサー

URLの違い

2つのURLの違いは何でしょうか? (1) example.com/movie?s=12345 (2) example.com/movie/12345

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.5

>youtube.com/watch?v=yesmaam と検索したら >「問題が発生しました」と表示され、 >youtube.com/oops に飛ばされました。 それは回答No.4の(C)のパターンです。 そのURLでv=に指定するのは動画のIDだと思われるので、指定した文字列をIDに持つ動画が存在しなければエラーを表示するのはごく当たり前でしょう。v=に指定された文字列が特定の英単語の場合に動作を変えるようなことはしていないと思います。 質問No.9810662でもURLの一部にdeleteという文字列を組み込んだらどうなるか質問していたようですが、質問者さんは一体何をしたいのでしょうか。 そんな方法でデータを消したりする仕組みは普通のウェブサイトにはありません。そのウェブサイトの作者が意図的にそういう機能を作り込んだ場合は別ですが。

noname#246835
質問者

お礼

リンク先を貼る際に、 URLを打ち間違えてしまった時にどうすれば良いのか心配でしたので、不安が解消しました。 回答ありがとうございました。

その他の回答 (4)

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.4

>URLのパラメータ(?)の文字列で、 >番号部分を英単語に変えて検索した場合、どうなってしまうのでしょうか。 >example.com/page?a=insert (挿入) >example.com/page?a=delete (削除) 何が起こるかと言ったら下記のパターンのどれかになることがほとんどでしょう。 (A)aに"insert"や"delete"が入っていた場合に特別な動作をするように作られたウェブページなら、その動作を行う (B)検索だとしたら、単純に"insert"や"delete"という文字列を含んでいるデータがあるかどうか検索し、該当するものがあれば表示する (C)「パラメータに間違いがある」というエラーを表示する (D)aに番号以外のものが入っていることを想定していなかったせいで誤動作する(どのような誤動作になるかは分からない) 他の回答者も書いているとおりそのウェブページの作り次第ですが、パラメータに"delete"が来たらデータを削除するような作り(上記(A)に該当)にはしないのが普通です。 関連して、ウェブサイトを攻撃する方法の一つにクロスサイトスクリプティング(XSS)というのがあります。 例として https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0 の「GETメソッドのみに適用できる方法」の部分を見てください。"http://example.com/?gender=パラメータ"のパラメータの部分を書き換えています。 このような攻撃が存在して実際に被害も出ていることはウェブ開発者にはよく知られていますから、想定外のパラメータを送り込んでもチェックではじかれるのが普通です。

noname#246835
質問者

お礼

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

noname#246835
質問者

補足

【補足】 youtubeの動画URLで、 youtube.com/watch?v=yesmaam と検索したら 「問題が発生しました」と表示され、 youtube.com/oops に飛ばされました。 これも「yesmaam」の部分がただの文字列だと認識して「delete」もただの文字列だと認識されたのでしょうか。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

>【補足】 >URLのパラメータ(?)の文字列で、 >番号部分を英単語に変えて検索した場合、どうなってしまうのでしょうか。 #2の方も書かれていますけど、サイトがどのように作られているかによるので、どうなるのかはサイトにより異なります。 ですので一概に「こうなります」なんて事はいえません。

noname#246835
質問者

お礼

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

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

それはHTTPサーバーサービスの設定やCGIの作り方で変わってきます。 http://www.tohoho-web.com/wwwcgi3.htm#CgiParameter 説明を読んでもらいたいのですが、URLから呼び出すプログラム(CGI)にパラメーターを渡す方法の表記の違いです。 コマンドラインパラメター、METHOD=GET、METHOD=POSTという3つの方法があり、同じ結果を求めるプログラムだとしてもパラメーターの受け取り方法に違いがあるだけです。 更に説明ょよく読むとGETとPOSTの違いが説明されていますが、POSTの方はHTTPサーバー側の環境変数を利用しています。つまり、渡せる文字列の最大文字数は環境変数が扱える最大文字数の制限の影響を受けてしまうということです。その点の説明についてもどか(もしかしたら別のページだったかも)に書かれていたと思います。 それらの違いは、使用しているHTTPD(ApacheやIIS)によっても違うかもしれません。CGIで使用しているインタープリタ(PerlやPHP、Cなどですね)によっても変わるかもしれないし、使用しているOSやミドルウェアの影響味ないわけではありません。 ですが、リンク先に書かれていること(とほほのwww入門全体のことですよ)が基礎となっているので覚えておいて損はありません。

noname#246835
質問者

お礼

回答ありがとうございました。 少し理解しました。

  • TIGANS
  • ベストアンサー率35% (245/681)
回答No.1

(1)は ?以降はURLパラメータです。 https://www.seohacks.net/basic/terms/what-is-urlparameters/ よく使われるのはページ数の指定とかですね。サーバによってパラメータとして解釈されます。 (2)は URLでサーバー上のファイル位置を示しているのが一般的です。

noname#246835
質問者

お礼

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

noname#246835
質問者

補足

【補足】 URLのパラメータ(?)の文字列で、 番号部分を英単語に変えて検索した場合、どうなってしまうのでしょうか。 example.com/page?a=1234を example.com/page?a=insert (挿入) example.com/page?a=delete (削除) example.com/page?id= 1234&delete 1234&delete と検索すると、 id「1234」のデータが消える等

関連するQ&A