はじめに
Web技術で利用されている通信について、備忘を兼ねて簡単にまとめました。
- リクエスト/レスポンス
- ステートフル/ステートレス
- クッキー
- プロトコル
- ポート番号
リクエスト/レスポンス
リクエスト
クライアントからサーバに対する『要求』で、HTTP通信においては以下のような処理がある。
- URLにアクセスする
- 画面内のリンクをクリックする
- 入力フォームから送信する
レスポンス
サーバからクライアントに対する『応答』で、HTTP通信においては以下のような処理がある。
- リクエストに対するHTMLファイルや画像を返す
- レスポンスは5つのクラスに分類されている
ステートフル/ステートレス
ステートとは「状態」を意味し、ステートフルとステートレスの違いは状態を保持するかしないか。
ステートフル
- プロトコル:FTP、SMTPなど
- ステートフルは状態を保持し、それを踏まえて次のリクエストを実行する
- 状態によってリクエストに対するレスポンスが変化する
- 状態を保持した通信となるので、ステートレスに比べて負荷が高くなる
ステートレス
- プロトコル:HTTPなど
- ステートレスは状態を保持しない
- リクエストに対するレスポンスが変化しない
- 状態を保持しない通信となるので、ステートフルに比べて負荷が低い
クッキー
Webサーバがクライアント(ブラウザ)に預けるファイルのことで、クライアントからWebサーバへ接続すると、Webサーバがクライアント(ブラウザ)に専用のクッキーファイルを作成する。
2回目以降の接続では、Webサーバがクッキーファイルを呼び出すことで、ユーザに適合したコンテンツ表示等を行うことができる。
クッキーには、多くの場合は以下の情報が格納される。
- ID・ユーザ名などの接続情報
- 会員情報
- 一時的に保管する買い物かごの情報
- 訪問回数等の利用環境の情報
- etc
プロトコルについて
- 異なるコンピュータが互いに通信を行うために取り決められた約束事
- 人との会話に例えると、日本語x日本語の会話は成立するが、日本語x英語の会話は成立しない
- プロトコルを使用することでコンピュータが互いに通信でき、現在の主流プロトコルは「TCP/IP」である
ポート番号
ポート番号は通信を受け取る待ち受け場所であり、ビルで例えるなら玄関口・搬入口のようなもの。
- ポート番号は0~65535までの数字で表現される
- 0~1023のポート番号はウェルノウンポートと呼ばれ、著名なサービスやプロトコルが利用するために予約されている(HTTPは80番、HTTPSは443番など)
- 同じポートで複数アプリケーションを利用することはできない
参考資料
・HTTP レスポンスステータスコード
・プロになるためのWeb技術入門(技術評論社)