見出し画像

クライアント400サーバー500 『Web技術の基本』

・WebサーバーからWebブラウザ間でハイパーテキストのやりとり
・やりとりはHTTPプロトコルに従っている
・Webの標準化団体W3C
・Webサーバーは80番

HTTPメッセージの構成

1. 開始行
ブラウザ→GET(メソッド) /index.html(パス名) HTTP/1.1(バージョン)
サーバー→HTTP/1.1(バージョン) 200(ステータスコード) OK(内容)
2. メッセージヘッダー
3. 空行
4. メッセージボディ

クライアント400番、サーバー500番

HTTPはステートレス

ステートレスは状態を保持しない。ステートフルは状態を保持する。ステートフルは負担が大きい。

Cookieで状態を保持

set-cookieヘッダー。cookieヘッダーを含める。

DOMはプログラムとHTMLの橋渡し

Document Object Model

DOMツリーでHTMLの要素の関係性を木構造で表している。head内のtitleの値をください。とプログラムがDOMに命令するイメージ

データ構造はJSONとXML

JSONは木構造階層的。

-XML
・文字列しか表せない
・全てタグ付けだからデータサイズ大きい
・任意の場所にタグ付けできる、可読性高い
-JSON
・数値や空も扱える
・カッコで囲むから、データファイル小さめ、転送速度早い
・タグないから人間読みにくい。

Web上ではJSON

XMLはDOMが必要だが、JSONは生なのでjavascriptが使われるwebでは選択される。

Webアプリの3層構造

・プレゼンテーション層
Webブラウザ、Webサーバー(クライアントサイド)
・アプリケーション層
APサーバー(サーバーサイド)
・データ層
DBサーバー

負荷分散が層構造のメリット

サーバー機器を分けることが可能。リクエストのアクセス数の処理。複雑な内部処理。データ数増大の処理。

APサーバーの中のMVCモデル

Webサーバーの冗長化

APサーバーのセッション管理とトランザクション管理

ログインなどはセッションIDをAPサーバーがWebサーバーに発行する。Webサーバーとブラウザはそれを元にログインする。

予約手続きは、全てのやりとりが完了するまで完了しない、トランザクション単位で管理。

DBサーバーの冗長化

ミラーリング、レプリケーション、シェアードディスク。

コンテンツキャッシュサーバー

同じリクエストだったら、記憶しているから、Webサーバーの代わりにブラウザにレスポンスを返す。

クエリキャッシュサーバー

データ検索は時間かかるから、APサーバーからのリクエストを記憶して、DBサーバの代わりにレスポンスを返し、DBの負荷を軽減。

ミドルウェアの検討

Webサーバー、APサーバー、DBMSを何にするか。


いいなと思ったら応援しよう!