HTTP
更新日:
用語解説
HTTP(Hypertext Transfer Protocol)は、クライアントが対象リソースへの要求を送り、サーバが状態コード、ヘッダ、内容を含む応答を返す、ステートレスなアプリケーション層プロトコルです。Web APIや各種コンテンツ転送にも使われます。
■ 試験で押さえるポイント
要求はGET、POST、PUT、DELETEなどのメソッド、対象URI、ヘッダ、必要に応じ本文からなり、応答は2xx成功、3xx転送、4xxクライアントエラー、5xxサーバエラーなどを返します。
ステートレスとは各要求の意味を独立に解釈できることです。ログイン状態などを禁止する意味ではなく、Cookieやトークンとサーバ側セションで要求間の状態を補います。
GETは安全な取得、PUTやDELETEは同じ要求を複数回行っても意図する最終状態が同じとなる冪等メソッドとして定義されます。POSTは一般に冪等とは限りません。
HTTP/1.1とHTTP/2は通常TCP上、HTTP/3はQUIC上で動作します。HTTP自体は暗号化を保証せず、TLSで保護するhttpsを利用します。
■ 選択肢での判断ポイント
要求と応答、メソッド、状態コード、ステートレスを対応付けます。ステートレス=TCP接続を毎回必ず切る、又はCookieを使えないという説明は誤りです。
例: GET /items/10を送り、存在すれば200と商品表現、なければ404を受け取ります。同じTCP接続を再利用しても、HTTP要求自体の意味はそれぞれ独立です。