by shigemk2

当面は技術的なことしか書かない

HTTPのステートレス性

webを支える技術P80より。

HTTPはステートレスなプロトコルとして設計されている。

ステートフルなやりとり

「こんにちは」
「いらっしゃいませ。○○バーガーへようこそ」
「ハンバーガーセットをお願いします」
「サイドメニューは何になさいますか?」
「ポテトで」
「ドリンクは何になさいますか?」
「コーラで」
「+50円でドリンクをLサイズにできますがいかがですか?」
「Mでいいです」
「以上でよろしいですか」
「はい」
「かしこまりました」

ステートレスなやりとり

「こんにちは」
「いらっしゃいませ。○○バーガーへようこそ」
「ハンバーガーセットをお願いします」
「サイドメニューは何になさいますか?」
「ハンバーガーセットをポテトでお願いします」
「ドリンクは何になさいますか?」
「ハンバーガーセットをポテトとコーラでお願いします」
「+50円でドリンクをLサイズにできますがいかがですか?」
「ハンバーガーセットをポテトとコーラ(M)でお願いします」
「以上でよろしいですか」
「ハンバーガーセットをポテトとコーラ(M)でお願いします。以上」
「かしこまりました」

ステートフルは簡潔で、サーバはそれまでのリクエストを記憶している。
だが、リクエストの数が増えるに従いサーバがリクエストを覚えるのは困難になる。

ステートレスは冗長で、サーバはクライアントは毎回全てのリクエストを復唱する。
逆に言うと、サーバ側はセッション状態を覚えておく必要はなくなる。

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

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