prog_cgi:動的コンポーネントと静的コンポーネント
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
prog_cgi:動的コンポーネントと静的コンポーネント [2019/03/06 11:00] – 作成 hirohito | prog_cgi:動的コンポーネントと静的コンポーネント [2019/03/07 00:09] (現在) – [静的コンポーネント] hirohito | ||
---|---|---|---|
行 1: | 行 1: | ||
====== | ====== | ||
- | ウェブアプリで表示されるコンテンツでは、プログラムを使って生成される動的コンポーネント(部分)と、CSSファイルやアイコン画像のように、内容が変化せず、プログラムを介さない静的コンポーネントがあります。 | + | 一般に、ウェブページでは1ページに複数の独立したコンポーネントで構成されます。 |
+ | ウェブアプリも例外ではなく、表示されるコンテンツには、プログラムを使って生成され、状態によって内容が変わる動的コンポーネント(部分)と、CSSファイルやアイコン画像のように、内容が変化せずプログラムを介さない静的コンポーネントがあります。 | ||
- | ここで問題になるのは、ポータブルなアプリケーションを設計しようとした場合、URLに含まれるパスをどのようにするかということです。 | + | ここで問題になるのは、ポータブルなアプリケーションを設計しようとした場合、それらコンポーネントを指示するURLに含まれるパスをどのようにするかということです。 |
- | 例えば動的コンテンツでは、以下のようなURLでアクセスする場合があります。 | + | |
+ | |||
+ | ===== 動的コンポーネント ===== | ||
+ | |||
+ | 動的な内容をもったコンポーネントは、プログラムによって生成されます。そのため Alone では、必ずエントリポイントを介して開始されます。 | ||
+ | |||
+ | 例えば動的コンテンツでは、以下のようなURLでアクセスされます。 | ||
+ | |||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | この例では、cgi-bin/ | ||
+ | |||
+ | もう一つ例を示します。 | ||
+ | 画面にグラフがある場合、テンプレートファイルに書く内容は例えば以下のようになります。 | ||
+ | |||
+ | <img src="< | ||
+ | |||
+ | これがテンプレートマネージャによって展開され、実際にブラウザには以下のようなタグが送られます。 | ||
+ | |||
+ | <img src="/ | ||
+ | |||
+ | 以上のように、動的コンポーネントの場合、make_uriメソッドにパラメータを与えてやるだけで、後はAloneが面倒を見てくれます。 | ||
+ | |||
+ | |||
+ | |||
+ | ===== 静的コンポーネント ===== | ||
+ | |||
+ | 先の通り、動的コンテンツでは、以下のようなURLでアクセスされます。 | ||
< | < | ||
- | http:// | + | http:// |
</ | </ | ||
- | このサーバでは、cgi-bin以下でCGIを動作させる仕様だったため、cgi-binにエントリポイント index.rb を設置して動作させています。ここで生成されるページでアイコンを使いたい場合、以下のようなタグを生成するでしょう。 | + | この例では、cgi-bin以下でCGIを動作させる仕様だったため、cgi-binにエントリポイント index.rb を設置して動作させています。ここで生成されるページでアイコンを使いたい場合、以下のような |
<img src=" | <img src=" | ||
- | ところがこのような記述があると、ブラウザは、/ | + | ところがこのような記述があると、ブラウザは、/ |
<img src="/ | <img src="/ | ||
- | 今度は良さそうですね。ブラウザがアイコンを読み込むときに使うURLも意図通りに見えます。 | + | 今度は良さそうですね。ブラウザがアイコンを読み込むときに使う実際のURLも以下の通り意図したものになります。 |
< | < |
prog_cgi/動的コンポーネントと静的コンポーネント.txt · 最終更新: 2019/03/07 00:09 by hirohito