HTTPとは?

目次

HTTPの意味

インターネット技術の最後で最も重要なのが、HTTP(Hypertext Transfer Protocol:ハイパーテキストトランスファー プロトコル)です。この技術は、私たちのウェブ体験に革命をもたらしました。その体験とはインターネット上でウェブサイトという当時全く新しいメディアを使うという体験です。

HTTPの核心はハイパーテキストです。ハイパーテキストとは、単なる文字列ではなく、特定の単語やフレーズにリンクが埋め込まれているテキストです。これらのリンクをクリックすると、他のウェブページに瞬時に遷移できます。

HTTPが誕生する前は、人々が見る情報は雑誌や本などの物理的なメディアに限定されていました。しかし、ハイパーテキストの登場により、例えば「トム・クルーズ」という単語にリンクされたテキストをクリックすると、トム・クルーズに関する別のページに直接飛べるようになりました。さらに、そこからAmazonなど他のサイトへのリンクをたどっていくことで、関連情報を無限に探求できるようになったのです。

この革新的なアイデアは、インターネットという広大な海を探検する航海に似ています。各ウェブサイトは星のように点在し、ハイパーテキストのリンクが星々を結びつけています。まるで帆船で海を航海するような冒険心を感じさせるこの仕組みに、私も魅了され、以来インターネットの世界で活動しています。HTTPは、現代のウェブがこのように発展する基盤を作り上げたのです。

HTTPの基本概念

インターネットで情報をやり取りする時、私たちはHTTP(ハイパーテキストトランスファー プロトコル)というルールを使っています。これは、ウェブページをリクエスト(要求)し、レスポンス(応答)を受け取る方法を定めたものです。まるでレストランで注文をするようなものです。あなたがメニュー(ウェブサイト)から注文(リクエスト)をし、ウェイター(サーバー)が料理(レスポンス)を運んでくるイメージです。

リクエストとレスポンス

・HTTPリクエスト
これは、ウェブサイトに何かを「頼む」時のことです。たとえば、Googleで何かを検索する時、その検索要求がリクエストです。

・HTTPレスポンス
これは、サーバーからの「答え」です。リクエストに対して、ウェブサイトは情報(ウェブページ)を返します。

メソッド

リクエストにはいくつかの種類(メソッド)があります。主に知っておくべきものは次の二つです:

・GET
情報を「取得」するためのリクエスト。ウェブページを見る時によく使われます。

・POST
情報を「送信」するためのリクエスト。フォームに入力したデータを送る時などに使います。

HTTPステータスコード

サーバーがリクエストにどう応答したかを示す番号です。

主なものは:

HTTPステータスコードは、ウェブサーバーがクライアント(ウェブブラウザ)のリクエストに対して返す応答コードです。これらのコードは、リクエストが成功したか、失敗したか、あるいは他のアクションが必要かを示します。ステータスコードは、以下のようなカテゴリに分類されます:

1. 情報レスポンス (100–199)

・100 Continue
クライアントはリクエストを続けることができます。

・101 Switching Protocols
クライアントがリクエストしたプロトコルに切り替えます。

2. 成功レスポンス (200–299)

・200 OK
標準的な成功レスポンス。リクエストが成功したことを示します。

・201 Created
リクエストが成功し、新しいリソースが作成されたことを示します。

・204 No Content
リクエストは成功したが、返す内容はありません。

3. リダイレクトメッセージ (300–399)

・301 Moved Permanently
リクエストされたリソースが永久に新しいURLに移動したことを示します。

・302 Found
リクエストされたリソースが一時的に別のURLに移動したことを示します。

・304 Not Modified
リソースが変更されていないため、クライアントはキャッシュされたバージョンを使用できます。

4. クライアントエラー (400–499)

・400 Bad Request
サーバーがリクエストを理解できません。

・401 Unauthorized
認証が必要です。

・403 Forbidden
サーバーがリクエストを拒否しています。

・404 Not Found
リクエストされたリソースが見つかりません。

5. サーバーエラー (500–599)

・500 Internal Server Error
サーバー側でエラーが発生し、リクエストを処理できません。

・503 Service Unavailable
サーバーが一時的にリクエストを処理できない状態にあります。

これらのステータスコードは、ウェブサーバーとクライアント間の通信を円滑にし、エラーや必要なアクションを迅速に理解するために重要です。各コードは特定の状況(ステータス)を示し、ウェブ開発者はこれらのコードを使って、ウェブアプリケーションやAPIの動作を最適化します。

