はじめに
今回はURLとHTTPプロトコルについてまとめます。
URLはwebサイトを表示するためのあれ、HTTPはURLの先頭にくっ付いているあれ、、、程度の認識しかありませんでした。
下記の書籍で学習した内容をアウトプットしていきます。
<参考書籍・参考サイト>
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識
URLとは
URLの構成
URLとはUniform Resource Locatorの略で、ドメイン名やプロトコル、ディレクトリ名などが書かれているネットワーク上のデータを指し示すための統一的な指標です。
URLはhttp:で始まるものという認識が強いですが、http:だけでなく、ftp:やfile:、mailto:から始まるものもあります。
それには理由があって、ブラウザにはwebサーバーにアクセスするためのクライアントとしての機能の他に、ファイルのアップロード・ダウンロードをするFTPのクライアント機能や、メールのクライアント機能なども持っています。
それら様々な機能の中で、どれを使ってデータにアクセスすれば良いかの判断材料が必要になります。
そこで、webサーバーへアクセスする時は、http:、FTPサーバーならftp:という具合に、様々なURLが用意されています。
URLの文頭には必ず、http:やftp:などのプロトコルが記載されます。その後の文字列はプロトコルによって書き方が異なります。
例えばhttp:であれば、http://ドメイン名.ファイルのパス名ですが、mailto:ならmailto://メールアドレスといった具合になります。
URLは省略できる
URLは省略することができます。
例えばhttpプロトコルのURLの時、webサイトのドメイン名の後に、ファイルのパス名を書きますが、これは省略できます。
URLの末尾が/で終わっているものは、本当は後ろに文字列があるけど、/で省略して終わらせているものです。
例)http://www.testooue.com/
しかし、ファイル名を書かなければ、コンピュータがどのファイルにアクセスして良いか分かりません。
そこで、ファイル名を省略したときのために、あらかじめサーバー側にファイル名を設定しておきます。
設定はサーバーによって異なりますが、大半がindex.html、default.htmというファイル名を設定しておくようになっています。
設定しておくと、省略されていても設定しておいたファイルにアクセスするようになります。
HTTPプロトコル
HTTPプロトコルとは
HTTPプロトコルはクライアントがサーバーとやりとりするための、メッセージの内容や手順を定めたものです。
基本的な手順は、「どのファイル」に対して、「何を」したいかを記述します。
URLの総称をURI(Uniform Resource Identifier)と言います。http:などのプロトコル部分は正確にはURLではなく、URIになります。上記の「どのファイル」に相当するのがURIです。
「何を」に相当するものはメソッドと言います。
メソッドには様々な種類があり、メソッドによってサーバーに伝える要求が変わります。
以下が主要なメソッドです。
・GET:URIで指定した情報を取り出す
・POST:データを送信する
・PUT:URIで指定したファイルを置き換える
・DELETE:URIで指定したファイルを削除する
これらURIとメソッドを組み合わせ、webサーバーにリクエストメッセージとして送信します。
すると、webサーバーは、URIとメソッドを調べ、「何を」「どうするか」を判断して、要求に従って動作します。
クライアントからの要求に従って得たデータを、レスポンスメッセージに格納し、クライアントに送り返します。その後、ブラウザがメッセージの中からデータを取り出して画面に表示してHTTPの動作は終了です。
まとめ
URLとHTTPプロトコルの関係、通信の流れについてまとめました。
クライアントがデータを要求し、サーバーがクライアントに送り返して、クライアントの画面に表示されるまでの流れです。
処理は一瞬ですが、裏では以下のように多くの工程を踏んでいるということが分かりました。
<通信の流れ>
1.クライアントがブラウザを通して、webサーバーにデータを要求する
2.HTTPプロトコルで、URIとメソッドを組み合わせてリクエストメッセージを作成
3.webサーバーはリクエストメッセージのURIとメソッドを確認し、要求に沿ったデータを用意する
4.データをレスポンスメッセージに格納し、クライアントに送り返す
5.ブラウザがメッセージの中からデータを取り出して画面に表示する