ステートフル(stateful)
サーバーが現在のセッション(関連する処理を行う一連の流れ)状況を保ったままで次の処理を行う状態のことを指す。
ショッピングサイトでは、ログイン状態を保ったままで他のセッション(商品をカゴに入れたり、決済)が行えるようにしている。
例 ) ログインした状態で電子書籍を購入するときとか。
ステートレス(stateless)
サーバーが以前のセッション状況を保たずに次の処理を行う状態を指す。
サーバーにかかる負担を軽減させるために、動画のストリーミング再生や音声通話など、ステートフルである必要のない場面では、ステートレスな状態になるようプログラムされている。
クッキー(Cookie)
WebサーバーとWebブラウザの間にやり取りされた情報を保存しているデータのこと
例) 過去に検索した漫画に関する広告が前触れなく表示される
ポート番号
コンピューター同士が通信するために使う通信用の「部屋の番号」のようなものです。
例えば似たようなものに、IPアドレスがあります。IPアドレスはインターネットに接続する全てのコンピュータ1つ1つに割り当てられており、コンピューターを一意に特定することができるので、インターネット上の住所に例えられることがあります。
なのでIPアドレスとポート番号の違いは住所なのか、部屋の番号なのか、となりますが・・それだけだとまだまだイメージをしにくいです。(わたしが。)
1つのコンピューターを病院にみたてます。IPアドレスが病院の建物そのもので、ポート番号を病院内の診療科(お部屋)だと想像してください。病院には内科、外科、皮膚科、泌尿器科、検査科、放射線科など色んな科(お部屋)があります。
そして当たり前ですが、内科の診療室では内科医が患者を診ます。外科医が診るわけではありません。X線やMRI検査など放射線を扱うお部屋も、病院内のすべてのお部屋にあるわけではなく、放射線科にあります。手術も、外来や病棟で行うのではなく、手術室で行います。
病院と同じで、1つのコンピューター内には、「メールの送受信をする」プログラムや「WEBサーバと通信をする」プログラム、「ファイルを編集する」プログラムなど色んなプログラムが入っています。
「メールの送受信をする」プログラムが「ファイルを編集」したりはしません。つまり、ポート番号はプログラムを識別する番号だといえます。また、各々が適当に番号を付けていると不都合なので、ポート番号は世界共通であらかじめ用途が決められています。
正確にはポート番号は0番~65535番まで存在し、かつポート番号ごとに用途が定められているのは0番から1023番のウェルノウン(Well Known)ポート番号になります。
その他、リクエスト・レスポンス・プロトコルなどの用語は、以前の記事で紹介した動画がイメージしやすいです♪