Webを支える技術(3)

実施日時:2020/9/16
対象範囲:第6章~第7.8章
参加者:くめごん、よりどり、よーだい、kassyi

インターネットのネットワークプロトコルは階層型になっている
ネットワークインターフェース層:物理的なもの
インターネット層:IP、ネットワークIFでデータ送信のみ保証
トランスポート層:データの転送を保証する
アプリケーション層:インターネットアプリ(メール、DNS、HTTP)を実現する。ソケットと呼ばれるライブラリを使う
HTTPの最新バージョンは1.1、1990年にWebを発明した時のプロトコルはHTTP0.9
HTTP1.0が最初の標準化
RFC2616が現在のHTTP1.1仕様
HTTPをバージョンアップするのでなく、HTTP1.1を有効活用をする方向になっている
HTTPはクライアント/サーバー型プロトコル
リクエストメッセージとレスポンスメッセージをまとめて「HTTPメッセージ」と呼ぶ
・リクエストメッセージの「GET /test HTTP/1.1」をリクエストラインと呼ぶ
「Host:example.jp」をHostヘッダと呼び必須
リクエストメッセージの2行目以降はヘッダが続く。
ヘッダの後にボディが続くこともある
・レスポンスメッセージの1行目(HTTP/1.1 200 OK)は「ステータスライン」と呼ぶ
2行目のContent-Type・・・はヘッダ
ヘッダとボディは"空行"で区切られる
HTTPはステートレスであり、サーバーがクライアントのアプリケーション状態を保存しない
半面、ステートフルはサーバーは状態を保存している
ステートフルの欠点としてクライアントのアプリケーションを相手にする数に上限がある。
ステートレスの欠点としてクライアントが必要な情報を全部送信する必要がある
⇒送信するデータ量が多くなる
 認証など、サーバーに負荷がかかる処理を繰り返す
 途中で通信が途切れた場合に望まない結果となることが有る
 
7章
HTTPメソッドにはクライアントが行いたい処理をサーバーに伝える役目がある
メソッドが8つしかない
HTTPメソッドでGET,POST,PUT,DELETEは4つでCRUDを満たす
CRUDとは、Create(作成)、Read(読み込み)、Update(更新)、Delete(削除)というデータ操作の基本となる4つの処理
GETは指定したURIの情報を取得する。一番多く使用されている
POSTはGETに次いで使用される
・子リソースの作成
・子リソースへのデータの追加
・他のメソッドでは対応できない処理
PUTはリソースの内容の更新とリソースの作成
存在しないリソースへアクセスした場合、リソースを新しく作れる
POSTとPUTの使い分けは、PUTはリソース作成はクライアントが決定する。
サーバーに決定権を与えるためにはPOSTで作成をするべき
optionalを使用する場合、クロスオリジンリソースシェアリングの時がある。



この記事が気に入ったらサポートをしてみませんか?