「Hypertext Transfer Protocol」の版間の差分

提供: セキュリティ
移動: 案内検索
(関連項目)
行1: 行1:
 
 
[[Hypertext Transfer Protocol]]([[Hypertext Transfer Protocol|HTTP]])とは、[[Webサーバ]]とクライアント([[ブラウザ]])が通信するときに使う[[通信プロトコル]]です。[[HyperText Markup Language|HTML]]文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。
 
[[Hypertext Transfer Protocol]]([[Hypertext Transfer Protocol|HTTP]])とは、[[Webサーバ]]とクライアント([[ブラウザ]])が通信するときに使う[[通信プロトコル]]です。[[HyperText Markup Language|HTML]]文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。
  
行114: 行113:
  
 
== セキュリティ ==
 
== セキュリティ ==
=== 脆弱性対策 ===
+
=== ポリシー ===
 +
* [[同一生成元ポリシー]]
 +
=== 攻撃 ===
 +
* [[コンテンツスニッフィング]]
 +
* [[MIMEスニッフィング]]
 +
=== 脆弱性対策 セキュリティヘッダ ===
 
* [[有効なセキュリティに関するHTTPヘッダ]]
 
* [[有効なセキュリティに関するHTTPヘッダ]]
 +
** [[Strict-Transport-Security]]
 +
** [[X-Frame-Options]]
 +
** [[X-XSS-Protection]]
 +
** [[X-Content-Type-Options]]
 +
** [[X-Content-Security-Policy]]
 +
=== SSL/TLS ===
 +
* [[HTTPS]]
 +
** [[Transport Layer Security]] ([[Transport Layer Security|TLS]])
 +
** [[Secure Sockets Layer]] ([[Transport Layer Security|SSL]])
 +
** [[SPDY]]
  
 
=== 認証 ===
 
=== 認証 ===
行134: 行148:
 
* [[Apache HTTP Server]]
 
* [[Apache HTTP Server]]
 
{{http}}
 
{{http}}
 +
=== 関連技術 ===
 +
* [[Base64]]
 +
* [[TCP]]
 +
 +
* [[ウェブブラウザ]]
 +
* [[Webサーバ]]
 +
* [[HyperText Markup Language]] ([[HTML]])
 +
 +
 +
* [[XMLHttpRequest]]
 +
* [[XMLHttpRequest Level 2]] ([[XHR2]])
 +
* [[Ajax]]
 +
* [[JavaScript]]
 +
* [[PHP]]
 +
* [[Perl]]
 +
 
<!-- vim: filetype=mediawiki
 
<!-- vim: filetype=mediawiki
 
-->
 
-->

2014年11月8日 (土) 20:30時点における版

Hypertext Transfer Protocol(HTTP)とは、Webサーバとクライアント(ブラウザ)が通信するときに使う通信プロトコルです。HTML文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。

読み方

Hypertext Transfer Protocol
はいぱーてきすと とらんすふぁー ぷろとこる
HTTP
えいちてぃーてぃーぴー

概要

HTMLXML で記述されたハイパーテキストの転送を主な目的としています。テキスト以外に、バイナリ形式のデータも扱えます。

トランスポートプロトコルとして、TCPを利用します。 HTTPは、サーバ/クライアントモデルで、リクエストレスポンス型のプロトコルです。

World Wide Web におけるWebページのリソースは、Uniform Resource Identifierによって指定します。 HTTP を使用してリソースにアクセスする場合には、 http: を先頭につけた URL を使用します。

http://www.example.co.jp/index.html

HTTP の 規格には、以下のバージョンがあります。

主な仕様を以下に示します。

HTTPプロトコル

HTTP/1.0 で index.html を取得する場合には、以下のリクエストを送信します。

GET /index.html HTTP/1.0

HTTP/1.1 で index.html を取得する場合には、以下のリクエストを送信します。

GET /index.html HTTP/1.1
Host: foo.com

メソッド

メソッド HTTP/0.9 HTTP/1.0 HTTP/1.1
GET o o o
POST o o
PUT o
HEAD o o
DELETE o
OPTION o
TRACE o
CONNECT o

HTTPのリクエストとレスポンス

ウェブブラウザ(Webクライアント) などからWebサーバーへのリクエストをいいます。
Webサーバからウェブブラウザ(Webクライアント)などへのレスポンスです。

HTTPヘッダフィールド

ヘッダの各要素は、フィールド名と内容で構成されます。

フィールド名: 内容

例えば、Host ヘッダは、以下のように表します。

Host: foo.com

リクエストヘッダ

レスポンスヘッダ

セキュリティ

ポリシー

攻撃

脆弱性対策 セキュリティヘッダ

SSL/TLS

認証

Basic認証

HTTP/1.1では、Basic認証が定義されています。 単純な認証機能を提供します。

Digest認証

Digest認証は、Basic認証を発展した認証機能を提供します。

インストール

使い方

関連項目

関連技術