🐡
HTTPってなに?
[1]とは?
HTTPWebクライアント(Chromeなど)とWebサーバの間でデータの送受信を行うためのTCP/IPのアプリケーション層のプロトコル[2]
HTMLファイル、スタイルシート、スクリプト、画像などを送受信できる
WebクライアントからWebサーバへデータを送信し要求することをHTTPリクエスト
WebサーバからWebクライアントへの返答をHTTPレスポンスという
HTTPリクエスト
WebクライアントからWebサーバへデータを送信し要求すること
HTTPレスポンス
HTTPリクエストに対する返答のこと
リクエストメッセージ
HTTPリクエストを投げる際に送信される情報のことで以下の3つで構成されている
- リクエストライン
- HTTPヘッダ
- メッセージボディ
リクエストライン
以下の3つで構成されている
- メソッド
- リクエストURI
- HTTPのバージョン
メソッド
メソッドは5種類存在する
GET | POST | PUT | PATCH | DELETE |
---|---|---|---|---|
データの取得 | データの送信(新規) | データの送信(更新) | データの送信(付与) | データの削除 |
HTTPヘッダ
クライアントの情報やリクエストの内容や形式などが含まれている
大量にあるのでこちらを参照してください
メッセージボディ
GET, HEAD, DELETE, OPTIONSの場合は基本的に含まれていないことが多い
POSTの場合は、受け渡されるパラメータが含まれている
ステータスコード
100-199 | 200–299 | 300–399 | 400–499 | 500–599 |
---|---|---|---|---|
処理が継続 | リクエストが成功 | 他のリソースへのリダイレクト | クライアントエラー | サーバーエラー |
HTTPはステートレスである
HTTPはWebクライアントとWebサーバの間でデータの送受信を行いますが、サーバは多くのクライアントの通信を保持してしまうとサーバー負担が大きくなってしまう為、クライアントのアプリケーション状態を保持していません。
これをステートレスといいます。
しかし、ステートレスだとWEBが進化するにつれて不都合が出てきてしまいました。
それを解消する為に使用されたのが cookieとsessionです
Discussion