WEBブラウザでサイトにアクセスする場合、URL欄に
"http://fizz.buzz/"
と入力すると、サーバーとブラウザ間では、GETの通信が発生する。
下記のようなページ遷移もGET通信で行われる。
リクエストに対してサーバーからの返答を「レスポンス」と呼ぶ。
URLを指定した場合のリクエストは、
リクエストは3つに分けられる。最初の「GET」が命令、真ん中の「/」は
ドキュメントルートのことを指す。
もし"http://fizz.buzz/index.html"と入力すると、リクエストは
最後の"HTTP/1.0"は、クライアント側が使用しているHTTPのバージョンを示す。
ブラウザではなくTelnet端末やSSH端末でWEBサーバーに接続して、
"GET / HTTP/1.0"と入力して送信するとドキュメントルートが存在すれば
"HTTP/1.0 200 OK"のようなレスポンスが返る。
"/"を指定するだけでindex.htmlが返るのは、WEBサーバー側の仕様。
WEBサーバーには、多くでApatchが使われている。
一般的にApatchの初期設定では、"/"がリクエストされた際、ブラウザが
最初にアクセスするルートディレクトリに"index.html"や"index.php"があれば、
それをクライアントに返す。
この設定は、サーバー管理者側で自由に変更できる。
例えば…
つまり厳密にいうなら、HTTPではドメイン名だけでなく、
ファイル名まで明記することが望ましい。
GETは文字通り「取得のため」の命令。
WEBサーバーは、クライアントブラウザから要求されたファイルが存在する場合、
"HTTP/1.0 200 OK"のレスポンスと、リクエストされたタイムスタンプ、
サーバープログラム名、要求されたファイルのサイズ、クッキー(cookie)などを含む
HTTPヘッダーをレスポンスし、続いてHTMLの内容を送信。
HTTPヘッダーに含まれる情報は決まっておらず、サーバーごとに異なる。
HTMLヘッダーの扱いに似ていて、ブラウザ上には表示されない。
またHTML内で、<img>タグを使って画像などの別ファイルを呼び出している場合、
ブラウザはその部分のHTMLを読み込む度に
"GET /img/hoge.jpg HTTP/1.0"
のような形で必要な分だけGET命令を送信する。
単純にWEBサイトを閲覧する場合、ほぼ100%がGET命令のみで成り立っている。
"http://fizz.buzz/"
と入力すると、サーバーとブラウザ間では、GETの通信が発生する。
下記のようなページ遷移もGET通信で行われる。
- リンクのクリック
- ブックマークから移動
リクエストに対してサーバーからの返答を「レスポンス」と呼ぶ。
URLを指定した場合のリクエストは、
のようになる。
"GET / HTTP/1.0"
リクエストは3つに分けられる。最初の「GET」が命令、真ん中の「/」は
ドキュメントルートのことを指す。
もし"http://fizz.buzz/index.html"と入力すると、リクエストは
となる。ドメイン部分を除いたURLがリクエストとしてサーバーに送られる。
"GET /index.html HTTP/1.0"
最後の"HTTP/1.0"は、クライアント側が使用しているHTTPのバージョンを示す。
ブラウザではなくTelnet端末やSSH端末でWEBサーバーに接続して、
"GET / HTTP/1.0"と入力して送信するとドキュメントルートが存在すれば
"HTTP/1.0 200 OK"のようなレスポンスが返る。
"/"を指定するだけでindex.htmlが返るのは、WEBサーバー側の仕様。
WEBサーバーには、多くでApatchが使われている。
一般的にApatchの初期設定では、"/"がリクエストされた際、ブラウザが
最初にアクセスするルートディレクトリに"index.html"や"index.php"があれば、
それをクライアントに返す。
この設定は、サーバー管理者側で自由に変更できる。
例えば…
- ファイル名まで指定されていない時にはエラーを返す
- ディレクトリにあるファイルの一覧を返す
つまり厳密にいうなら、HTTPではドメイン名だけでなく、
ファイル名まで明記することが望ましい。
GETは文字通り「取得のため」の命令。
WEBサーバーは、クライアントブラウザから要求されたファイルが存在する場合、
"HTTP/1.0 200 OK"のレスポンスと、リクエストされたタイムスタンプ、
サーバープログラム名、要求されたファイルのサイズ、クッキー(cookie)などを含む
HTTPヘッダーをレスポンスし、続いてHTMLの内容を送信。
HTTPヘッダーに含まれる情報は決まっておらず、サーバーごとに異なる。
HTMLヘッダーの扱いに似ていて、ブラウザ上には表示されない。
またHTML内で、<img>タグを使って画像などの別ファイルを呼び出している場合、
ブラウザはその部分のHTMLを読み込む度に
"GET /img/hoge.jpg HTTP/1.0"
のような形で必要な分だけGET命令を送信する。
単純にWEBサイトを閲覧する場合、ほぼ100%がGET命令のみで成り立っている。