URLとは何か?
- URLはWebアドレスのこと。Webページを特定するための文字列
- http(s)以外のプロトコルも表現可能。Webに用途を限定されるものではない
URLの基本コンポーネント
- スキーマ、ホスト名、パス、クエリパラメータ、フラグメント
- 例:
https://example.com/products?id=123#specs
-
https
: スキーマ -
example.com
: ホスト名 -
/products
: パス -
?id=123
: クエリパラメータ -
#specs
: フラグメント
-
良いURL設計の恩恵
- リンクが貼りやすい(拡張性が高くなる)
- 普及した考え方に倣うことで作りやすく使いやすいWebアプリとなることが期待できる
RESTful URLデザインの原則
- RESTfulアーキテクチャでは、URLはリソースを指し示すべき
- 操作はHTTPメソッド(GET, POST, PUT, DELETE)で表現
URLの可読性と簡潔性
- 記述的なURLを目指す
- 悪い例:
https://example.com/b?c=123
- 良い例:
https://example.com/books/123
セキュリティの考慮
- URL内に機微な情報(パスワード、セッションIDなど)を含めない
- URLエンコーディングを適切に使用
まとめ
Webアプリを作るというのは、煎じ詰めれば
- URL(≒リソース)の名前とパスを設計し
- それらに対してどの操作(=メソッド)が可能かを考え
- それらの操作でどのような効果が起きるかを考える
ことと言えます。
URLを場当たり的に設計すると取っ散らかったウェブアプリになってしまいますのであなどらずに設計しましょう。