プロになるためのWeb技術入門を読了しました
初めに
1週間ほどかけてプロになるためのWeb技術入門を読みました。
まだまだ完全に理解したとは言い難いですが、少しでも理解を深めるために気になった用語をまとめてみようと思います!
ステートフル(stateful)
ステートフルを一言で言えば、「以前の状態を保持していること」
です。
サーバがクライアントの状態を保存しており、前回までのやり取りに応じてレスポンスを返してくれるためやり取りがスムーズ
というメリットがあります。しかしクライアントの状態をその都度把握する必要があるため、クライアントの数と比例して負荷も増えるというデメリットがあります。
ステートフルなプロトコル
ステートレス(stateless)
状態を保持するステートフルに対し、「状態を保持しないこと」
を指します。サーバが以前の状態を保持する必要がないためシンプルで実装も簡単
である反面、処理に必要なデータを全て送信しなければならないのでデータ量が多くなる
というデメリットがあります。
ステートレスなプロトコル
- HTTP
- DNS
- IP
そもそもプロトコルって?
コンピュータ同士で通信をするための約束事
のこと。
クライアントとサーバについて
クライアントとサーバとはそれぞれコンピュータ上で動作するソフトウェア
であり、サービスを提供する側をサーバ、サービスを利用する側のことをクライアントと言います。ちなみにSafariやGoogle Chromeなどのブラウザ
はWebクライアントにあたります。
リクエストとレスポンス
クライアントからサーバに対して要求することがリクエスト
にあたり、その要求に対する応答がレスポンス
になります。
Cookie
ステートレスなHTTPで状態を保持できるようにするための拡張機能
。
クライアントが最初にアクセスした際に、サーバがHTTPレスポンスのヘッダを利用して情報を送ります。そしてクライアントが同じサーバにアクセスする度に受け取ったCookieをサーバへ送ることでユーザの識別が可能となります。
IPアドレス
簡単に言えばインターネット上の住所のようなもので、インターネットを利用する全ての機器に割り当てられ、通信相手のコンピュータを識別する
のに使われます。
DNS
人間にとってわかりにくい数字の羅列であるIPアドレスとそれを文字列にしたドメイン名を対応づけて変換してくれる仕組みです。
TCP/IP
TCPとIPの2つを組み合わせたプロトコル。クライアントから受け取ったHTTPリクエスト等の情報をパケットに分割して送信し、再度組み立ててからサーバへ送る役割を持っています。
ポート番号
IPアドレスによってコンピュータを識別した後、該当のコンピュータのどのアプリケーションにパケットを渡すかを識別してくれるものです。
IPアドレスは番地まで、ポート番号は部屋番号という例えが一番わかりやすいなと感じました。
また、代表的なプロトコルで使用されるポート番号は「ウェル・ノウン・ポート」
と呼ばれており、HTTPは80番ポートなどあらかじめ決められています。