第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)