全く技術知らないIT初心者のためのWebサービスの仕組みを絵で解説してみる。

最近人に説明する機会が少なくてなかなか情報を整理して伝える能力がかけてきているので練習がてら、全く技術詳しくない人に説明するとしたらどう説明するかを個人的なプロジェクトとして試みてみる。基本的には絵だけが何よりもの理想だけど実際それは難しい。

ってことで始める。

Webサービスって何?

スクリーンショット 2018-02-24 22.35.19.png

webサービスは会社や個人が提供しているパソコンやサーバからwebページの形で享受できるサービスです。享受する人たちのことをユーザと言います。webサービスはブログのようなものからSNS、Amazon、楽天のようなショッピングサイト、Googleなどの検索サイト等様々なものを含んでいて、webを通して提供されるすべてのサービスを指します。

もう少し詳しく説明するとwebページはどう動いているの?

スクリーンショット 2018-02-24 21.17.57

http://xxxのような書き方をURLと言います。webページはパソコンから指定されたURLに対応した内容をデータとして送りかえしてブラウザに表示されることで利用することができます。この仕組みの登場人物として、webサービスでは[webページやサービスを提供しているパソコンたちサーバ側][ページの要求をするパソコンたちクライアント側][それらをつないで情報を渡しているインターネット]によってできています。どんなURLを書かれたらどんなページを返すかはwebサーバを作っている人が決めることができます。例えばツイッターならhttps://twitter.com/urusulambdaのようにURLを指定された場合に@urusulambdaのツイートのページを表示するといった形で提供します。これはサービスを提供している人の設計次第なので別のページを見せることも可能です。

サーバと言う言葉は聞いたことがあると思いますが、サーバで使われるパソコンは普通のものでも構いません。しかし大企業のサーバでは壊れにくかったり反応が早かったり、冷却能力に優れていたり、大容量だったり様々な工夫があるためそういった特殊なサーバ用に用いるパソコン(サーバラック等含めて)を用意することが一般です。

webブラウザはwebで送られてくるwebページを見るためのアプリです。ChromeとかInternetExplorer、FireFoxのことを指します。ユーザが簡単にURLを以下の入力欄に入力してページを要求することができます。

スクリーンショット 2018-02-24 23.18.37

順番としては、

  1. ユーザ(クライアント側)がURLをブラウザで指定
  2. インターネットを通してURLの要求がサーバ側のパソコンに伝える
  3. サーバ側のパソコンがURLに従ってユーザのためのページをプログラムで作成
  4. 作ったユーザ用のページをインターネットを通してユーザ(クライアント側)に返します。
  5. ユーザのブラウザで届いたページを表示します。

たまにwebページが見えないときがあると思いますが、それは上記の過程のどこかで問題が怒っているということです。ただ、インターネット全体が不調になることは滅多にないのでそこらへんはあまり疑う必要がありません。どちらかといえばサーバが返答しないとかサーバ側の不調の方が圧倒的に多いと思います。

インターネットってどう動いてるの?

スクリーンショット 2018-02-24 23.44.23.png

インターネットと言われる機械のようなものはありません。あるのはひたすらネットワークで繋げられたパソコンやルータの集まりだけです。それらが協調して自分の情報を目的のパソコンまで繋げてくれます。

インターネットで自分の探しているページを見つけなくてはなりません。そのときに役に経つのがIPアドレスです。相手のインターネット上のアドレスになります。IPアドレスなどを教えてくれるのが[DNSサーバ]の役割です。

自分がユーザとしてhttp://aaa.bbbb.ccc.co.jpのようなページを見つけにいくとします。

  1. ユーザのパソコンからまずjpのDNSサーバにaaa.bbbb.ccc.co.jpがわかるcoのDNSサーバはどこ?と聞きます。
  2. あのcoの DNSサーバに聞けばわかるよと言われ、今度はそちらに問い合わせます。
  3. そうするとそのco DNSサーバが最終的な目的のサーバのipアドレスをユーザのパソコンに教えてくれます。
  4. 最終的にユーザのパソコンはそのipアドレスに向かってURLを送りつけて、希望のページを送るように要求します。

これが自分が上で書いた検索のボックスにURLを入力したときの一連の動きです。

どうやって私だってわかっているの?

スクリーンショット 2018-02-25 0.08.12

簡単に説明してきましたが、最後にどうしてサーバが自分が見に来ているとわかるかということを簡単に説明します。実はwebブラウザにはcookieというサーバ側から指定してクライアント側におけるデータがあります。この場所にサーバがユーザを判断できる情報を書き込んでおきます。サーバではユーザがログインした後にsessionIDをデータベースに用意してユーザのデータと結びつけておきます。また、ユーザのwebブラウザにもsessionIDという情報をcookieに書き込んでおけます。

ユーザはwebブラウザでページを要求するたびにcookieも裏で送っているのでサーバ側で「あ、またあいつがきた」とわかることになります。逆に何らかの方法でこのcookieの値が悪意あるユーザに取られてしまう(抜かれる)と自分のふりをされてしまうことになります。セッションを乗っ取られることをセッションハイジャックと言います。

 

おわりに

かなり簡単ですが、webサービスのインターネットの仕組みを含めて簡単に解説しました。これでも全くwebサービスの詳細は説明できていませんが、概要は抑えていただけるのかと思います。上の4枚の絵でどの程度理解してもらえるかなるべくわかりやすいまま詰められるだけ詰めたつもりではある。。。どうか伝わってほしい。伝わってくれ。

About the author

コメントを残す