おれ、エンジニアになるよ。

エンジニア志望の大学生だった若造がISUCON7を通して見事就職した後、今度は一人前のエンジニアになることを目指す成長物語

「Webを支える技術」を読んで 〜URI〜

こんにちは。

今日は「URI」の話。

ではガシガシ書いていきます。

 

 

URIとは

Uniform Resource Identifier

 

「リソースを統一的に識別するID」

 

これがあることによって、web上に存在するリソースを一意(それだけって意味)に示せるってわけ。

住所みたいなもんやね。

 

まぁ、「URL」と同じですわww

 

 

URIの構造

 

これも以前やりましたね。

けどもう一回おさらい。

 

URIスキーム:http

URIスキームは利用するプロトコルを表す。

上の場合は、

「httpでアクセスしますよー」

ってこと。

 

 

・ホスト名:dirty.jp

ここは必ず一意になる。

 

 

・パス:/unko/1

パスは階層を表す。

ホスト内で必ず一意になる。

 

 

URIの設計

 

どうやら「クールなURI」とやらがあるらしい。

URIをかっこよくしてどうすんねん。

 

ってことで「クールなURI」の定義は、

 

「変わらないURI

 

どういうことかと言うと、昔のURIはコロコロ変わっていたらしい。

「お気に入り」に入れてたwebサイトがある日突然見れなくなるみたいな。

「404 Not Found」とか出たら、たしかに萎えるよね。

 

そこで、変わらないURIこそが最上のURIということになった。

その最上でクールなポイントがこれ。

 

プログラミング言語に依存した拡張子やパスを含まない 

「.rb」とか「.php」とか入れちゃダメよ。

「/cgi-bin」もダメ。CGIの時代なんかとっくに終わったんだからぁぁ。

 

 

・メソッド名やセッションIDを含めない

例えば、「showPage」というメソッド名がURIに入っていると、リファクタリングしてメソッド名が変わったときにURIも変わっちゃうから。

そしてセッションIDと言えばCookieだけど、ログイン毎にURIが変わっちゃうことはもう想像がつく。(このぼくでもww)

そんなのクールじゃないっ!!

 

リファクタリング

プログラムの外部仕様(入力と出力)を変えずに、内部構造を安全に改善すること。

プログラムを理解しやすくするために、拡張性や再利用性を高めるわけやな。

要は、

「こまめに手入れしてプログラムを長持ちさせよう」

ってこと。

 

 

URIはリソースを表現する名詞にする

ユーザが分かるように何をする場所なのかがわかりやすくしましょう、ってことやね。

 

ログイン画面なら、dirty.jp/login

編集画面なら、dirty.jp/edit

 

みたいな。

 

 

URIを変更したいとき

 

でも、どうしてもURI変更しなくちゃいけないときってあるよね。

システム総入れ替えとかハードウェアの老朽化とかで。

そういうときは、「リダイレクト」っていう便利な方法がある。

 

リダイレクトとは、古いURIを新しいURIに転送するHTTPの仕組みのこと。

今回、その方法は割愛するけど、一応そういうもんがあるって覚えておこう。

 

 

よし、今日はここまで。

ではでは、この辺で。