LogoMark.png

HTTP の変更点


#author("2018-08-22T15:03:15+00:00","default:inoue.ko","inoue.ko")
#author("2023-11-02T14:17:30+09:00;2019-07-05T20:51:14+09: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
//(書きかけです)
//~
//~

**HTTPS
(書きかけです)
~
~



~
~