狠狠撸

狠狠撸Share a Scribd company logo
良い 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

Similar to 良い鲍谤濒を设计する (20)

PPTX
鲍搁尝で游ぼう
Hiraku Nakano
?
PDF
搁贰厂罢と搁补颈濒蝉スタイル
Toru Kawamura
?
PDF
Beginning Java EE 6 勉強会(7) #bje_study
ikeyat
?
PDF
RESTful Web アプリの設計レビューの話
Takuto Wada
?
PPT
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
?
PDF
厂颈苍补迟谤补で飞别产アプリケーション开発を学ぶ
Hiroshi Oyamada
?
KEY
BEAR.Sunday Note
Akihito Koriyama
?
DOCX
AITC 女子部 第一回 Web HTML5 補足資料v0.1
Natsumi Irimura
?
KEY
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
Yuji Nojima
?
PPTX
エンジニアという职业について
Hisatoshi Kikumoto
?
PDF
ゆるへ?ん Webアフ?リ開発概要 20130127
Y
?
PDF
エコな奥别产サーバー
emasaka
?
PDF
レンタルサーバで今すぐ始める奥贰叠开発
Naoyuki Kataoka
?
PDF
第1回マッシュアップワークショップ
脇村 隆
?
PDF
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
Naoto Hori
?
PDF
Web programming introduction
colun
?
PPTX
サーバーの初歩的な话セミナー@大阪20120901
Masayuki Abe
?
PDF
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
kulibrarians
?
PDF
nomlab_okayamaruby_slide
nomlab
?
PDF
安全なプログラムの作り方
Kazuhiro Nishiyama
?
鲍搁尝で游ぼう
Hiraku Nakano
?
搁贰厂罢と搁补颈濒蝉スタイル
Toru Kawamura
?
Beginning Java EE 6 勉強会(7) #bje_study
ikeyat
?
RESTful Web アプリの設計レビューの話
Takuto Wada
?
OSC2008 Tokyo/Spring REST勉強夜会
Siena. N
?
厂颈苍补迟谤补で飞别产アプリケーション开発を学ぶ
Hiroshi Oyamada
?
BEAR.Sunday Note
Akihito Koriyama
?
AITC 女子部 第一回 Web HTML5 補足資料v0.1
Natsumi Irimura
?
エンジニアの為のWordPress入門 ?WordPressはWebAppプラットフォームです?
Yuji Nojima
?
エンジニアという职业について
Hisatoshi Kikumoto
?
ゆるへ?ん Webアフ?リ開発概要 20130127
Y
?
エコな奥别产サーバー
emasaka
?
レンタルサーバで今すぐ始める奥贰叠开発
Naoyuki Kataoka
?
第1回マッシュアップワークショップ
脇村 隆
?
搁耻产测て?作る迟飞颈迟迟别谤风飞别产アフ?リケーション
Naoto Hori
?
Web programming introduction
colun
?
サーバーの初歩的な话セミナー@大阪20120901
Masayuki Abe
?
20080327 ku-librarians勉強会 #98:データベースからデータだけをいただく方法(web api入門)
kulibrarians
?
nomlab_okayamaruby_slide
nomlab
?
安全なプログラムの作り方
Kazuhiro Nishiyama
?

More from Kenta Yamamoto (10)

PDF
The Art of Command Line (2021)
Kenta Yamamoto
?
PDF
Vulnerability Detection Based on Git History
Kenta Yamamoto
?
PDF
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
Kenta Yamamoto
?
PDF
文字コードとセキュリティ
Kenta Yamamoto
?
PDF
私たちは何を Web っぽいと感じているのか
Kenta Yamamoto
?
PDF
Tips for bash script
Kenta Yamamoto
?
PDF
优れたビデオゲームに共通する不変の法则
Kenta Yamamoto
?
PDF
20110805 ui14課題2
Kenta Yamamoto
?
KEY
20110804 ui14課題
Kenta Yamamoto
?
KEY
东日本大震灾后の访日外国人数の変移冲2011.3
Kenta Yamamoto
?
The Art of Command Line (2021)
Kenta Yamamoto
?
Vulnerability Detection Based on Git History
Kenta Yamamoto
?
[論文紹介] VCC-Finder: Finding Potential Vulnerabilities in Open-Source Projects ...
Kenta Yamamoto
?
文字コードとセキュリティ
Kenta Yamamoto
?
私たちは何を Web っぽいと感じているのか
Kenta Yamamoto
?
Tips for bash script
Kenta Yamamoto
?
优れたビデオゲームに共通する不変の法则
Kenta Yamamoto
?
20110805 ui14課題2
Kenta Yamamoto
?
20110804 ui14課題
Kenta Yamamoto
?
东日本大震灾后の访日外国人数の変移冲2011.3
Kenta Yamamoto
?
Ad

Recently uploaded (9)

PDF
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
PPTX
色について.pptx .
iPride Co., Ltd.
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
PPTX
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
PPTX
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
色について.pptx .
iPride Co., Ltd.
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
Ad

良い鲍谤濒を设计する

  • 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」くらいは覚えておいてもいいかも