
URLなどで使われているHTTPというワードですが、よく耳にすることはあっても、それがなんなのかご存知の方は少ないのではないでしょうか。今回は、そんなHTTPについて解説していきます。
- HTTPとは
- HTTPの使われ方
- HTTPの機能
- HTTPのセキュリティ
HTTPとは
HTTPは、Hyper Text Transfer Protocolの略です。
web上でHTMLで書かれた文書やスクリプトなどをやり取りするための通信手段のことでポート番号は80番を使用しています。
よくみるURLの形式としては、http://~ というものが多いと思いますが、これは、~に対してhttp通信をしてくださいという意味になります。
HTTPはクライアントからHTTPリクエストをサーバーに送り、サーバーはリクエストに対してレスポンスを返すというプル型の通信を基本としています。
ブラウザでは、webサーバーに対して該当ページのHTML文書を要求し、受け取った内容をブラウザ内で表示して、ユーザーにホームページの画面を届けています。
HTTPの使われ方
HTTPは様々な使われ方をしていますが、一番よく使う方法はwebページの閲覧かと思います。
クライアントがブラウザにwebページのURLを入力し、ブラウザがwebサーバーへアクセスして、webページの中身をもらってきて、ユーザーに向けて表示します。
HTTPは、これ以外にもweb API を使用するときに使われています。
webページを見るためにHTTPを使用するときは、webページの中身をやり取りするためにHTTPを使用していましたが、web API では、プログラムから何らかの処理を要求するためにHTTPを使うことが多いです。
例えば、Google Mapのデータを入手しようとした場合、HTTPを使ってプログラムからGoogle Map の API に対して郵便番号の情報などを送り、その郵便番号に対応した住所を入手することができます。
HTTPの機能
HTTPにはいくつかのメソッドと呼ばれる機能があります。
今回はweb開発などでよく使われる4つのメソッドについてご紹介します。
GETメソッド
GETは、何らかのデータを取得するときに使用されるHTTPメソッドです。
Webページの内容の取得だけでなく、API経由でのデータ取得の際などにも使用されています。
POSTメソッド
POSTは、クライアントからサーバーに向けてデータを送るときに使用されるHTTPメソッドです。
Webページ上のフォームからサーバー側へデータを送るときなどに使用されています。
PUTメソッド
PUTもPOSTと同様にサーバーにデータを送るときに使用されますが、データを更新するときに使用するのが一般的なHTTPメソッドです。
webサービスの既存アカウントの情報を更新するときなどに使用されています。
DELETEメソッド
DELETEは、データを削除するときに使用されるHTTPメソッドです。
アカウントの削除やブログ記事の削除などのときに使用されています。
HTTPのセキュリティ
ここまでHTTPについて解説してきましたが、HTTPには弱点があります。
それは、通信が暗号化されていないことです。
HTTPのは非常に便利で様々な場面で使われていますが、その通信内容は暗号化されておらず、経路上で第三者に取得されるとその通信の内容が丸わかりになってしまいます。
そのため、ECサイトのようなクレジット情報などのユーザー情報を扱うサイトでは、HTTPは基本的に使用されていません。
また、Google Chrome などのブラウザでは、セキュリティの観点からHTTPでの通信しか行えないwebサイトは、表示する際に警告を出すなどユーザーへの注意喚起が行われています。
この点に関しては、HTTPを暗号化したHTTPSという通信の解説をする際にご紹介しようかと思います。