「Hypertext Transfer Protocol」の版間の差分

提供: セキュリティ
移動: 案内検索
行1: 行1:
<!--
 
vim: filetype=mediawiki
 
-->
 
  
[[Hypertext Transfer Protocol]]([[Hypertext_Transfer_Protocol|HTTP]])とは、[[Webサーバ]]とクライアント([[ブラウザ]])が通信するときに使う[[通信プロトコル]]です。[[HyperText Markup Language|HTML]]文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。
+
[[Hypertext Transfer Protocol]]([[Hypertext Transfer Protocol|HTTP]])とは、[[Webサーバ]]とクライアント([[ブラウザ]])が通信するときに使う[[通信プロトコル]]です。[[HyperText Markup Language|HTML]]文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。
  
読み方
+
'''読み方'''
 
+
;[[Hypertext Transfer Protocol]]: はいぱーてきすと とらんすふぁー ぷろとこる
はいぱーてきすと とらんすふぁー ぷろとこる
+
;[[Hypertext Transfer Protocol|HTTP]]: えいちてぃーてぃーぴー
 
+
HTTP えいちてぃーてぃーぴー
+
  
 
__TOC__
 
__TOC__
  
 
== 概要 ==
 
== 概要 ==
 
 
[[HyperText Markup Language|HTML]] や [[XML]] で記述された[[ハイパーテキスト]]の転送を主な目的としています。テキスト以外に、バイナリ形式のデータも扱えます。
 
[[HyperText Markup Language|HTML]] や [[XML]] で記述された[[ハイパーテキスト]]の転送を主な目的としています。テキスト以外に、バイナリ形式のデータも扱えます。
  
行20: 行14:
 
HTTPは、サーバ/クライアントモデルで、リクエストレスポンス型のプロトコルです。
 
HTTPは、サーバ/クライアントモデルで、リクエストレスポンス型のプロトコルです。
  
[[World_Wide_Web]] におけるWebページのリソースは、[[Uniform_Resource_Identifier]]によって指定します。
+
[[World Wide Web]] におけるWebページのリソースは、[[Uniform Resource Identifier]]によって指定します。
HTTP を使用してリソースにアクセスする場合には、 http: を先頭につけた [[Uniform_Resource_Locator|URL]] を使用します。
+
HTTP を使用してリソースにアクセスする場合には、 http: を先頭につけた [[Uniform Resource Locator|URL]] を使用します。
  
 
  http://www.example.co.jp/index.html
 
  http://www.example.co.jp/index.html
行29: 行23:
 
* HTTP/1.0 [[RFC]] 1945
 
* HTTP/1.0 [[RFC]] 1945
 
* HTTP/1.1 [[RFC]] 2616
 
* HTTP/1.1 [[RFC]] 2616
* [[HTTP_2.0|HTTP/2.0]] ドラフト
+
* [[HTTP 2.0|HTTP/2.0]] ドラフト
  
 
主な仕様を以下に示します。
 
主な仕様を以下に示します。
行39: 行33:
  
 
== HTTPプロトコル ==
 
== HTTPプロトコル ==
 
 
HTTP/1.0 で index.html を取得する場合には、以下のリクエストを送信します。
 
HTTP/1.0 で index.html を取得する場合には、以下のリクエストを送信します。
 
  GET /index.html HTTP/1.0
 
  GET /index.html HTTP/1.0
 
   
 
   
 
 
HTTP/1.1 で index.html を取得する場合には、以下のリクエストを送信します。
 
HTTP/1.1 で index.html を取得する場合には、以下のリクエストを送信します。
 
  GET /index.html HTTP/1.1
 
  GET /index.html HTTP/1.1
 
  Host: foo.com
 
  Host: foo.com
 
   
 
   
 
 
== メソッド ==
 
== メソッド ==
 
 
{| class="wikitable"
 
{| class="wikitable"
 
! メソッド
 
! メソッド
行99: 行89:
  
 
== HTTPのリクエストとレスポンス ==
 
== HTTPのリクエストとレスポンス ==
 
 
* [[HTTPリクエスト]]
 
* [[HTTPリクエスト]]
 
: [[ウェブブラウザ]](Webクライアント) などから[[Webサーバー]]へのリクエストをいいます。
 
: [[ウェブブラウザ]](Webクライアント) などから[[Webサーバー]]へのリクエストをいいます。
行110: 行99:
  
 
== HTTPヘッダフィールド ==
 
== HTTPヘッダフィールド ==
 
 
ヘッダの各要素は、フィールド名と内容で構成されます。
 
ヘッダの各要素は、フィールド名と内容で構成されます。
  
行120: 行108:
  
 
=== リクエストヘッダ ===
 
=== リクエストヘッダ ===
 
 
* [[HTTPリクエストヘッダー]]
 
* [[HTTPリクエストヘッダー]]
  
 
=== レスポンスヘッダ ===
 
=== レスポンスヘッダ ===
 
 
* [[HTTPレスポンスヘッダー]]
 
* [[HTTPレスポンスヘッダー]]
  
 
== セキュリティ ==
 
== セキュリティ ==
 
 
=== 脆弱性対策 ===
 
=== 脆弱性対策 ===
 
 
* [[有効なセキュリティに関するHTTPヘッダ]]
 
* [[有効なセキュリティに関するHTTPヘッダ]]
  
 
=== 認証 ===
 
=== 認証 ===
 
 
==== Basic認証 ====
 
==== Basic認証 ====
 
 
[[HTTP/1.1]]では、[[Basic認証]]が定義されています。
 
[[HTTP/1.1]]では、[[Basic認証]]が定義されています。
 
単純な認証機能を提供します。
 
単純な認証機能を提供します。
  
 
==== Digest認証 ====
 
==== Digest認証 ====
 
 
[[Digest認証]]は、[[Basic認証]]を発展した認証機能を提供します。
 
[[Digest認証]]は、[[Basic認証]]を発展した認証機能を提供します。
  
 
== インストール ==
 
== インストール ==
 
+
* [[Apache HTTP Server]]
* [[Apache_HTTP_Server]]
+
  
 
== 使い方 ==
 
== 使い方 ==
 
+
* [[Apache HTTP Server]]
* [[Apache_HTTP_Server]]
+
  
 
== 関連項目 ==
 
== 関連項目 ==
 
+
* [[Apache HTTP Server]]
* [[Apache_HTTP_Server]]
+
{{http}}
* [[HTTPS]]
+
<!-- vim: filetype=mediawiki -->
* [[HTTP cookie]]
+
* [[Tranport_Layer_Security]]
+
* [[HyperText_Markup_Language]] ([[HyperText Markup Language|HTML]])
+

2014年2月20日 (木) 22:11時点における版

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

リクエストヘッダ

レスポンスヘッダ

セキュリティ

脆弱性対策

認証

Basic認証

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

Digest認証

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

インストール

使い方

関連項目