ログインユーザのWebページキャッシュ方法
2009/08/06 15:56Update
Webページのロード時間を縮減するためによく利用するページキャッシュ機構。Webページにユーザ独自のコンテンツがある場合、ページキャッシュをどのように処理すればよいかを考えてみました。
問題
Webサーバが最初にリクエストされるWebページをキャッシュに保存し、次回アクセスしたときには、データベースにアクセスする代わりにキャッシュされた内容をレスポンスとして出力する仕組みです。
多くのデータベースにアクセスするとCPU負荷が高くなり、処理時間が掛かるので、ページキャッシュを利用することで、Webページを高速化することができます。
普通のページキャッシュ処理だと、一つのWebページは一つのキャッシュとなり、ユーザごとに区別されません。
ユーザがログインした場合、Webページ上にそのユーザと関連する情報を表示したい場合があります。
このように、ユーザ独自のコンテンツを必要となる場合、ページ・キャッシュをどのように行えばよいでしょうか。
目標
◇ ページキャッシュ利用
◇ ログインユーザのページキャッシュも可能
方法
1)Ajaxによるユーザ独自コンテンツの表示
HTMLコード例:
<html>
...
<script>
function getLoginUserContents() {
Ajaxによるユーザ独自コンテンツを取得して表示する
}
getLoginUserContents();
<script>
<..>
ページ共通部分
</..>
</html>
2)iframeによるユーザ独自コンテンツの表示
HTMLコード例:
<html> ... <iframe src="/getLoginUserContents.jsp"> <..> ページ共通部分 </..> </html>
3)クッキーによるユーザ独自コンテンツの表示
■ログイン時:ユーザ情報をクッキーに書き込み
■ページ表示時:クッキーからユーザ情報を読み込んで表示する
詳しい実装方法について、ここでは説明しません。
Sponsored Link
- Relative Articles