HTTPは通信プロトコルでwebサーバーからwebページを取得するのに利用されるプロトコルです。
Webを支える根幹の技術で、webブラウザはhttpを使ってwebサーバーからwebページの情報をダウンロードしてきます。
目次
HTTPとは何か?
HTTP (Hyper Text Transfer Protocol)はWebブラウザがWebサーバーと通信するときに利用される通信プロトコルです。HTTPとはどんな場面で利用しているのでしょうか?
IEやサファリ、ChromeなどのアプリケーションはWebブラウザと呼ばれており、インターネット上に公開されているWebページを閲覧するのに利用しています。
Webページは「HTML」という言語で書かれています。Webページはハイパーテキストという文字と文字同士をハイパーリンクで繋げた構造になっていて、ページからページに移動することができます。WebサーバーはWebページを保管している場所で、世界中の人にも閲覧できるようにしています。このようないわゆるインターネットの仕組みを「WWW (World Wide Web)」といいます。ブラウザにURLを入力すれば対応するwebページをwebサーバーからダウンロードしてくる仕組みなどです。
HTTPはwebサーバーからHTMLデータをはじめ、画像や音声など様々なデータの転送を行います。通信はTCPポート80番を使って通信します。
HTTPの通信を暗号化するにはSSL/TLSを利用します。暗号化したHTTPはHTTPSと呼ばれます。
HTTPリクエストとHTTPレスポンス
クライアントのウェブブラウザがWebページを表示するのに利用するURLは「http://example.jp」となっています。URLはWebページ(HTML)を取得するための「通信プロトコル名:http」とFQDNからなっています。
FQDNはWebサーバーのドメイン名です。IPアドレスはDNSで取得します。WebサーバーからWebページ(HTML)を取得するのにHTTPを利用します。WebブラウザはWebページを閲覧するためのアプリケーションです。
WebブラウザからWebサーバーにHTTPを使って通信を要求することをHTTPリクエストといいます。
Telnetでwebサーバーに接続してみます。
telnet example.jp 80
接続したらHTTPリクエストを送信します。
HTTPリクエストの中身は、「リクエストメソッド リクエストURI HTTPのバージョン」
GETメソッド
GETメソッドを使えばファイル取得が可能です。
GET http://example.jp/home/index.html HTTP/1.0
HTTPレスポンスは
HTTP/1.0 200 OK
~
~
~
というようなレスポンスが帰ってきます。200という数字はレスポンスコードと呼ばれるものです。
- 200は正常動作
- 301や302は表示できるがリクエストページが移動している
- 403 表示できる権限がない
- 404 ページが存在していない
- 500 サーバーに障害が発生
というような状態を確認できます。