本を読む Webを支える技術
本を読むのがすごく苦手なので、なかなか読めなかった本をやっと読み終わった。
通勤を利用して何とか読んだ。
買ったのは大分前だったけど、何やらわからない用語が多すぎて一旦放置してた。
通勤時間が伸びたのを利用して、がーっと読んだら、意外と読めた。
というわけで、まとめてみる。
感想
webすげー!
その一言につきました。
とても本を読んだ感想っぽくないw
知らないと知らないままの、技術。
既存のものをさくっと何も気にせず使えているのは、実はこんな数々のことに支えられていたのか!
ということで、すげー!という感想でした。
用語
URI
URLとURNの総称。
URLは、何らかの障害でアクセスできなくなる問題があるが、URNは、ドメイン名とは別に恒久的なIDをもつ。
リソースの名前であり、寿命が長く、アドレス欄に表示するため、この点意識して設計する必要がある。
RESTとは
web全体のアークテクチャスタイル。
下記6つを組み合わせている。
- クライアント/サーバ:ユーザインタフェースと処理を分離する
- ステートレスサーバ:サーバ側でアプリケーションの状態を持たない
- キャッシュ:クライアントとサーバの通信回数と量を減らす
- 統一インタフェース:インタフェースを固定する
- 階層化システム:システムを階層に分離する
- コードオンデマンド:プログラムをクライアントにダウンロードして実行する
HTTP
TCP/IPをベースにしたプロトコル
TCP/IPはネットワークプロトコルで、階層化されている。
- ネットワークインタフェース層:物理的なケーブルやネットワークアダプタ
- インターネット層:ネットワークでデータを実際にやりとりする(IP)
- トランスポード層:データの転送を保証する(TCP)
- アプリケーション層:具体的なインターネットアプリケーションを実装する
IP
パケット単位でデータをやりとりする
データを送り出すことだけ保証している
TCP
接続先の相手に対してコネクショnをはり、データ抜け漏れをチェックし、データの到達を保証する
転送するデータがどのアプリケーションに渡るかをけっているするのがポート番号
8つのメソッド
- GET:リソースの取得
- POST:子リソースの作成、リソースへのデータ追加など
- PUT:リソースの更新、リソースの作成
- DELETE:リソースの削除
- HEAD:リソースのヘッダの取得
- OPTIONS:リソースがサポートしているメソッドの取得
- TRACE:自分宛にリクエストメッセージを返す試験
- CONNECT:プロキシ動作のトンネル接続への変更
ステータスコードの分類
- 1xx:処理中
- 2xx:リクエストが成功
- 3xx:リダイレクト
- 4xx:クライアントエラー
- 5xx:サーバエラー
ハイパーメティアフォーマット
HTML
タグで文書の構造を表現するコンピュータ言語
microformats
HTMLの中でさらに意味のあるデータを表現する
Atom
汎用XMLフォーマット
最小リソース単位が、メンバリソースで、メンバリソースは、エントリリソースとメディアリソースに分かれる
複数のメンバリソースを含むリソースはコレクションリソース
Atom Publishing Protocol
Atomを利用したリソース編集プロトコルの規定
ブラウザ以外のWebクライアントとのシステム連携が容易にできるようになる
JSON
プログラミング言語から扱いやすいデータ構造
データ記述言語で、Javascriptの記法でデータを記述できる