📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 184行目: | 184行目: | ||
==== HTTPレスポンスの構成 ==== | ==== HTTPレスポンスの構成 ==== | ||
HTTPレスポンスは4つの主要な部分から構成されており、各部分が明確な役割を持つ。<br> | |||
<br> | |||
特にヘッダフィールドは、クライアントがレスポンスを適切に処理するための重要な情報を提供する。<br> | |||
<br> | |||
# HTTPレスポンスの例 | |||
HTTP/1.1 200 OK # ステータス行 | |||
Date: Thu, 14 Nov 2024 12:00:00 GMT # ヘッダフィールド | |||
Server: Apache/2.4.41 (Unix) # ヘッダフィールド | |||
Content-Type: text/html; charset=UTF-8 # ヘッダフィールド | |||
Content-Length: 138 # ヘッダフィールド | |||
# 空行 | |||
<nowiki><!DOCTYPE html> # ボディ | |||
<html> | |||
<head> | |||
<title>Example Page</title> | |||
</head> | |||
<body> | |||
<h1>Hello, World!</h1> | |||
</body> | |||
</html></nowiki> | |||
<br> | <br> | ||
[[ファイル:HTTP Response 1.png|中央]] | [[ファイル:HTTP Response 1.png|中央]] | ||
<center>図. HTTPレスポンス</center> | <center>図. HTTPレスポンス</center> | ||
<br> | <br> | ||
===== ステータス行 ===== | |||
* HTTPプロトコルのバージョン | |||
* ステータスコード (HTTPリクエストが成功の可否、および、その理由が記載) | |||
* ステータスメッセージ、ステータスコードの非正規の短い説明 | |||
<br> | |||
下表に、主なHTTPレスポンスのステータスコードの一覧を示す。<br> | |||
* 1xx | * 1xx | ||
*: 情報 | *: 情報 | ||
| 208行目: | 228行目: | ||
<center> | <center> | ||
{| class="wikitable" | style="background-color:#fefefe;" | {| class="wikitable" | style="background-color:#fefefe;" | ||
|+ | |+ HTTPレスポンスのステータスコード | ||
|- | |- | ||
! style="background-color:#66CCFF; width="30%";" | ステータスコード | ! style="background-color:#66CCFF; width="30%";" | ステータスコード | ||
| 236行目: | 256行目: | ||
|} | |} | ||
</center> | </center> | ||
<br> | |||
===== ヘッダフィールド ===== | |||
レスポンスに関する各種メタ情報がある。<br> | |||
<br> | |||
* HTTPリクエストと同様のHTTPヘッダ | |||
* オプションとして、取得したリソースを含むボディ | |||
<br> | |||
# 例 | |||
Date: Thu, 14 Nov 2024 12:00:00 GMT | |||
Server: Apache/2.4.41 (Unix) | |||
Content-Type: text/html; charset=UTF-8 | |||
Content-Length: 138 | |||
Cache-Control: no-cache | |||
<br> | |||
主要なヘッダフィールドの役割を以下に示す。<br> | |||
* Content-Type | |||
*: メッセージボディのデータ形式を指定 | |||
* Content-Length | |||
*: メッセージボディのサイズ (バイト) | |||
* Cache-Control | |||
*: キャッシュの動作を制御 | |||
* Set-Cookie | |||
*: クライアントにCookieを設定 | |||
* Location | |||
*: リダイレクト先のURLを指定 (3xxステータスで使用) | |||
<br> | |||
===== 空行 ===== | |||
単純な改行であるが、ヘッダフィールドとメッセージボディを区切る必須要素である。<br> | |||
<br> | |||
===== メッセージボディ ===== | |||
* レスポンスの実際のコンテンツ (HTMLファイルの内容、JSON、画像データ等) | |||
* Content-Typeヘッダで形式を指定する。 | |||
<br><br> | <br><br> | ||