Webのキャッシングとは、帯域使用率、Webサーバの負荷、ユーザーに感じられる“ラグ”を削減するための Web文書のキャッシングである。Webキャッシュシステムは、ドキュメントのコピーを保存し、以降のリクエストは一定の条件が満たされればキャッシュから供給すれば問題なくなる。アプリケーションフレームワークには文書をキャッシュし、Webテンプレートシステムをバイパスする機構を提供するものもある。
動的なWebページは通常静的な部分 (HTML) とHTMLを生成するコードである動的な部分からなる。HTMLを生成するコードはテンプレート上の変数あるいはコードから生成を行う。生成されるテキストをデータベースから取得することで、サイト内のページの数を劇的に少なくすることができる。例として 500軒の家を扱う不動産会社を考える。静的なWebサイトでは、不動産会社は500ページ作成する必要があるが、動的なWebサイトでは、不動産会社はただ動的なページを500レコードを持つデータベースに接続するだけでよい。テンプレートでは、プログラミング言語由来の変数を、コードを使わずに挿入することができるため、Webサイト内のページを更新するためにプログラミングの知識が必要なくなる。HTMLと変数を区別するための記述方法が定義されており、たとえばJSPでは <c:out> タグが変数を出力するために使用され、Smartyでは{$variable} が用いられる。多数のテンプレートエンジンはIFやFOREACHといった若干の論理タグをサポートしている。これらはビジネスロジック層ないしMVCパターンにおけるM（モデル）との明確な分離を行うため、プレゼンテーション層に必要な決定を行うためだけに用いられる。
パラメータの付加されたURLをわかりやすいURLに自動的に変換することにより、システムは使いやすく、またさらなる利点としてサーチエンジンがインデックスを作りやすくなる。たとえば、?cat=1&pageid=3で終わるようなアドレスを/category/science/topic/physicsや/science/physicsへの変換するような例である。カテゴリーのIDが変更されてもURLは変わらない（従ってサーチエンジンに対して有利である）。URLの変換により、アプリケーションがREST的な設計方法の一部の要素によりうまく適合できるようにすることができる。
多数のWebアプリケーションフレームワークはバックエンドのデータベースに対する統一されたAPIを提供し、コードの変更なく多数のデータベースとやりとりすることを可能にし、プログラマーがより高位の概念を扱うことができるようにしている。また高いパフォーマンスを得るため、AOLserverが行うようにデータベースのコネクションがプールされていなければならない。さらに、オブジェクト指向フレームワークはオブジェクトと関係モデルとの対応づけを行うオブジェクト関係マッピングの機能を提供するマッピングツールを備えている。Webアプリケーションフレームワークが提供するその他の機能としてトランザクションのサポートやデータベースの移行ツールなどが含まれる。
Webアプリケーションフレームワークにはアクセス制御機能（ユーザ認証とアクセス認可）を備えたものもある。Djangoはその一例で、ロールに基づいてページに対するアクセスを管理する機能と、ユーザーの作成やロールの割り当てのためのWebベースのインターフェイスを提供する。
自己記述的なコンテンツ管理システムが、高位のレイヤーのWebアプリケーションフレームワークに進出し始めている。例えば、Drupalの構造は Webアプリケーションフレームワークに関連した機能を提供するモジュールにより機能を拡張できる最小限のコアを提供している。WordPress、JoomlaとPloneも同様な機能を持っている。Liferay（オープンソース）のような高度な汎用コンテンツ管理システムでは、更にコンテンツのバージョン管理、公開開始日／終了日、公開する前の承認ワークフロー、プレビュー機能、マルチメディアコンテンツの対応など従来ではWebSphereやMicrosoft SharePointなどでしか提供されていない機能にも対応している。伝統的にこれらは コンテンツ管理システムとも呼ばれる。 しかし、コンテンツの管理がこれらのシステムの上で最重要の機能であるかについては議論の余地がある。Liferayのようなフレームワークは関数API、機能のフレームワークやコーディング標準、伝統的にWebアプリケーションフレームワークに関連する機能も提供している。
ほとんどのMVCフレームワークは、プッシュ型のアーキテクチャにしたがっている。このようなフレームワークは、処理を要求するアクションを実行し、次に結果を出力するためにデータを表示のレイヤにプッシュする。 Struts、Django、Ruby on Rails、Spring Frameworkの一部であるSpring MVCなどがこのアーキテクチャの良い例である。これに対するものとしてプル型のアーキテクチャがあり、「コンポーネント型」とも呼ばれている。こうしたフレームワークは表示レイヤから処理を開始し、必要に応じて複数のコントローラからの処理の結果を「プル」する。このアーキテクチャでは、複数のコントローラーが一つのビューに関連付けられる。Tapestry、Velocity などがプル型アーキテクチャの一例である。
さいころを2個振り、双方とも最大値である6のゾロ目がいかに出るかが形勢を左右したゲームであったため、「雙六」あるいは異字体として「双六」という字が当てられるようになった（「雙」・「双」は同じ意味を持つ）という説がある。しかし、日本の遊戯の歴史における先駆的な研究家である増川宏一は、江戸時代以前の日記などの記録類においては誤記と思われる少数例を除けば「雙六」と「双六」の使い分けがはっきりとしていること、日本語以外の言語でも盤双六系遊戯と絵双六系遊戯にはそれぞれ違う単語があてられているのがほとんどであることから、両者は同じ「すごろく」であっても全く別な遊戯であり、雙六（盤双六）に「双六」という表記を用いるのは不適切であると唱えている。5世紀はじめに漢訳された『涅槃経』に見える「波羅塞戯」（はらそくぎ）が盤双六のことであるという。「波羅塞」はサンスクリットprāsaka（さいころ）の音訳。後に北魏では「握槊」（あくさく）と呼ばれ、南朝では「双六・双陸」（そうりく）と呼ばれた。唐以降は「双六・双陸」と呼ばれるようになった。日本語では古くは「すぐろく」と言った。これは「双六（または双陸）」の漢字音に由来すると考えられるが、「双」を「すぐ」と読むのは異例である（「す」の母音は上古音的であり、また /ŋ/ を「ぐ」のようにガ行で写すのは「愛宕（あたご・おたぎ）」などの固有名詞以外では珍しい）。