「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
- えいちてぃーてぃーぴー
目次
概要
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
リクエストヘッダ
レスポンスヘッダ
セキュリティ
ポリシー
攻撃
脆弱性対策 セキュリティヘッダ
SSL/TLS
認証
Basic認証
HTTP/1.1では、Basic認証が定義されています。 単純な認証機能を提供します。
Digest認証
Digest認証は、Basic認証を発展した認証機能を提供します。
インストール
使い方
関連項目
- Apache HTTP Server
- Hypertext Transfer Protocol (HTTP)
- HTTPS
- HTTP cookie
- 同一生成元ポリシー
関連技術