『プロになるためのWeb技術入門』――なぜ,あなたはWebシステムを開発できないのか
この本から学んだことについて自分の言葉でまとめてみる。
尚、わかりにくい場合は具体例をつけてわかりやすく説明する。
1. ステートフル
コンピュータやアプリが前のやりとりをした記憶を覚えている状態のこと。
ステートフルはサーバー中心の仕組み
具体例:オンラインショッピングサイトの「カート」機能
説明:たとえば、Amazonで商品をカートに入れると、そのカートの中身を次にサイトにアクセスしたときも覚えてくれます。これがステートフルなシステムの例で、サーバーがあなたの選んだ商品を覚えていて、次回もその状態を維持します。このように「カートの中身」という状態(ステート)をサーバーが保持しているため、「ステートフル」と呼ばれます。
2. ステートレス
コンピュータやアプリが前のやりとりをした記憶を覚えていないこと。毎回データがリセットされた状態からスタートする。
具体例:Google検索
説明:Googleで何かを検索するたびに、前に何を検索したか覚えていないので、毎回新しいリクエストとして扱われます。これは「ステートレス」なシステムの例で、Googleのサーバーは1つ1つの検索リクエストを独立したものとして処理します。前のリクエストを覚えていないため、過去の検索履歴はその場では使われません。
3. リクエスト
「リクエスト」は、「これをして!」とお願いすること。たとえば、インターネットで「昨日のサッカーの情報を教えて」って頼むのがリクエスト。
4. レスポンス
「レスポンス」は、リクエストの返事だよ。「昨日のサッカーの情報を教えて」とリクエストすると、サーバーが「これが昨日のサッカーの情報だよ!」と返してくれる。
5. クッキー
「クッキー」は、インターネット上であらゆる情報を一時的に覚えておくためのデータのこと。クッキーはブラウザ(ユーザー側)中心の仕組み
具体例:ウェブサイトのログイン状態
説明:たとえば、TwitterやFacebookにログインすると、次回アクセスしたときもログイン状態が維持されていることがあります。これは「クッキー」によって、あなたのログイン情報が一時的に保存されているからです。クッキーのおかげで、毎回ログインし直さなくても、すぐに利用できるようになります。
6. プロトコル
コンピュータ同士がやりとりするための「ルール」だよ。例えば、手紙を書くときにも「住所を書いてから名前を書く」といった決まりがある。それと同じで、コンピュータもデータをやりとりするときに、どういう順番やルールで送るかが決まっている。
具体例:ウェブサイト閲覧時の「HTTP」や「HTTPS」
説明:たとえば、ウェブサイトにアクセスする際に、ブラウザのURL欄に「http://」や「https://」と表示されることがあります。これが「HTTP」や「HTTPS」というプロトコルで、サーバーとあなたのブラウザがどうやってやりとりするかのルールを決めています。「HTTPS」は特にデータを暗号化して安全に通信するルールです。
7. ポート番号
「ポート番号」は、コンピュータがインターネットでデータをやりとりするときに使う「入口」や「部屋番号」のようなものだよ。1つのコンピュータにはいろんなプログラムが動いているけど、それぞれがどこにデータを送ればいいかをポート番号で教えている。
具体例:ウェブサーバーのポート番号「80」や「443」
説明:ウェブサイトにアクセスするとき、通常、HTTP通信はポート番号「80」、HTTPS通信はポート番号「443」を使います。たとえば、ウェブブラウザがサーバーにリクエストを送るとき、データはポート番号「80」や「443」を通じてサーバーに届きます。ポート番号によって、どのサービスにリクエストを送るかがわかるようになっています。