まさ@ブログ書き込み中

読者です 読者をやめる 読者になる 読者になる

まさ@ブログ書き込み中

まさの旅、英語、プログラミング、プライベートについて、色々記録しています。

URIのおはなし【Webを支える技術 第二部】

 

こんにちは、まさです。スタバでMacでタタタターン!ってやっている人は僕のことです、ええ、ええ。

 

Webを支える技術の第二部(第四章+第五章)のURIの部分を読み終えたのでまとめていこうと思います。めざせ30分。

 

 

URIとは

Uniform Resource Identifer(統一リソース識別子)の略。

文字通りリソースを統一的に識別するIDのこと。

 

僕みたいなかけだしエンジニアでも知って居る「URL」とは、

Uniform Resouce Locatorの略であり、Locator(場所を示すもの)のこと。

 

ただただ場所を示しているのがURL。だからWebサイトとかを作っている人が勝手にURL変えることも可能。すると今までのURLしか知らない人はそこにアクセスできなくなる。

 

そのためドメイン名とは独立してリソースに恒久的なID、URN(Uniform Resource Name)が振られることに。

 

そのURL+URNがリソースを統一的に示してくれるID、すなわちURIです。

URI = URL + URN)

 

 

絶対URIと相対URI

絶対URIとはこんなもの

http://example.jp/foo/bar

相対URIとはこんなもの

/foo/bar

 

もちろん、相対URIはクライアントが理解できないから、

起点となるURIを指定するのがベースURI(基底URI)。

 

HTMLやXMLの中で明示的にベースURIを指定すればおk。

 

 

クールなURI

こんなことしたらだめぜよ

 

心に留めておくべきは、URIはそのリソースを表現する名詞であること。

あるリソースを取得するのか更新するのかは、HTTPで決まるのだから。

 

URIとHTTPメソッドの関係は、名詞と動詞の関係にあるのだなあ。

                             まさを 

 

 

なんでそんなにURIについて語るのさ

本書によるとURIの設計について考えることが大切なのは

  • URIは名前だから
  • URIは寿命が長いから
  • URIはブラウザがアドレス欄に表示するから

だそうな。

 

ふーん。

 

さらにこんなことも言ってる。

 

URIWebサービスやWebAPIの設計において最も重視するべきパーツであると言えるでしょう。 

 

そうなのか。

 

・・・むむ?WebAPIってなんだっけ?

 

 

番外編:WebAPIとは

ちょっと気になって調べてみたので、ここで少しまとめます。

 

以前書いた記事

Webの「そもそも」の話【Webを支える技術第一部前半】 - まさ@ブログ書き込み中

で、僕はこういう説明を引用しました。

 

APIとは「ソフトウェアの機能を共有すること」

(中略)

APIはWEB上で通信して利用することが普通なので「WEB API」と呼ばれることも多く、APIと書いている場合は通常「WEB API」を指します。

 

あのときはざっくり捉えていたので、もう少し踏み込んだ説明をこちらのサイトを参考にしてみました。

 

qiita.com

 

APIApplication Program Interface)とは、プログラムの関数のようなもの。

 

alert ( 'test' ); 

 

 というコードを実行するとアラートが表示されるけど、alert ( )関数はプログラマが書いた関数ではなく、ブラウザ標準で持って居る関数。

 

つまり、特定の機能を持つプログラム部品のことで、どのアプリケーションでも共通で使える機能を提供する仕組みのこと。

 

 

そしてWebAPIとはネットワーク越しに利用できる関数。URLが関数名で引数を渡すことで結果が変化する。

 

30分。終わり。

 

 

【追記】

 

このサイトがAPI(WebAPI)についてめちゃわかりやすく教えてくれていました。

 

なるほどー。

 

www.sejuku.net