legacy-knowledge-base
公開されました Sep. 10, 2025

2048文字を超える長いコンボURL

written-by

Madhusudan Sharma

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 2048文字を超える長いコンボURLがWAFレベルでブロックされる。

環境

  • Liferay DXP 7.4

解像度

  • 長い /combo URLは、主にパフォーマンス上の理由から、意図的に最大URLサイズに近くなるように設計されています。
  • コンボ」で始まる長いURLのソースは、「TopHeadDynamicInclude.java」クラスである。
  • URLの長さを短くすることを追求し続けたいのであれば、カスタマイズを導入するのが前進するための最良の選択肢かもしれません。
  • 長い /combo URLをカスタマイズするための主な場所は、次の場所です。 クラスです。 クラスにある。 Liferayのコアコード(このファイルで定義されています)のデフォルトでは、URLが2048文字を超えるまで新しい相対パスが追加されます。
  • さらに にはにはURLの長さ制限の設定があり、デフォルトは2000です( )。
  • さらに、これらのコンボURLはポータル内のLiferay TopHeadDynamicInclude.javaによって生成され、2048文字以上になるまで相対パスを追加し、新しいsrc要素を作成します。 つまり、URLが2048文字を超えると、連結をやめて新しい「コンボURL」の作成を開始し、2048文字を超えるURLは、その「コンボURL」に最後に追加されるURLとなる。 このため、ほとんどの場合、2100文字前後の長さになる。
  • さらに、これらの長いURLはバグでも製品の制限でもなく、公式仕様RFC7230 に見られる業界標準の範囲内です。 セクション2.5"HTTPは、そのプロトコル要素の多くについて特定の長さの制限を持っていません。
  • セクション3.1.1には、「HTTPは、セクション2.5で述べられているように、リクエスト行の長さにあらかじめ定義された制限を設けない。 実装しているメソッドよりも長いメソッドを受け取ったサーバーは、501(Not Implemented)ステータスコードで応答するべきである[SHOULD]。 解析したいURIよりも長いリクエストターゲットを受け取るサーバーは、 414(URI Too Long)ステータスコードで応答しなければならない[MUST](参考文献[RFC7231] のセクション6.5.12参照)。
    リクエスト行の長さに関する様々なアドホックな制限が、実際には見ら れる。 すべてのHTTP送信者と受信者は、最低でも8000オクテットのリクエスト行長をサポートすることが推奨される(RECOMMENDED)。"

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base