ふみぽん's diary

技術的な備忘録が主のブログ

HTTP リクエスト・メッセージ作成までの流れ

HTTP リクエスト・メッセージ作成についての備忘録


HTTP リクエスト・メッセージを作成する

1. クライアントが入力したURLを解読する

ブラウザの最初の仕事は、クライアントがブラウザで入力したURLを分解して解読すること。

http://user:password@www.XXXcom.com:80/dir/xfile.html

↓↓↓分解↓↓↓

「http:」 => データにアクセスするための仕組み。つまりプロトコル名。

「//」 => この後に続く文字列がサーバの名前であることを表す。

「www.XXXcom.com」 => webサーバ名

「/dir/xfile.html」 => データ群(ファイル)のパス名


下記の3つは省略することが可能。
「user」 => ユーザー名 
「password」 =>  パスワード
「80」 => ポート番号

URLの末尾が「/」で終わっていたら、ファイル名が省略されたことを表し、
あらかじめ設定されているファイルにアクセスする処理となる。
あらかじめ設定しておくファイル名としては、index.html default.htmが大半。

ここまでで、使うプロトコルアクセスするwebサーバサーバ内のデータ群(ファイル)がわかる。

2. HTTPのリクエスト・メッセージをつくる

リクエスト・メッセージはフォーマットが決まっている。

  • 1行目 リクエスト・ライン

    • メソッド名とアクセスするファイル(URI)とHTTPバージョンが書かれる。
    • 1つのリクエスト・メッセージには、URIが1つしか書けない。

メソッドに関して

1.GETメソッド

  • データを読み出す役割。
  • GETコマンドの後にファイル名やプログラムを示すURIを付加する。
  • URIの後にフォームページに入力したデータを付加してサーバに送信することができる。

2.POSTメソッド

  • サーバにデータを送信する役割。
  • フォームページに入力した値をサーバに送信するときに使う。

  • 2行目〜空白行手前 リクエスト・ヘッダー

    • 1行に1つのヘッダー・フィールドを書く。
    • 付加的な細かい情報
  • 空白行後〜最後 リクエスト・ボディ

    • 送信するデータを書く。
    • GETメソッドの場合は、メソッドとURIだけでwebサーバーが何をすべきか判断できるので、
      メッセージボディに書く送信データは何もない。
    • POSTのの場合にはフォームに入力したデータなどをメッセージ・ボディにかく。