HTTPとは
HTTP(Hypertext Transfer Protocol)とは、WebサーバーとWebブラウザの間で、情報をやりとりする際に利用されるプロトコル(手順・ルール)です。
ホームページやブログを閲覧する時に、HTTPを使用してサーバーとクライアント間でやり取りを行なっており、インターネットサービスを利用するには欠かせない存在となっています。
もともとはWebページを閲覧するためにハイパーテキストと呼ばれるデータを転送するためのものでしたが、現在では、ファイル共有やAPIを介したデータ提供、リモートのシステム操作、スマホやWebブラウザ上で動作するアプリのバックエンド、ユーザー認証やID管理、暗号化された通信の提供など、様々なシーンに利用されています。
HTTPメッセージ
クライアントとサーバーが行う、リクエストとレスポンスのやり取りをまとめてHTTPメッセージと呼びます。
やり取りの流れは以前、IPアドレスとドメインの記事で紹介しているので、そちらをご覧ください。
HTTPメッセージに関してもまとめようかと思ったのですが、まだ私自身がいまいち理解できなかったのと、今無理して覚える必要性を感じなかったので、ステータスコードについてだけ下記にまとめました。
プログラミングする際によくステータスコードを見て、何のエラーなのか確認することもあるあと思うので、参考になれば嬉しいです。
ステータスコードの種類
ステータスコード | 説明 | ステータスコード例 |
---|---|---|
100番台 | クライアントからのリクエストを受け入れ可能で、継続して処理されている状態です。 | 100( Continue) リクエストの継続 |
200番台 | クライアントからリクエストがサーバに送られ、通信が成功した状態。 | 200(OK) リクエストが正常に処理された |
300番台 | リダイレクトで別のURLへリクエストし直すように要求する。 | 301(Moved Permanently) リダイレクト |
400番台 | クライアント側で操作や入力に不備があった際に出てしまうエラー。 | 404(Not Found) 指定したwebページが見つからない |
500番台 | サーバ側に問題があり処理できなかったことを伝える。 | 503(Service Unavailable) 一時的にサーバーにアクセスできない |
HTTPとHTTPS
httpとhttpsの違いは、通信内容が暗号化されているかされていないかです。
httpは「HyperText Transfer Protocol(ハイパーテキスト トランスファー プロトコル)の略で、データ通信の際に通信内容を暗号化しない方式です。
そのため、http通信を使ったWebサイトでデータの入力や発信を行なうと悪意を持った第三者に通信内容が漏えいする可能性があります。
httpsは「HyperText Transfer Protocol Secure(ハイパーテキスト トランスファー プロトコル セキュア)」の略で、WebサイトとWebサーバーの間のデータ通信の時に通信の内容が暗号化されているため、第三者への通信内容の漏えいや改ざんを防ぐことができます。