ステートフル
- サーバがクライアントのセッション状態を保持している
- これまでの情報を保持した状態で、やり取りできる状態
ステートレス
- ステートフルの対義
- サーバがクライアントのセッション状態を保持していない
- 手早くたくさんの情報を処理できる
ステートフルとステートレスの比較は、美容室の例がわかりやすかった
1カット1000円の美容室では、どんなお客さんがいつ来店したのかを記録していない。
そのため、毎回どんな髪型にするか聞かれる
これがステートレス
1カット10000円の美容室では、お客さんごとに来店日やどんな髪型にしたのかを記録している。
この前と同じ髪型で といえば、それが伝わる。
前回の情報を踏まえた上で、処理してくれるから
これがステートフル
リクエスト
サーバに対して、情報を要求すること
レスポンス
リクエストに対して返ってくる情報のこと
クッキー(Cookie)
ステートレスであるHTTPの問題を解決するために、開発された
webサーバからレスポンスが返ってくるとき、Cookieが含まれていることがあります。
このCookieを含むリクエストを送ることで、webサーバ側で、リクエストの相手を識別することができる
Cookieには、ユーザIDやパスワードを入れることが一般的
クライアント側で保存する(ブラウザなど)
プロトコル
サーバとクライアントが通信を行う際のルール
モールス信号がわからない人に、モールス信号の光を見せても、ただ光が点滅しているだけにしか見えない
モールス信号が分かる人には、この光の点滅が、文字に変換されて伝わる
これは、光の点滅がどの文字であるかというプロトコルが、お互いの中にあるから成り立つものである
同様にして、インターネット通信の間でもプロトコルが定められている
webの場合は、HTTPというプロトコルに従って、通信している
ポート番号
リクエストを受け取るアプリケーションごとの番号のこと
リクエストとして受け取った情報(パケット)を、サーバ内のどんなアプリケーションに渡せば良いのかを指定するためのもの
受け取った情報のプロトコルやどんなアプリケーションが処理するべきかを、サーバは判断することができない
サーバ内でどのプロトコルのリクエストが、どの番号のアプリケーションで処理するかを決めておく
この番号のことを、ポート番号と呼ぶ
サーバは、リクエストのプロトコルによって、どのポート番号に情報を渡すのか判断する
どのプロトコルがどのポート番号になるのかは、おおよそ決まっている
HTTPリクエストの場合は、80番ポートになることが一般的である
参考記事
https://amzn.asia/d/3sIELUt
https://qiita.com/s_ryota/items/98726b246cbf57a2f143