Webサイトを開くとき、URLの先頭にhttps://と書いてあるのを見たことがあるでしょうか。このhttpsの「http」の部分がHTTPです。
HTTPはWebの通信ルールの名前ですが、「HTTPって何ですか」と聞かれると意外と説明しにくいものです。この記事では、HTTPの基本をわかりやすく整理します。
この記事でわかること
- HTTPとは何か(通信のルールの名前)
- リクエストとレスポンスの仕組み
- HTTPとHTTPSの違い
- IT現場でHTTPに関連する会話が出る場面
HTTPとは?
HTTP(HyperText Transfer Protocol)とは、**ブラウザとWebサーバーがデータをやり取りするためのルール(プロトコル)**です。
「プロトコル」とは「通信の約束事」という意味です。異なるコンピューター同士が「こういう形式でリクエストを送り、こういう形式でレスポンスを返す」というルールを共有することで、世界中のWebブラウザとサーバーが互いに通信できています。
身近な例で考えると
手紙のやり取りで考えてみます。
手紙を書くとき、差出人・宛先・本文・日付など、一定の形式があります。この「手紙の書き方のルール」がプロトコルに相当します。みんなが同じルールで手紙を書くから、どこに送っても届きます。
HTTPは「Web上でデータをやり取りするための手紙の書き方のルール」です。
HTTPのリクエストとレスポンス
HTTPの通信は「リクエスト(要求)」と「レスポンス(応答)」のセットで成り立っています。
リクエスト(ブラウザ → サーバー)
ブラウザがサーバーに「このページをください」「このデータを登録してください」などの要求を送ります。リクエストには以下が含まれます。
- メソッド:何をしたいか(GET=取得、POST=送信、PUT=更新、DELETE=削除など)
- URL:どこへのリクエストか
- ヘッダー:付加情報(ブラウザの種類、認証情報など)
- ボディ:送信するデータ(フォームの入力内容など)
レスポンス(サーバー → ブラウザ)
サーバーがリクエストを受けて、結果をブラウザに返します。レスポンスには以下が含まれます。
- ステータスコード:処理の結果(200=成功、404=見つからない、500=サーバーエラーなど)
- ヘッダー:付加情報
- ボディ:実際のデータ(HTMLやJSONなど)
HTTPとHTTPSの違い
URLがhttp://で始まるものとhttps://で始まるものがあります。
HTTP:通信内容が暗号化されていない。第三者が通信を傍受した場合、内容が読めてしまう可能性がある。
HTTPS:通信内容がSSL/TLS(暗号化技術)で暗号化されている。パスワードやクレジットカード情報など、機密性の高いデータを安全に送受信できる。
現在のほとんどのWebサイトはHTTPSを使っています。ブラウザのアドレスバーに鍵マーク🔒が表示されているサイトはHTTPSです。
IT現場ではどう使われるか
HTTPに関する会話が出る場面をいくつか紹介します。
「ステータスコード400が返ってきました」:クライアント側のリクエストに問題があるということです(後述)。
「このAPIはGETとPOSTに対応しています」:APIがデータ取得(GET)と送信(POST)のリクエストを受け付けているということです。
「HTTPSの証明書が切れています」:HTTPS通信に使うSSL証明書の有効期限が切れた状態です。ブラウザが「この接続は安全ではありません」と警告を表示します。
初心者がつまずきやすいポイント
HTTPとHTMLを混同する
HTTP(HyperText Transfer Protocol)はデータをやり取りするルール、HTML(HyperText Markup Language)はWebページの構造を記述する言語です。名前が似ていますが別のものです。
HTTPSにすると必ずしも安全とは限らない
HTTPSは通信の暗号化をするものであり、「サイトの内容が正しい」「詐欺サイトではない」を保証するものではありません。
GETとPOSTの使い方を理解していない
GETはデータを取得する(URLに情報が含まれる)、POSTはデータを送信する(URLに情報が含まれない)という違いがあります。フォームの送信はPOSTが多いです。
関連用語
- ステータスコード:HTTPレスポンスの結果を示す3桁の数字
- SSL/TLS:HTTPSで使われる暗号化の仕組み
- API:HTTPを使ってシステム間でデータをやり取りする仕組み
- RESTful API:HTTPのメソッドを活用した設計方式
さらに学ぶなら
HTTPを含むWebの仕組みを体系的に学びたい方には、FEXシリーズのWebの仕組み入門講座がおすすめです。