「Hypertext Transfer Protocol」の版間の差分
提供: セキュリティ
細 |
|||
行1: | 行1: | ||
− | |||
− | |||
− | |||
− | [[Hypertext Transfer Protocol]]([[ | + | [[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]]によって指定します。 |
− | HTTP を使用してリソースにアクセスする場合には、 http: を先頭につけた [[ | + | 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]] ドラフト |
主な仕様を以下に示します。 | 主な仕様を以下に示します。 | ||
行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]] | |
− | + | {{http}} | |
− | + | <!-- vim: filetype=mediawiki --> | |
− | * [[HTTP | + | |
− | + | ||
− | + |
2014年2月20日 (木) 22:11時点における版
Hypertext Transfer Protocol(HTTP)とは、Webサーバとクライアント(ブラウザ)が通信するときに使う通信プロトコルです。HTML文書や文書に関連付けられた画像、音声、動画などを含めてやり取りできます。
読み方
- Hypertext Transfer Protocol
- はいぱーてきすと とらんすふぁー ぷろとこる
- HTTP
- えいちてぃーてぃーぴー
目次
概要
HTML や XML で記述されたハイパーテキストの転送を主な目的としています。テキスト以外に、バイナリ形式のデータも扱えます。
トランスポートプロトコルとして、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のリクエストとレスポンス
HTTPヘッダフィールド
ヘッダの各要素は、フィールド名と内容で構成されます。
フィールド名: 内容
例えば、Host ヘッダは、以下のように表します。
Host: foo.com
リクエストヘッダ
レスポンスヘッダ
セキュリティ
脆弱性対策
認証
Basic認証
HTTP/1.1では、Basic認証が定義されています。 単純な認証機能を提供します。
Digest認証
Digest認証は、Basic認証を発展した認証機能を提供します。
インストール
使い方
関連項目
- Apache HTTP Server
- Hypertext Transfer Protocol (HTTP)
- HTTPS
- HTTP cookie
- 同一生成元ポリシー