ステートフル
statefulのsateは状態や状況を表している。fulとは~に満ちた」という意味がある。つまり状態を維持しているという意味になる。
ステートフルなプロトコルの例として「FTP」があり、ファイルを転送するための通信プロトコルである。クライアントとサーバー間でファイルのアップロードやダウンロードを行う時に使われる。
ステートレス
statelessのlessは不足や乏しいを表している。つまりステートレスの反対で状態を持たないを意味している。以前のログイン状態を持たずにその都度同じレスポンスを返す。ステートレスなプロトコルの例として「HTTP」があり、webサイトでよく見かける「http://」または「https://」から始まるURLがそれにあたる。誰がいつやっても表示されるのは同じwebサイトである。
Cookie(クッキー)
ユーザー情報を一時的に保持をする機能である。それにより快適な操作が可能となる。
例えばamazonやtwitterで一度ログインすれば、サイトを訪れるごとにIDやパスワードを入力しなくてもすんなり入ることができる。しかし学校や共有のパソコンでCookieを利用するとCookieが残っていることで、クレジットカード情報やID・パスワードの情報が共有のパソコンに残ってしまい、悪用される危険性があるので注意が必要。
リクエストとレスポンス
ページの公開と閲覧は「Webサーバー」と「クライアント(各ユーザーのこと)」間で実現されている。やりとりの流れは
1.クライアントが閲覧したいページ(HTML)の要求をする
2.Webサーバーがそれに応じたページ情報を返す(HTML)
3.クライアント側のPCでWebページを表示する。
プロトコル
Webサーバーとクライアントが通信を行うには約束ごとが必要であり、それをプロトコル(通信プロトコル)という。WebサーバとWebブラウザの間で、Web情報をやりとりするためには「HTTP」、インターネットを使って通信するときは「TCP/IP」、ファイルを受け渡しするときは「FTP」、メールを送るときは「SMTP」などそれに応じた約束事がある。
例えば人間同士でコミュニュケーションを取ろうとして、片方が日本語でもう片方は英語だとすると言語が異なるので成り立たない。お互いが日本語に統一すれば成り立つ。このように事前に約束ごとを決めておく必要がある。それをプロトコルという。
ポート番号
まずIPアドレスというものがありネットワーク上に存在する個々にコンピューターを識別するために、それぞれに異なる値を割り当てたものがある。電話番号みたいなものという説明もあり、それに従えば相手に接続できると考えてもおかしくない。しかしコンピューターの通信は電話とは少し違う。IPアドレスで特定できるのは、ネットワーク上のどのコンピューターなのかというところまである。現実世界でいうと場所まである。電話をかけて特定の方に用事があるときに「〜さんはいますか」といって呼び出すことがある。この呼び出している人(コンピューターの世界では番号)をポート番号という。
IPアドレスに加えてポート番号まで加えることで送信した情報をどのアプリケーションで処理すべきかまで指定することができる。
まとめ
読んだだけでは単語の意味が曖昧になっていたが、こうやって調べながら文字に書きだすことで頭の中が整理されたので、定期的にアウトプットをしていきたい。