前回からの続き。
今回は機能とかに触れていきたさがある。
ざっくり「何かの代理となるサーバーだよ」ってのは前回触れたので、今回はもうちょい突っ込んだお話。
##フォワードプロキシについて
LANにいるクライアントの代わりに、webサーバーにデータを取りに行くヤツ。
ブロードバンド登場以前のインターネットは今のように高速ではなく、ローカルにいるクライアントの代わりにデータを取りに行きプロキシサーバーにキャッシュを保管することで、2回目以降に同じwebサーバーにアクセスする際に、クライアントがより高速にデータを閲覧することが可能になる。
これはプロキシサーバーを経由してWANと通信する全てのクライアントに当てはまるので、
もしプロキシサーバーが自宅にあったら、おうちの人がYahoo!とか見た後に自分でアクセスするとサクッと表示してくれる。
またプロキシが代理でデータを取得するという構成であるから、送信元IPアドレスを秘匿することができ、攻撃を受けた際にプロキシサーバーが身代わりになる。
主にキャッシュを保管するという部分のデメリットがとして、
第一に、プロキシサーバーを経由する通信経路になるため、初回のアクセスではプロキシサーバーがない構成よりも遅延が発生する。
次に、webサーバー上のデータが更新されたとき、キャッシュも同時に更新されるというわけではないので、クライアントが最新のコンテンツを閲覧できないことがある。
高速なインターネットが普及している現在では、メリットよりデメリットのほうが大きく、
奇特な人でない限りは一般家庭では使用されていない(と思う。)
というのも前回で言及した、インターネット接続サービスが一般ユーザーに提供され始めたときのインターネットはメチャクチャ高級品。
月額で__ウン十万円__とかかかっていたし、そもそも帯域が全然違う。
今どき、スマホで通信量制限に引っかかると128kbpsまで制限されるけど、当時はベストエフォートでそれくらい。
効率よく使うのは非常に大事だったとか。
また、今と違ってwebサーバー上のコンテンツ更新はだいたい手動だから頻度も高くない。
ここらへんの理由が相まって、常に最新のコンテンツを閲覧することよりも、インターネットそのものを効率よく使うために出てきたもの。
昨今のフォワードプロキシ事情では、webフィルタリングを搭載したりプロキシ繋がないと環境に接続させないとかで、よりセキュアなブラウジングをさせているイメージ__(主観)__
##リバースプロキシについて
こいつが出てきたからフォワードプロキシという単語が生まれたと言っていいらしい。
###そもそもなぜリバースプロキシが登場したのか
人気のあるサイトってアクセスが集中するけど、サービス提供側からするとサーバーがダウンするのってそれだけでビジネスの機会損失になっちゃうからなるべく落としたくない。ソシャゲも落ちてると叩かれたりするし。
んで最初のころはDNSラウンドロビンなんかで負荷分散してたらしいんだけど、それだと権威DNSサーバーからISPとかが持ってるキャッシュサーバーに浸透するまでラグがあり、
サービスのリニューアルとか変更をユーザーが使えるようになるまでにタイムラグが発生してしまってよくない。
※DNSの浸透という表現が正しいかどうかは置いとく
そこで出てきたのがロードバランサー!(リバースプロキシはもうちょい先)
1つのグローバルIPでも複数のHTTPサーバーが動かせるようになったということ。
とはいえ昔は文字だけのサイトだったものが、画像載せたり動画載せたり認証機能つけたりと、どんどんリッチになってきたせいでHTTPサーバーだけでは処理できないのが今どき。
そこでフロントエンドとバックエンド側(アプリケーション、データベース)とでサーバーを分割しましたとさ。
そんでもってそれぞれのサーバー間で、より効率よくデータのやり取りをしたい!
ということで、特に画像なんかの静的コンテンツは一回見に行ってキャッシュしておけばいいので、フロントエンドとバックエンドの間に、バックエンドでデータを持ってるデータをキャッシュしておいて、フロントエンドがより高速にデータを見れるようにしました。
これが__リバースプロキシ__というわけ。
##雑な説明
フォワードプロキシ:クライアントがより高速にデータを受信するために使う。
リバースプロキシ:サーバーがより高速にデータを配信するために使う。
###感想
リバースプロキシってロードバランサみたいなモンでしょ?とか思ってた時代が私にもありました.....
フォワードでもリバースでも、キャッシュを持たせることによって、より高速にクライアントへコンテンツを配信する。
という思想なのかなあ。それは変わってないんだろうなあ。と思いましたん。
具体的なパラメータとかは出せないので悪しからず....