コンテキストルート【context root】
コンテキストルートとは?

Webサーバでは、一つのホスト名のもとで複数のWebアプリケーションを並行して稼働させることが多い。このとき、Webブラウザからのリクエストをどのアプリケーションへ振り分けるかを判断する基準として、URLのパス部分が利用される。例えば、「https://www.example.com/shop/」であれば 「/shop」が、「https://www.example.com/blog/」であれば「/blog」がコンテキストルートにあたり、それぞれ独立したアプリケーションとして処理される。
コンテキストルートは、特にJava系のアプリケーションサーバ(TomcatやJBossなど)、Jakarta EE環境でよく用いられる概念である。アプリケーションをデプロイ(サーバへ配備)する際に設定され、WARファイルを配置する場合はそのファイル名がそのままコンテキストルートになることもある。設定ファイルを通じて任意の名称に変更することも可能である。
アプリケーション内部のリンクやリソースの参照は、コンテキストルートを起点として構成される。絶対パスで記述されたリンクはコンテキストルートが変わると正常に機能しなくなる場合があるため、サーバから取得したコンテキスト情報をもとにURLを動的に生成する手法が広く用いられる。これにより、配備先のパスが異なる環境でも同じアプリケーションをそのまま利用できる。
コンテキストルートを「/」に設定した場合は「ルートコンテキスト」と呼ばれ、ドメイン名の直後からアプリケーションが応答する構成となる。CookieのパスやHTTPセッションの有効範囲もコンテキストルートに基づいて制御されるため、アプリケーションごとのアクセス範囲を分離する仕組みとしても用いられる。リバースプロキシを経由する構成では、外部公開URLと内部のコンテキストルートが異なる場合があり、パスの書き換えや設定の調整が必要になることもある。