LoginSignup
0
0

More than 3 years have passed since last update.

【読書ログ】「Webを支える技術」

Posted at

本について

タイトル「Webを支える技術」
著者「山本陽平」
2010年初版第1刷発行
Amazonのリンク

内容

Webの発明

Tim Barners-Lee (CERN) (1990)

RESTの提唱

Roy Fielding (当時大学院生、Webが成功した理由をアーキテクチャの観点から研究)(2000)

RESTとは

6つのアーキテクチャスタイルの集合体

  • クライアント/サーバ
  • ステートレスサーバ
  • キャッシュ
  • 統一インターフェース
    • 特定のメソッドを用いて通信できる(GET POST PUT DELETEなど)
  • 階層化システム
  • コードオンデマンド
    • プログラム(Javascriptなど)をクライアントで実行

URIで使用できる文字

ASCII文字
- , ~ : @ ! $ & ' ( )
(記号のみ抜粋)

リクエストヘッダ

Accept-Langageヘッダでクライアントが所望する言語を指定する

Accept-Language: ja,en_us;q=0.7,en;q=0.3

冪等性と安全性

冪等性とは「ある操作を何回行っても結果が同じであること」
安全性とは「操作対象のリソースの状態を変化させないこと」

GET 冪等 安全
PUT DELETE 冪等 安全でない
POST 冪等でない 安全でない

注意点

PUTでリソースの内容の想定的な差分を送信すると、PUTは冪等ではなくなる
PUT +50 みたいな変更
PUTでは、そのリソースのなるべく完全な表現を送信するように

よく使われるステータスコード

9つだけ覚えろ

200 OK
201 Created
301 Moved Permanently
303 See other
400 Bad Request
401 Unauthorixed
404 Not Found
500 Internal Server Error

(記憶が曖昧だったもの網掛け)

HTTPヘッダ

MIMEメディアタイプ

Content-Type: application/jsonみたいなやつ

コンテントネゴシエーション

メディアタイプや文字エンコーディングを、サーバーが一方的に決定するだけだはなく、クライアントと交渉して決めることができる手法のこと
Accept: text/html,application/xhtml+xml みたいなやつ

0
0
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
0
0