読書会でまとめたものになります

Chapter3 HTTPでやりとりする仕組み(1〜4)

・HTTPがどのようにしてWebサイトの閲覧を実現しているのか

・HTTPだけでは実現できない、現在のWebサイトの仕組みを支える技術
 
01 HTTPメッセージ〜HTTPでやりとりするデータの構造〜
 
HTTP(HyperText Transfer Protocol)……HTMLなどのテキストファイルや、画像などのコンテンツをやりとりするときに使われるプロトコル
 
●HTTPメッセージによる「要求」と「応答」
HTTPではほかのクライアント/サーバーシステムと同様に、クライアントであるWebサーバーがその要求に対して応答を返すといった単純なやりとりを繰り返すことで、Webサイトの閲覧を可能としている
 
HTTPメッセージ……HTTPにおいて、WebブラウザとWebサーバーでやりとりする際に利用されるデータ形式Webブラウザがどういったデータを欲しいのかという要求をWebサーバーに伝えることができ、またWebサーバーもHTTPメッセージを利用してWebブラウザの要求に対する応答ができる
 
●2種類のHTTPメッセージ
HTTPリクエスト……Webブラウザからの要求
HTTPレスポンス……Webサーバーからの応答
 
02 HTTPリクエスト/HTTPレスポンス〜リクエストとレスポンスの違い〜
 
●HTTPリクエス
HTTPリクエストは、「リクエスト行」「メッセージヘッダー」「メッセージボディ」の3つに分けることができる
 
リクエスト行……Webサーバーに対してどのような処理をしてほしいかというリクエストの要求内容を記述している。「情報を取得したい」「情報を送信したい」といった情報をWebサーバーへ伝える
 
メッセージヘッダー……Webブラウザの種類やバージョン、対応するデータ形式など付加的な情報を記述
 
メッセージボディ……Webページ内のフォーム欄などに入力したテキストデータなどをWebサーバーに送る
 
●HTTPレスポンス
WebブラウザからHTTPリクエストを受け取ったWebサーバーは、リクエストを処理して、その結果をHTTPレスポンスとして応答する
 
HTTPレスポンスは、「ステータス行」「メッセージヘッダー」「メッセージボディ」の3つに分けることができる
 
ステータス行……Webブラウザから受け取ったHTTPリクエストに対してWebサーバー内での処理の結果を伝える
 
メッセージヘッダー……Webサーバーの種類や、送信するデータの形式などの付加的な情報を記述
 
メッセージボディ……WebブラウザからリクエストされたHTMLなどのデータが格納される
 
HTMLのデータを受け取ったWebブラウザは内容を解析し、受け取ったHTML内に画像などのリンクが存在する場合は、再度WebサーバーへHTTPリクエストを送信する
 
HTTPリクエストとHTTPレスポンスのやりとりを繰り返し行うことで、Webサイトを閲覧できる
 
03 HTTPメソッド〜Webサーバーへの要求の種類〜
HTTPメソッド……HTTPリクエスト内に含まれていて、「GET」「POST」など目的別に複数定義されている。HTTPリクエストを用いてWebサーバーに具体的な要求内容を伝えている
●「GET」と「POST」の違い
データの送信方法が異なる
GETメソッド……URLの後ろに送りたいデータを付与して送る
POSTメソッド……HTTPリクエスト内のメッセージボディ内にデータを含めて送る
 
 
 
 
04 ステータスコード〜応答結果の種類を表す数字〜
ステータスコード……HTTPレスポンス内に含まれる、HTTPリクエストに対するWebサーバー内での処理結果。3桁の数字からなる
 
5つに分類される
・100番台……HTTPリクエストを処理中であることを通知
・200番台……HTTPリクエストに対して、正常に処理した場合に通知
・300番台……HTTPリクエストに対して、転送処理などのWebブラウザ側で追加の処理が必要であることを通知
・400番台……クライアント(Webブラウザ)のエラーであることを通知
・500番台……Webサーバーのエラーであることを通知
 
担当:やし