Hypertext Transfer Protocol (HTTP) は HTML などのハイパーメディアドキュメントを転送するための、アプリケーション層 プロトコルです。これはウェブブラウザーとウェブサーバーの間の通信用に設計されていますが、他の用途でも使用できます。HTTP は伝統的な クライアントサーバモデル に従い、クライアントがコネクションを開き、リクエストを送信し、レスポンスを受け取るまで待ちます。また HTTP は ステートレスプロトコル であり、サーバーは 2 つのリクエストの間でいかなるデータ (状態) も保持しません。HTTP は多くの場合 TCP/IP 層をベースにしますが、任意の信頼性がある トランスポート層 プロトコル、すなわち UDP のように暗黙のうちにメッセージを捨てることがないプロトコルで使用することもできます。
チュートリアル
ガイドやチュートリアルで、HTTP の使い方を学びましょう。
- HTTP の概要
- クライアントサーバープロトコルの基本機能です。何ができるかや使用目的を説明します。
- HTTP キャッシュ
- キャッシュは、高速なウェブサイトのためにとても重要です。この記事ではさまざまな種類のキャッシュや、HTTP ヘッダーでそれらを設定および制御する方法を説明します。
- HTTP Cookie
- Cookie の動作は RFC 6265 で定義しています。サーバーは HTTP リクエストを受け取ると、そのレスポンスで
Set-Cookieヘッダーを送信できます。クライアントは同一のサーバーに対するすべてのリクエストで、Cookieリクエストヘッダーで Cookie の値を返します。また、Cookie に有効期限を設定したり、Cookie を特定のドメインやパスに限定したりすることもできます。 - HTTP Access Control (CORS)
- クロスサイト HTTP リクエストとは、リクエストを出すリソースが存在するドメインとは異なるドメインのリソースに対する HTTP リクエストを指します。例えばドメイン A (
http://domaina.example) から読み込まれた HTML ページが、img要素を使用してドメイン B の画像 (http://domainb.foo/image.jpg) に対するリクエストを発行する状況を指します。今日のウェブページでは CSS スタイルシートや画像、スクリプトなどのさまざまなリソースをクロスサイトリクエストで読み込むことがごく一般的です。ウェブ開発者は、サイトがクロスサイトリクエストにどう反応するかを CORS で制御できます。
- HTTP の進化
- 初期バージョンの HTTP から HTTP/2 以降まで、HTTP で発生した変化を手短に説明します。
- Mozilla web security guidelines
- 運用チームによるセキュアなウェブアプリケーションの作成を支援するための TIPS 集です。
- HTTP メッセージ
- HTTP/1.x や HTTP/2 のさまざまなメッセージについて、タイプや構造を説明します。
- 典型的な HTTP セッション
- 一般的な HTTP セッションを示して、フローを説明します。
- HTTP/1.x のコネクション制御
- HTTP/1.x で使用できる 3 種類のコネクション制御モデルについて、長所や短所を説明します。
リファレンス
詳細な HTTP リファレンスドキュメントを見ていきましょう
- HTTP ヘッダー
- HTTP メッセージヘッダーはリソース、あるいはサーバーやクライアントの動作を示すために使用します。プロプライエタリーなカスタムヘッダーは、
X-接頭辞を使用して追加できます。それ以外のヘッダーは IANA レジストリー に収録されており、RFC 4229 が基になっています。また IANA は 新たに提案された HTTP ヘッダのレジストリー も管理しています。 - HTTP リクエストメソッド
- HTTP では
GETやPOSTだけでなく、OPTIONSやDELETEやTRACEなどのあまり一般的ではないリクエストを含む、さまざまな操作を行うことができます。 - HTTP ステータスレスポンスコード
- HTTP レスポンスコードは、特定の HTTP リクエストが正常に完了したかを示します。レスポンスは情報レスポンス、成功レスポンス、リダイレクション、クライアントエラー、サーバーエラーの 5 つのクラスに分類されます。
- CSP ディレクティブ
- ウェブ管理者は
Content-Security-Policyレスポンスヘッダーフィールドで、ユーザーエージェントがページで読み込むことが可能なリソースを制御できます。一部の例外を除き、ポリシーは主に特定のサーバーオリジンやスクリプトのエンドポイントに影響を及ぼします。
ツールとリソース
HTTP の理解やデバッグに役立つツールやリソースです。
- Firefox 開発���ール
- ネットワークモニター
- Mozilla Observatory
-
開発者、システム管理者、セキュリティ専門家が安全なサイトを設定することを支援するためのプロジェクトです。
- RedBot
- キャッシュ関係のヘッダーを確認するツールです。
- How Browsers Work
- ブラウザーの内部処理や HTTP プロトコルのリクエストのフローに関する、とても包括的な記事です。すべてのウェブ開発者が読むべきです。

