第1章 イントロダクション / 第4回 模擬試験
Webアプリの通信で使われるHTTPプロトコルに関する次の記述のうち、正しいものはどれか。
HTTPは「クライアントからの要求に対してサーバーが応答する」という単純なやり取りを規定するプロトコルである。
正解
HTTPはサーバー同士がデータをやり取りするための音声通話規格である。
HTTP通信では、サーバー側から一方的にクライアントへ通知を送ることしかできない。
HTTPはデータベース専用の通信プロトコルである。
解説
HTTP(HyperText Transfer Protocol)は、「クライアントがリクエスト(要求)を送り、サーバーがレスポンス(応答)を返す」という単純な約束事(プロトコル)です。Webブラウザ(クライアント)がURLにアクセスすると、Webサーバーに対してHTTPリクエストが送られ、サーバーがHTMLなどのHTTPレスポンスを返す、という流れがWebアプリの基本動作になります。
他の選択肢が誤りである理由は次の通りです。
・HTTPは音声通話規格ではなく、テキストベースのデータ通信プロトコルです(音声通話にはSIPやRTPなど別の規格が使われます)。
・HTTP通信は基本的に「クライアントからのリクエストがあって初めてサーバーが応答する」仕組みで、逆に「サーバーから一方的にクライアントへ通知する」通信方式ではありません(サーバーからのプッシュ通知が必要な場合はWebSocketやServer-Sent Eventsなど別の技術を組み合わせます)。
・HTTPはデータベース専用ではなく、Webページ・API・画像など様々な種類のリソースをやり取りするための汎用プロトコルです。
例:
```
GET /index.php HTTP/1.1
Host: example.com
HTTP/1.1 200 OK
Content-Type: text/html
```
(参照: 独習PHP 第4版 第1章 イントロダクション 1.1.1節 クライアント/サーバー間の通信 p.4〜5)