マルチページアプリケーション 【MPA】 Multi-Page Application
概要
マルチページアプリケーション(MPA)とは、Webアプリケーションの構成法の一つで、利用者が通信を伴う操作をするたびにWebサーバにWebページの送信要求を行い、新しいページを開いて操作を続行する方式。Web技術で対話的に操作するアプリケーションを構築する場合、利用者の入力や操作をWebサーバへのページ読み込み要求として伝達し、操作結果を反映したWebページをブラウザが読み込むというサイクルを繰り返すのが最も単純な方法となる。これをマルチページアプリケーションという。
これに対し、最初に一回だけスクリプト(簡易なプログラム)を記述したWebページをWebブラウザに読み込ませ、サーバとの通信やページの表示状態の更新などはスクリプトが行うことで、ページの再読み込みを伴わずに対話的なWebアプリケーションを実現する手法がある。これは「シングルページアプリケーション」(SPA:Single Page Application)と呼ばれる。
初期のWebブラウザにはページ遷移を伴わずにサーバと通信する方法がなかったため、WebアプリケーションはすべてMPAとして実装されていたが、XMLHttpRequestおよびAjaxの手法が広まったことでSPA方式も一般的となった。現在では用途や目的に応じてSPAにするかMPAにするかを開発時に選択するようになっている。
MPAは操作状態ごとに異なるWebページとなるため、何らかのコンテンツが掲載されたオープンなWebサイトの場合は、ページごとに検索エンジンに収集・登録されやすく、利用者が検索によってサイトやコンテンツを発見しやすくなる利点がある。SPAのような初回アクセス時の長い待ち時間(ロード時間)も無く、すぐに使い始めることができる。
ただし、利用者が操作を行うたびにページ遷移が発生するため、SPAやコンピュータ上で直に実行されるネイティブアプリケーションに比べると「もたつき」感が大きく、何度も繰り返し操作や入力を行う用途では利用者のストレスとなる場合がある。一回の操作ごとにWebサーバと通信を行うため、SPAとは異なりオフライン状態では一切利用できなくなる。