ごま日記

プログラミング初学者です。

プロになるためのWeb技術入門を読了しました

初めに

1週間ほどかけてプロになるためのWeb技術入門を読みました。

まだまだ完全に理解したとは言い難いですが、少しでも理解を深めるために気になった用語をまとめてみようと思います!

ステートフル(stateful)

ステートフルを一言で言えば、「以前の状態を保持していること」です。

サーバがクライアントの状態を保存しており、前回までのやり取りに応じてレスポンスを返してくれるためやり取りがスムーズというメリットがあります。しかしクライアントの状態をその都度把握する必要があるため、クライアントの数と比例して負荷も増えるというデメリットがあります。

ステートフルなプロトコル

ステートレス(stateless)

状態を保持するステートフルに対し、「状態を保持しないこと」を指します。サーバが以前の状態を保持する必要がないためシンプルで実装も簡単である反面、処理に必要なデータを全て送信しなければならないのでデータ量が多くなるというデメリットがあります。

ステートレスなプロトコル
そもそもプロトコルって?

コンピュータ同士で通信をするための約束事のこと。

クライアントとサーバについて

クライアントとサーバとはそれぞれコンピュータ上で動作するソフトウェアであり、サービスを提供する側をサーバ、サービスを利用する側のことをクライアントと言います。ちなみにSafariGoogle ChromeなどのブラウザはWebクライアントにあたります。

リクエストとレスポンス

クライアントからサーバに対して要求することがリクエストにあたり、その要求に対する応答がレスポンスになります。

ステートレスなHTTPで状態を保持できるようにするための拡張機能

クライアントが最初にアクセスした際に、サーバがHTTPレスポンスのヘッダを利用して情報を送ります。そしてクライアントが同じサーバにアクセスする度に受け取ったCookieをサーバへ送ることでユーザの識別が可能となります。

IPアドレス

簡単に言えばインターネット上の住所のようなもので、インターネットを利用する全ての機器に割り当てられ、通信相手のコンピュータを識別するのに使われます。

DNS

人間にとってわかりにくい数字の羅列であるIPアドレスとそれを文字列にしたドメインを対応づけて変換してくれる仕組みです。

TCP/IP

TCPとIPの2つを組み合わせたプロトコル。クライアントから受け取ったHTTPリクエスト等の情報をパケットに分割して送信し、再度組み立ててからサーバへ送る役割を持っています。

ポート番号

IPアドレスによってコンピュータを識別した後、該当のコンピュータのどのアプリケーションにパケットを渡すかを識別してくれるものです。 IPアドレス番地まで、ポート番号は部屋番号という例えが一番わかりやすいなと感じました。 また、代表的なプロトコルで使用されるポート番号は「ウェル・ノウン・ポート」と呼ばれており、HTTPは80番ポートなどあらかじめ決められています。

参考文献