SlideShare a Scribd company logo
1 of 7
Download to read offline
良い URL を設計する
  Kenta YAMAMOTO
良い URL って?                     URLが変わらなくて何が嬉しい?




● クールな URI は変わらない
  ("Cool URIs don't change")
URL が変わりにくくなる3原則 (1)

http://example.jp/cgi-bin/login.pl

● 実装依存しない
   ○   例: "cgi-bin" というバスと、".pl" という拡張子
URL が変わりにくくなる3原則 (2)

http://examle.jp/sample/people/show/123
例: 初期の RoRはこういう動詞が入っていたそうです(2.0 以降改善)



● URI はリソースを表現する名詞にする
 (HTTP メソッドを動詞に)


                  実装依存の URI を生成するFWの場合は?
URL が変わりにくくなる3原則 (3)

http://example.jp/login.php?action=showpage

● メソッド名を含めない
                             クエリストリングは?




※システムをリファクタリングしてもメソッド名が変更にならない
ような実装をする
まとめ
"URI は、ともすると Web アプリケーションフレームワークが隠
蔽し、通常のプログラマはあまり意識をしなくてもよい存在に
なってしまいがちです。しかし, URI は次の点でとても重要です"

● URI はリソースの名前である
● URI は寿命が長い
● URI はブラウザがアドレス欄に表示する
                ―『Webを支える技術』
ちなみに、Internet Explore (IE) は、URLの
                              長さをバージョンを問わずNバイトまでに制

補足: URL と URI                 限されるため、PC向けページではその実装
                              に合わせることになる。




● URL (Uniform Resource Locator)
  ○ 実質 URI と読み替えても問題ない


● URI (Uniform Resource Identifier)
  ○ URL と URN (Uniform Resource Name) の総称
  ○ URN には例えば書籍における ISBN などがある
  ○ つまり URN にはサーバ名やプロトコル名が入っていな
    いので, URI としてリソースを取得できない

  ※「URL < URI」くらいは覚えておいてもいいかも

More Related Content

More from Kenta Yamamoto

The Art of Command Line (2021)
The Art of Command Line (2021)The Art of Command Line (2021)
The Art of Command Line (2021)Kenta Yamamoto
 
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git HistoryVulnerability Detection Based on Git History
Vulnerability Detection Based on Git HistoryKenta Yamamoto
 
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...Kenta Yamamoto
 
文字コードとセキュリティ
文字コードとセキュリティ文字コードとセキュリティ
文字コードとセキュリティKenta Yamamoto
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか Kenta Yamamoto
 
優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則Kenta Yamamoto
 
東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3Kenta Yamamoto
 

More from Kenta Yamamoto (10)

The Art of Command Line (2021)
The Art of Command Line (2021)The Art of Command Line (2021)
The Art of Command Line (2021)
 
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git HistoryVulnerability Detection Based on Git History
Vulnerability Detection Based on Git History
 
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
 
文字コードとセキュリティ
文字コードとセキュリティ文字コードとセキュリティ
文字コードとセキュリティ
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
Tips for bash script
Tips for bash scriptTips for bash script
Tips for bash script
 
優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則優れたビデオゲームに共通する不変の法則
優れたビデオゲームに共通する不変の法則
 
20110805 ui14課題2
20110805 ui14課題220110805 ui14課題2
20110805 ui14課題2
 
20110804 ui14課題
20110804 ui14課題20110804 ui14課題
20110804 ui14課題
 
東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3東日本大震災後の訪日外国人数の変移_2011.3
東日本大震災後の訪日外国人数の変移_2011.3
 

良いUrlを設計する

  • 1. 良い URL を設計する Kenta YAMAMOTO
  • 2. 良い URL って? URLが変わらなくて何が嬉しい? ● クールな URI は変わらない ("Cool URIs don't change")
  • 3. URL が変わりにくくなる3原則 (1) http://example.jp/cgi-bin/login.pl ● 実装依存しない ○ 例: "cgi-bin" というバスと、".pl" という拡張子
  • 4. URL が変わりにくくなる3原則 (2) http://examle.jp/sample/people/show/123 例: 初期の RoRはこういう動詞が入っていたそうです(2.0 以降改善) ● URI はリソースを表現する名詞にする  (HTTP メソッドを動詞に) 実装依存の URI を生成するFWの場合は?
  • 5. URL が変わりにくくなる3原則 (3) http://example.jp/login.php?action=showpage ● メソッド名を含めない クエリストリングは? ※システムをリファクタリングしてもメソッド名が変更にならない ような実装をする
  • 6. まとめ "URI は、ともすると Web アプリケーションフレームワークが隠 蔽し、通常のプログラマはあまり意識をしなくてもよい存在に なってしまいがちです。しかし, URI は次の点でとても重要です" ● URI はリソースの名前である ● URI は寿命が長い ● URI はブラウザがアドレス欄に表示する ―『Webを支える技術』
  • 7. ちなみに、Internet Explore (IE) は、URLの 長さをバージョンを問わずNバイトまでに制 補足: URL と URI 限されるため、PC向けページではその実装 に合わせることになる。 ● URL (Uniform Resource Locator) ○ 実質 URI と読み替えても問題ない ● URI (Uniform Resource Identifier) ○ URL と URN (Uniform Resource Name) の総称 ○ URN には例えば書籍における ISBN などがある ○ つまり URN にはサーバ名やプロトコル名が入っていな いので, URI としてリソースを取得できない ※「URL < URI」くらいは覚えておいてもいいかも