Make the Most of IT.

お酒と映画が好きなJava屋さんがRubyとか学んだこと感じたことをつらつらと

基本って大事、今更ながら「Webを支える技術」を読みました

はじめに

こんにちは。
最近は暖かい日が続き、いつもより過ごしやすい秋を長く感じることができてお得な気分です。昼間は暖かくてもやはり11月で朝晩は寒いですね。
お風呂やお布団でしっかり温まりましょう。

さて、技術屋さんになってはや3年半を迎えました私ですが、ちゃんとHTTPとか学んだことなかったなぁと思い、色々なところでおすすめされていました山本陽平さんの「Webを支える技術」を読んでみました。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

勉強したところまとめ

REST

Roy Fieldingが博士論文として提出した、Webの複合アーキテクチャスタイルです。Webのアーキテクチャスタイルである"クライアント/サーバ"に制約としてのアーキテクチャスタイルを課していくことで完成します。

アーキテクチャスタイル一覧

 ・ステートレスサーバ
   サーバがアプリケーション状態を持たないこと
 ・キャッシュ
   リソースを使いまわす方式
 ・統一インターフェース
   サーバとのやりとりを限定したメソッドのみで行うこと。
 ・階層化システム
   サーバとクライアントの間にロードバランサを置くなど、システムを階層化すること
 ・コードオンデマンド
   プログラムをサーバに保存しておき、クライアントはそれをダウンロードして実行する。

HTTPメソッド

HTTPには8つしかメソッドがありません。しかもそのうち主に使うのは5つ6つです。

Java等のプログラミング言語から考えると少ないですね…
でもこのメソッド数の少なさこそがプロトコルのシンプルさを実現し、Webの成功に貢献しました。

以下にCRUDを実現する4つのメソッドをまとめました。

 1. GET
  ・指定したURIの情報を取得する。
 2. POST
  ・リソースの作成を行う。
  ・リソースへのデータの追加を行う。
 3. PUT
  ・リソースの作成を行う。
  ・リソースへのデータの追加を行う。
 4. DELETE
  ・リソースの削除

さいごに

「Webを支える技術」を読んでみて色々と書いてみました。
まだまだまとめる力を精進しなければ。