2012-12-01

どうやって良いURLの設計をするかという話

■ URLって何だったんだっけ

URLは情報リソースを表す大切な言葉。「三丁目の/角の家の/下から2番目の/息子さん」と一緒。よく「住所」と例えられるけど、ちょっと分かりにくいよね。確かに該当するファイルやフィールドを指してはいるので例で示したように現実世界で言うところの住所もそれには該当するのだけれど、「個を特定する要素(たち)」と言えばいいのか。

とにもかくにも今日の Web にははずせない技術となった URL ですが、その命名法で気をつけるべきことを数点ほど挙げてみました。




■ 答え

スライド中に吹き出しで質問を加えてみたので、その僕なりの答えは下記の通り。

  1. URL が変わらなくて何が嬉しい?: 例えば 404 not found にならない、など。
  2. 実装依存な URL を生成するフレームワークの場合は?: mod_rewrite などを使ってユーザに見せる URI と内部的な URI を分ける。
  3. クエリストリングは?: クエリストリングも隠蔽すべき。確かに "?address=3chome" と書かれていれば 3chome が何を意味するのか分かりやすいですが、キーが丸見えで実装を晒してしまっています。これは攻撃者に予測する材料を与えてしまっている悪い URL の設計です。
  4. N = 2038


@ymkjp