HTTPレスポンスの構成
3つのパートに分けれる
HTTPステータスライン
HTTPレスポンスヘッダー
ボディ
HTTPステータスライン
⇨「HTTPリクエストの結果」が、ざっくり書かれている場所
実際のステータスライン↓
HTTP/1.1 200 OK\r\n
ステータスラインの構成.
【HTTPのバージョン】= どんなルールか.
【ステータスコード】= どうだったか.
【ステータスコードの説明】= ステータスコードの補足説明が英語で書いてる.
100番台:リクエストが受け入れられてので処理を継続 200番台:リクエストが正常に処理されたよ 300番台:リクエスト完了のための追加操作が必要 400番台:リクエストに誤りがある 500番台:サーバー側のエラー
ステータスラインの意味.
⇨HTTP/1.1っていうルールでリクエストは正常に処理されたよ
HTTPレスポンスヘッダー
⇨「HTTPステータスラインに書ききれないレスポンスの情報」が書かれている場所.
実際のヘッダー
Server: nginx\r\n Date: Tue, 11 Jul 2017 09:23:07 GMT\r\n Content-Type: text/html\r\n Transfer-Encoding: chunked\r\n Connection: keep-alive\r\n
ヘッダーの見方.
[フィールド名][内容].
↓html形式でレスポンスするなぁって意味やキャッシュをするかしないかもヘッダーに含まれている.
Content-Type: text/html\r\n
ボディ
⇨「webページ」などリクエストされた情報が入っています。
<!DOCTYPE html>\r\n <html lang="ja">\r\n <head>\r\n \t<meta http-equiv="content-type" content="text/html; charset=UTF-8" />\r\n \t<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\r\n \r\n \r\n \t<meta name="keywords" content="\350\276\236\345\205\270,IT,\347\224\250\350\252\236,\345\210\235\345\277\203\350\200\205">\r\n \t<meta name="author" content="Makoto Sasaki">\r\n \t<meta name="copyright" content="Copyright PCS">\r\n \r\n \t<meta name="application-name" content="\343\202\217\343\202\217\343\202\217IT\347\224\250\350\252\236\350\276\236\345\205\270"/>\r\n \t<link rel="stylesheet" href="css/style.css?ver=00109">\r\n \t<link rel="stylesheet" href="css/search.css?ver=00109">\r\n \t<script src="./js/jquery-1.7.2.min.js?ver=00109"></script>\r\n \t<script src="./js/common.js?ver=00109"></script>\r\n </head>\r\n <body>\r\n (中略) </body>\r\n </html>\r\n \r\n
まとめ
- HTTPリクエストとHTTPレスポンスどちらも3部構成でフィールドと内容で記載されている