目的
この記事シリーズではSpringで簡単なTODOアプリを作ってWeb作成の流れを整理と復習していくものです。本記事では、Springなど具体的な話に入る前に必要なWebでのデータのやりとりの仕方がどのようになっているかなどを書いていきます。
サイトにつながるまで
私たちが普段使っているWebサイトはブラウザを介して接続しています。
私たちが何か調べたいとき、ワードで検索してそれに合ったサイトをクリックしてページを表示させます。(写真はスピッツを検索したとき)
この時に何が起こっているのか
この時、リンクをクリックしてからサイトが表示されるまでにどのような処理がされているのでしょうか。
結論としてはURL(リンク)をサーバーに送り、そのURLに合わせた返しをプログラムによって決めています。
スピッツの例だと、クリックすると「https(:)//spitz-web.com/himitsu/album/」がサーバーに送信され、それに合わせたページ、今回では開いたページが返されているということになっています。
まとめ
このようにWebサイトはリンクをベースにサーバーと連携し、それによりプログラムが動き、やり取りをしていることがわかりました。
インフラとソフトウェア開発
先ほどはユーザ目線で考えましたが、今度はアプリ作成者の立場になって考えてみます。
アプリ作成者側に必要なのは、ユーザからのリクエストを受け取り、それを返すネットワーク関係とリクエストを処理するプログラムが必要です。
ここでネットワーク関係を担当するのがいわゆるインフラでプログラムを作る方がいわゆるプログラミングで解決するところです。
Web開発での動き(MVCモデル)
Web開発においてユーザのリクエストをどのように処理しているのでしょうか。
それは『URL(リンク)を合言葉』のようにしてやり取りしています。
そのやり取りのデザインパターンの1つとしてMVCモデルというものがあります。
MVCモデルとはModel、View、Controllerの3つの役割に分け、Modelはデータを管理し、Viewはサイト、フロントエンドの部分を管理し、ControllerはModelとViewを管理するというモデルです。
流れとしてはControllerがユーザのリクエストを受け取り、そのリクエストに応じた処理を行います。データを動かすことが必要なときは、Modelを動かし、Viewを返します。