こんにちは。
リモートワークになり早1ヶ月。
最近は土日の有り難みをあまり感じなくなり、常にちょいオン状態が続いております。どうもハチマキです。
はじめに
前回に続き、入社早々に上長から教えてもらった
エンジニアデビュー3ヶ月後くらいに読むと良さそうな書籍
「Webを支える技術 -HTTP、URI、HTML、そしてREST」の第3部のまとめになります。
1部、2部についてもまとめておりますので、ぜひそちらもご参考にして頂ければと思います。
▼書籍はこちら
www.amazon.co.jp
本日の概要 : 第3部 HTTPについて
- どんな時にために、この書籍は読んでおくべき?(第1部をご覧ください)
- 書籍のテーマと目的(第1部をご覧ください)
- 書籍の構成
- 第3部 HTTP
- 学んだこと
- HTTPの基本
- HTTPの具体的な仕組み
- HTTPのステートレス性
- 8つのメソッド
- ステータスコード
- HTTPヘッダ
- Webの成功理由
書籍の構成
- 第1部 : Web概念
- 第2部 : URI
- 第3部 : HTTP
- 第4部 : ハイパーメディアフォーマット
- 第5部 : Web サービスの設計
※今回は、第3部 : HTTPについてまとめております。
第3部 : HTTP
第3部では、HTTPの仕様と、より良いWebサービスやWeb APIを設計するために知っておくべきHTTPの特性について解説がされております
学んだこと
HTTPとは何かから始まり、基本構造や役割を知ることができた。
正直まだ概念を理解できただけであって、WebサービスやWeb APIを設計していく際に、確実に実現できるまでにはほど遠いが、今回学んだことを頭の片隅に置いておき、いざとなったときに調べられる状態にはなったかなと思う。
HTTPの基本
HTTPの具体的な仕組み
クライアントが出したリクエストをサーバで処置してレスポンスを返す仕組み(レスポンス型のプロトコル)
※リクエストメッセージとレスポンスメッセージをまとめてHTTPメッセージと呼ぶ
- クライアントで行われること・・1つのリクエストを送信しレスポンスを受信する際に次のことを行っている
HTTPのステートレス性
HTTPはステートレスなプロトコルとして設計されている
※ステートレスとは「サーバがクライアンのアプリケーション状態を保存しない」制約のこと
- ステートフルの欠点
- 1つのサーバが同時に相手をできるクライアントの数には上限がある
- クライアントの数が増えた場合にスケールアウトさせにくくなる
- サーバは常にクライアントのアプリケーション状態を覚えている必要がある
- ステートレスの利点
- ステートレスの欠点
- 送信するデータ量が多くなる
- 認証など、サーバに負荷がかかる処理を繰り返す
- パフォーマンスの低下に影響がある
8つのメソッド
- HTTPメソッドには、クライアントが行いたい処置をサーバに伝える重要な任務があり、8つの限定されたメソッドが定義されている
※POSTとPUTの使い分け
どちらもリソースを作成することが可能であるが、リソースの作成はPOSTで行い、URIもサーバ側で決定する設計が望ましい
ステータスコード・・レスポンスの意味を伝える
大きく下記5種類に分類でき、それぞれに意味があるためWebサービスやWeb APIでエラーが起きた時に、どのステータスコードを返すかは、とても重要な設計の検討事項である(正しく使うことが重要)
HTTPヘッダ
Webの成功理由
- HTTPメソッドを限定したからこそプロトコルがシンプルに保たれ、Webは成功した
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
次回は、第4部 ハイパーメディアフォーマットについてまとめて行きたいと思います。
以上、ハチマキでした。