【Web技術】ネットワーク用語を✅
筋トレして勉強して飯食って銭湯入る生活が一生続けば良いのにと常々思っている23期酒ケジュール改修中です。
今回は、Web技術の学習、特にネットワークの仕組みを復習していきたいと思います。
Webブラウザにデータが表示されるまでに起こっていること
アプリを作成していて、どのようにデータがやり取りされるかを今一度理解しておきたい。
1 クライアントがサイトにアクセスする
⇨クライアントとサーバ
2 データを要求する
⇨ネットワーク
3 サーバが色々処理する
⇨サーバ
4 クライアントにサーバがデータを送り返す
⇨サーバとネットワーク
5 受け取ったデータを画面に表示する
⇨ネットワークとクライアント
コンピュータ
ハードウェアとソフトウェアに分けることができる
ハードウェア
手にとって触れる機会、パソコンやスマートフォン、タブレットなど
ソフトウェア
物理的に触れられないもの。
プログラミングを指す。OSやアプリケーションのこともさす。
OSとは、オペレーティングシステムの略。
アプリケーションとは、特定用途のために作られたものを指す
アプリケーションを作るには、プログラミング言語が必要になる。
プログラミング言語を効率よく使うための共通部品、ライブラリが存在する
-
種類
Facebookでログインするための部品
Swiftで書かれた画像加工の共通部品
検索機能を実装するための部品
ライブラリは、フレームワークの中に存在する。
クライアント
具体的なクライアント
サーバ
リクエストを受け付けてレスポンスを返す役割を持つアプリケーションやコンピュータ
レスポンスとは
クライアントからの欲しい情報リクエストに対して応答すること
リクエストに応じて4つ種類がある
-
例
WEBサーバ
APサーバ
DBサーバ
検索サーバ
WEBサーバ
クライアントからリクエストを受け付けてWebページや画像を返すサーバを指す。
あらかじめ用意しておいた、ページや画像ファイルなどの静的ファイルを送り返す役割を持つ。
-
例
NginX
Apache HTTP Server
APサーバ
Webアプリケーションを動かすためのサーバ
リクエストに応じて内容が変化する動的ページを返す。
application.html.erbに書かれたページの<%= render %>部分がそうなのかも。同じレイアウトでも、ユーザーによって違うページを返す
-
例
DBサーバ
データを保存したり取り出したりする。
検索サーバ
大量のデータの中から索引する。
DBサーバからのリクエストに対して、ここにデータがあるよといったレスポンスを返す。
-
例
Elasticsearch
Solr
クライアントがデータをリクエストしたときの流れ
クライアント⇨webサーバ→
APサーバ→検索サーバ→
APサーバ→DBサーバ→
APサーバ→webサーバ⇨クライアント
補足
webサーバは静的ファイルを作成している
動的ファイルはAPサーバが作成してレスポンスしている
ネットワーク
複数のコンピュータを繋いでデータを送受信するもの
コンピュータ同士をケーブル中継器で繋いている