現在、私はHTML部分(ビュー)をレンダリングできるMVCフレームワークのルーティングコードを書いています。これらの部分は、サーバー側またはクライアント側(MootoolsのHTML要求を使用して)読み込むことができます。すべてのページのレイアウトは、複数の部分から構築されます。私はそれを休ま対応になりたいとして、次のように、部分的に各HTML(ビュー)が(インデントが意図した文書構造を示した)、定義されたURL空間のURLにマップ:同じURL /ルートのHTMLパーシャルレイアウトとフルレイアウトを区別する
...
/
/navigation
/content
/profile
/profile/1
/profile/1/message/
/profile/1/message/1
/profile/1/message/2
...
今の問題は、私がしたいということです人々は "/プロフィール"を訪問し、HTML部分的に表示されず、代わりに完全なレイアウトを表示できるようになりました。例えば、
1)パーシャルのためのURLで別の名前空間/プレフィックスの作成:私は、次のことを考えた
- /プロファイルの完全なレイアウトのための部分のための
- /部分/プロファイルを
2)カスタムHTTPヘッダーを送信して、完全なレイアウトを要求するカスタムHTTPヘッダーを部分的に要求するか、要求しません。
最初のオプションはReSTに準拠したキャッシュフレンドリですが、未知の可能性のある他のオプションについてはまだわかりません(実際の問題です)。
- 私が要求してパーシャルと完全なレイアウトを区別しなければならないのは何の選択肢:
私は上記の解決策の1の実装を開始する前に、私は次の質問を持っていますか?
- 各部分のクライアント側の状態/コンテキストを保持するベストプラクティスは何ですか?
私は正確な問題を理解していません。 http://example.com/content/profile/1/message/2にあるメッセージのリソースを利用可能にし、http://example.com/content/profile/にプロファイルを持つことができると説明したURLのヒントを与えられます1 – ordnungswidrig
問題は、レイアウト(ヘッダー、フッター、ナビゲーションなし)を除いた*部分的なものとして "example.com/content/profile/1"を要求し、 "example.com/content/profile/"を要求することを区別する必要があることです。レイアウト(ヘッダ、フッタ、およびナビゲーションを含む)の部分*として* 1を指定します。これは、キャッシュに適した方法で行う必要があります。 – Komerdoor