- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-08-22T15:03:15+00:00","default:inoue.ko","inoue.ko")
*HTTP
HyperText Transfer Protocol
~
World Wide Webにおいて、[[Webブラウザ>Browser]]とWebサーバとの間での転送に用いられるプロトコルで、ブラウザからサーバへ送られる Get、Put コマンドに対し、サーバーが結果を返す際の規約を定めたものです。ティム・バーナーズ・リー氏が1990年に開発。ブラウザのアドレスバーに表記される''http:// ・・''がそれです。HTMLの送信のみならず、静止画、動画、音声、PDFなど様々なデータの転送にも使われています。
-RFC2616:Hypertext Transfer Protocol HTTP/1.1
// RFC 7230 - RFC 7235
http://tools.ietf.org/html/rfc2616
-RFC 7540:Hypertext Transfer Protocol Version 2 -- HTTP/2
https://tools.ietf.org/html/rfc7540
~
**HTTPリクエスト
HTTPリクエストは大きく以下の3つに分けられます。
-リクエスト行
-メッセージヘッダー
-メッセージボディ
~
***リクエスト行
リクエスト行には、Webサーバに依頼する処理内容が書かれます。
最も一般的なのは、ページデータ(HTML)の送信要求です。
GET /index.html HTTP/1.1
~
***リクエストメソッド
-''GET'':データの送信要求
-HEAD:メッセージヘッダの内容を問い合わせ
-POST:サーバにデータを送信
-PUT:ファイルのアップロード
-DELETE:データ削除の要求
-CONNECT:トンネル確立を要求
-OPTIONS:サポートするオプションの問い合わせ
-TRACE:経由するサーバに応答要求
~
***リクエストヘッダー
リクエストに関わる各種の情報が書かれています。
Host: www.example.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) ・・・
Accept: */*
:
~
***リクエストボディー
略:GETメソッドでは、ボディーは存在しません。
~
~
**HTTPレスポンス
HTTPレスポンスは大きく以下の3つに分けられます。
-ステータス行
-メッセージヘッダー
-メッセージボディ
~
***ステータス行
ステータス行にはWebサーバの処理結果(ステータスコード)がセットされます。ステータスコードは3桁の数字で、以下のように回答されます。
HTTP/1.1 200 OK
~
***ステータスコード
-100:データに続きがあるため再要求
-101:指定プロトコルで再接続を要求
-200:リクエスト処理成功
-201:ファイル作成成功
-301:データが別の場所に移動
-302:一時的にデータは別の場所に移動
-''403'':データへのアクセス不可
-''404'':データが見つからない
-500:サーバ内部のエラー
-503:一時的にサーバ処理不可
~
***メッセージヘッダー
(書きかけです)
~
***メッセージボディー
(書きかけです)
~
~
**HTTP/2
(書きかけです)
~
~
**HTTPS
(書きかけです)
~
~
~
~