記事一覧

カテゴリー

その他

« ブログ(blog,weblog) ..... 特定カテゴリー専用のテンプレートを作る »

静的/動的ページ

よくwebサイトで「静的ページ」とか「動的ページ」という言葉が使われますが、これは何を意味するのでしょうか?

文字や静止画だけなら「静的」で、ムービーやらアニメーションが動いているから「動的」・・・なのではありません。

静的ページとは「ブラウザで見ているHTMLが、そのままの形でWebサーバ上のファイルとして存在している事」とでも申しましょうか。まあ、「それが普通じゃないの?」と一般の方は思いますよね。

しかし、動的ページはそうではないのです。 例えば、掲示板を思い起こしてください。当然ながら、誰かが書き込むとページの内容が変わりますよね。これって、前とは違うHTMLが出来たのでしょうか?あるいは上書き保存されたのか?

違うんです。HTMLファイルはずっとそのまま、変わりません。実はこのファイルは単なるテンプレートであって、記事の内容はデータベースから読み込んで表示しているのです。つまり、掲示板に書き込むということはデータベースに書き込んでいるのであって、それを表示しているファイルをリダイレクトすると内容も変わる、という事です。

ちなみに、このDBからデータを引っ張ってきてテンプレートに流し込む作業は、サーバ側で行います。ですのでクライアント(ネット閲覧者のPC)はできた結果(HTML)をもらっているだけで、静的ページを見るのと変わりません。

逆に言うと、動的ページはサーバに負担をかけます。ただ、(全体の負荷にもよりますが)現在のマシンの処理能力から言えば、それほど大変な作業ではありません。現に、静的ページと動的ページにアクセスしてみて、反応速度の違いが判るでしょうか?僕は判りません(^^;

動的ページとパラメータ

動的ページといえば、 単に決まった内容をDBから抽出するだけでなく、URLに変数(抽出条件)を埋め込んで、表示する内容を操作することが可能なのです。

例えば、僕のサイト(バイクインプレ集)に下記のようなURLがあります。

http://www.mc-taichi.com/Bike/test/index.php?id=85

末尾に”?id=85″というコードが付いていますが、これは「”id”というパラメータが85である」という情報を、DB(を操作するシステム)に送っているのです。

このサイトでは、idとはバイクの車種毎の識別ナンバーで、85番のバイクのインプレを表示せよ、という意味になります。他の車種のリンクをクリックすると、また別のidが付いていて、それに該当する車種の情報を表示します。

この仕組みは非常に便利なので、通常は動的ページには何らかのパラメータが埋め込まれています。例えば、ショッピングサイトの商品詳細ページとか。そうしないと、膨大なアイテム一種類毎に一つのHTMLを用意しなくてはならなくなりますから。

動的ページとSEO

かつては、「動的ページはSEO上不利」なんて言われましたが、今はそんなこと無いというのが大方の見方です。

また、同じ動的ページでも、URLに”?”マークが付いていると不利、なんて書いてあるドキュメントを見かけますが、これも根拠が無いと考えてよいでしょう。これは、サーバ側の設定で”?”が付いたURLを、静的ページのようなURLに書き換えて(偽装して)いるだけですから、本質的には何も変わりません。(例えばはてなの記事参照)

WikipediaだってAmazonだって、思いっきりパラメータがくっ付いたURLですが、ちゃんとインデックスされていますしね。
検索ロボットが嫌がるのは、パラメータにどんな値が入りうるか判らない状態。 例えば、「item=100」と言う商品ページがあったとして、「じゃあitemが1から99までのページもあるはずだ」と言って一々調べていたらきりが無いという話しです。

だから、解決策は簡単で、存在するアイテムのURLへのリンクを全部張ってしまえば良いのです。 まあ、普通は何がしかのリンクを辿って行けば、全ての商品ページにたどり付くはず(そうしないと見てる人間が辿りつけない)ですが、リンク構造が複雑になりがちなのは事実です。そんな場合は、Googleだったらサイトマップを登録してくださいね、という事です。

6 件のコメント

いくずく

基礎技術講座がはじまりましたね。
まあ、確かにWEB技術系でない普通の人だと、アニメーションが動いたら「動的」と思うのは無理ないかな。
言葉にも問題あるかもしれないけど、専門用語は変なのも多いですね。

コメント 2008 年 3 月 18 日 7:43 AM

管理人タイチ

あれ?基礎講座に興味があったんですか?いくずく殿にとっては他愛もない知識だと思いますが(^^

実はこの用語の解説にはまだ続きがあります。URLの変数とかSEOの話ですね。

ちなみに、専門用語で僕が最も変だと思うのは「正規表現」です。

そうだ!いくずく殿も、豊富な知識を生かして、 用語解説を書き込んでもらえないでしょうか?

コメント 2008 年 3 月 18 日 10:03 AM

いくずく

この程度なら知ってますがね。しかしWEB系の最近の技術については僕はうといですよ。知らないものが多々ありそう。WEB関係で、僕が知ってるのは一般的なネットの技術になりますね。
書き込むって、僕はポストできないし、コメで書き込むんですか?(^_^;)
そうそう、「正規表現」はUNIX時代からよく使われてました。僕らは英語でレギュラーエクスプレッションと読んでましたけどね。
この名前はちょっと学問的なものから来てるんですよ。もとは形式言語理論の話です。

コメント 2008 年 3 月 19 日 12:07 AM

管理人タイチ

いくずく殿は何といってもネットワークスペシャリストなんで、そのあたりの用語について解説して欲しいですね。「TCP/IP」とか。

勿論コメント欄に書き込むんじゃないですよ。ユーザー登録してもらえれば、投稿者権限を与えます。

「正規表現」という表現は何かいきさつがあるんじゃないかと思っていました。ただ一般的にプログラム言語では、パタンマッチングの意味で使われるので、そのままそういえば良いのではないかと。「正規表現」というと、そのほかの文法は「非正規表現」なのかと(^^;

コメント 2008 年 3 月 19 日 8:46 AM

いくずく

最近大概のものはネットに説明ありますからねぇ。TCP/IPなんかだとちょっといろんなとこにありすぎな気がしますが。(^_^;)
なんか新機軸の切り口がないと読者読んでくれなさそう。
なんか面白そうなのあれば投稿してもよいですが、ユーザー登録ってどうするの?

コメント 2008 年 3 月 20 日 9:43 PM

管理人タイチ

新機軸の切り口ねえ(^^;
確かにネット上には用語解説は沢山ありますが、どれも言い回しが堅かったり、そっけなかったりしますよね。
なので、ここでは一般の人の目線に立って「そうそう、ここが判らなかったんだよ」と思ってもらえるように、身近な事例を織り交ぜたキャッチーな記事にする、ってのはどうですか?(^^
とりあえず、ユーザ登録は左の”Meta”メニューの下の「ユーザ登録」から進んでください。メルアドを入れると暫定パスワードが送信されます。

コメント 2008 年 3 月 20 日 11:11 PM

コメントをどうぞ

ニックネーム:

メールアドレス(公開されません) :

WEBサイト:

コメント:

※コメントは承認制ですので、表示されるまでしばらくお待ちください。

« ブログ(blog,weblog) ..... 特定カテゴリー専用のテンプレートを作る »