LoginSignup
2
1

More than 5 years have passed since last update.

Webを支える技術(URIなど)

Posted at

20181114

やったこと

Webを支える技術を読む。はじめからURIまで。

以下、読書メモ✍

Webの用途

  • Webサイト
  • ユーザーインターフェイスとして
  • APIとして(プログラム用インターフェイス)

Webを支える技術

  • HTTP URI HTML
  • ハイパーメディア(任意の情報に任意のタイミングでアクセスできる)
  • 分散システム(世界中のサーバにアクセス)

リソース

  • Web 上の情報
  • URIで一意の名前を持つ
  • URIを利用しプログラムはリソースへアクセス可能に(=Addressability)

ステートレス、アプリケーションの状態を"サーバ"で管理しないこと(ステートレスサーバ)

キャッシュ、一度取得したデータのクライアント側での使い回し

RESTとは下記の6つを組み合わせたもの

・クライアント/ サーバ :ユーザ インタフェース と 処理 を 分離 する

・ステートレスサーバ :サーバ 側 で アプリケーション 状態 を 持た ない

・キャッシュ :クライアント と サーバ の 通信 回数 と 量 を 減らす

・統一 インタフェース :インタフェース を 固定 する (HTTPメソッド縛り)

・階層 化 システム :システム を 階層 に 分離 する

・コードオンデマンド :プログラム を クライアント に ダウンロード し て 実行 する(JS)

URI

絶対URIと相対URI

相対URIはHTMLの

内の要素にベースURIを記述する
<base href="http://www.example.com/page.html">

URIに使えない文字をURIに使うときは%エンコーディングされて転送される

http:// ja. wikipedia. org/ wiki/ あ
         👇に展開される
http:// ja. wikipedia. org/ wiki/% E 3% 81% 82

URI実装ポイント

👉なるべく絶対URIにする

👉エンコーディングはUTF-8にする

URIを変わりにくくする

目的

リンク切れ防止。
Webのハイパーメディアシステムとしての機能が成り立たなくなる。

コツ

  • 実装に依存した拡張子やパスを含まない
  • メソッド名やセッションIDを含めない
  • リソースを表現する名詞にする

初期のRailsの悪いURI例(showメソッドが含まれている)

http:// example. jp/ sample/ people/ show/ 123

マトリクスURI

複数のパラメ−タをセミコロン(;)で区切ってリソースを表現する。
経度と緯度を表したURIの例
http:// example. jp/ map/ lat = 35. 705471; lng = 139. 751898

下記の点がとても重要。URIをしっかりと意識する必要がある

  • URI は リソース の 名前 で ある
  • URI は 寿命 が 長い
  • URI は ブラウザ が アドレス 欄 に 表示 する

所感

Railsのフレームのお陰で普段あまりURIを意識していなかった事に気づく。
URI奥深いなぁ。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1