こんにちは。
リモートワークになり、缶ビールの減り具合が格段に増えました。どうもハチマキです。
はじめに
前回に続き、入社早々に上長から教えてもらった
エンジニアデビュー3ヶ月後くらいに読むと良さそうな書籍
「Webを支える技術 -HTTP、URI、HTML、そしてREST」の第2部のまとめになります。
一部はWeb概念についてまとめましたので、ぜひそちらもご参考にして頂ければと思います。
▼書籍はこちら
www.amazon.co.jp
本日の概要 : 第2部 URIについて
- どんな時にために、この書籍は読んでおくべき?(第1部をご覧ください)
- 書籍のテーマと目的(第1部をご覧ください)
- 書籍の構成
- 第2部 URI
- まとめ
書籍の構成
- 第1部 : Web概念
- 第2部 : URI
- 第3部 : HTTP
- 第4部 : ハイパーメディアフォーマット
- 第5部 : Web サービスの設計
※今回は、第2部 : URIについてまとめております。
第2部 : URI
第2部では、URIの仕様と、より良いURIを設計するための作法が書かれており、URIの仕様を正しく理解することが、使いやすいWebサービスとWeb APIを作る第一歩となる
学んだこと
普段当たり前に使用しているWebサービスのURIに関して、正直考えたこともなかった。(設計思想なんて持ってのほかでした)
逆に言えば、クライアント側でURIを何も違和感なく使用できていることは、URIを設計する上でユーザビリティを考え抜いているからこそ実現できていることだと感じた。
自己アプリを制作する上で、ユーザビリティを考える一つにURIの設計思想を実現できるように考えていきたい。
そして、今までURLだと思っていた名称は、URLとURNの総称をURIと言うらしい。。学びました。
URIの仕様
- URLの重要性
- URIとは、「リソースを統一的に識別するID」を指し、Web上に存在するすべてのリソースを一意に示すことができる(簡単にアクセスが可能になる)
- 簡単なURIの構文
- 複雑なURIの構文
- URIスキーム : そのURIが利用するプロトコルを示す(http)
- ユーザ情報 : このリソースにアクセスする際に利用するユーザ名とパスワードから成り立つ
- ホスト名 : 名前が解決できるドメインかIPアドレスで、インターネット上で必ず一意になる
- ポート番号 : ホストにアクセスする時にプロトコルで用いるTCPのポート番号を示す
- パス : そのホストの中でのリソースを一意に指し示す(階層を表すパス)
- クエリパラメータ : 1つ以上のクエリの集合を「クエリパラメータ」または「クエリ文字列」と呼び、クライアントから動的にURIを生成する時に利用する
- URIフラグメント : その前までの文字列で表現するURIが指し示すリソース内部の、さらに細かい部分を特定する時に利用する
上記URI構文を組み合わせることで、あるリソースのURIが世界中のほかのリソースURIと絶対に重複しないようになっている
URIで使用できる文字
- アルファベット : A - Za - z
- 数字 : 0 - 9
- 記号 : ~.~:@!$&'()
URIには、日本語の文字を直接入れられない
※但し、%エンコーディングでその文字をエンコードすればURIが表示できる
※URIの長さに制限はない