ヘッダー

これは、リクエストやレスポンスに付随する追加情報です。例えば、ウェブページがどの言語で書かれているかなどを示します。

もちろんです。ヘッダーは、インターネット上でデータを交換する際に非常に重要な役割を果たします。ここでは、ウェブページやAPIリクエスト/レスポンスにおけるヘッダーの実例をいくつか挙げてみましょう。

《HTTPリクエストヘッダーの例》

1. User-Agent

このヘッダーは、リクエストを送信しているユーザーのブラウザやオペレーティングシステムに関する情報を含みます。例えば、`User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36` という形式です。

2. Accept-Language

このヘッダーは、ユーザーが好む言語を示します。例えば、`Accept-Language: en-US,en;q=0.5` は、ユーザーがアメリカ英語を優先することを意味します。

3. Host:

このヘッダーは、リクエストが送信される先のサーバーのドメイン名を示します。例えば、`Host: www.example.com`。

4. Authorization

このヘッダーは、特定のリソースへのアクセスに必要な認証情報を含みます。例えば、基本認証では `Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l` のようにエンコードされたユーザー名とパスワードを含みます。

《HTTPレスポンスヘッダーの例》

1. Content-Type

このヘッダーは、レスポンスの本体がどのような種類のデータであるかを示します。例えば、`Content-Type: text/html; charset=UTF-8` は、レスポンスがUTF-8でエンコードされたHTML文書であることを意味します。

2. Set-Cookie

サーバーがクライアントのブラウザにCookieを設定する際に使用します。例えば、`Set-Cookie: sessionId=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT`。

3. Cache-Control

このヘッダーは、レスポンスがどのようにキャッシュされるべきかをブラウザに指示します。例えば、`Cache-Control: no-cache` は、ブラウザにキャッシュを使用しないよう指示します。

4. Content-Encoding

このヘッダーは、レスポンスの本体がどのようにエンコード(圧縮)されているかを示します。例えば、`Content-Encoding: gzip` は、レスポンスがgzip形式で圧縮されていることを意味します。

これらのヘッダーは、ウェブブラウザやサーバー間の通信において、データの種類、形式、挙動を制御するために不可欠な情報です。

このようにHTTPは、インターネット上で情報をやり取りする際の基本ルールです。リクエストとレスポンスを通じて、私たちはウェブサイトと「会話」しています。このプロセスを理解することは、ウェブの仕組みをより深く理解する第一歩です。

HTTPSの重要性

HTTPSとは暗号化されたHTTPのことです。つまりHTTPSは、通常のHTTPにセキュリティ機能を加えたものです。データが暗号化されるので、情報が他人に読まれるリスクを減らすことができます。

HTTPSを使用することにより、安全な通信ができるようになります。銀行のウェブサイトやオンラインショッピングサイトなど、個人情報を扱う場合に安全な通信をすることは特に重要です。

安全な通信ができるようになると、プライバシー保護が可能になり、個人情報やクレジットカード情報などが外部に漏れるのを防げるようになります。
また、ウェブサイトが安全であることをユーザーに保証できるようになるので信頼性を増すことができるようになります。

近年では、HTTPSは、安全で信頼できるウェブ体験を提供するために不可欠なものになりました。ウェブサイトにアクセスするときは、アドレスバーに「https://」が表示されているかどうかを確認してみましょう。「https://」が表示されていれば、そのウェブサイトとのやり取りは暗号化されていて一定の安全性が確保されているということになります。

HTTPはウェブの根幹を成す技術

HTTPと暗号化をしたHTTPSは、今日のウェブの根幹を成す技術です。ハイパーテキストは、単なるテキストを超越し、ウェブページやウェブサイト間を瞬時に移動することを可能にしたリンク付きのテキストです。この革新的な概念は、無限の雑誌や本とも言えるウェブサイトへの入り口となりました。

このHTTPが発明されたことによりウェブが誕生したのです。その結果、他のインターネットシステム、例えばチャットやネットニュースなどが次第に廃れていきましたが、現代には電子メールのSMTP(シンプルメールトランスファープロトコル)、FTP(ファイルトランスファープロトコル)、そしてHTTPという3つの技術が生き残りました。

次回は、このHTTPを使って構築された様々なウェブ上のサービスについて解説します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

ウェブマスター検定公式テキストの著者。他にSEO検定公式テキスト、世界一やさしい ブログSEOの教科書 1年生等、SEO、ウェブマーケティングの著書多数。
→ 著者紹介

目次