0

Jetty では、jetty-rewrite 機能を使用してヘッダーを設定できますが、あまりスマートではないようで、固定文字列しか受け入れません。

Jetty に「8 時間で期限切れ」ヘッダーを送信するように指示するにはどうすればよいですか?

Apache .htaccess と mod_expires を使用すると、「アクセス プラス 8 時間」を実行できますが、もちろん、Jetty は .htaccess ファイルを認識しません。また、jetty-rewrite.xml で同様の構成に関する情報を見つけることもできません。

<Call name="addRule">
    <Arg>
        <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
            <Set name="pattern">*.png</Set>
            <Set name="name">Expires</Set>
            <Set name="value">access plus 8 hours</Set>
        </New>
    </Arg>
</Call>

これは、"access plus 1 day" というリテラル テキストを送り返すだけで、もちろんクライアントには無視されます。

これは、サーブレット フィルターを使用して行うことができますか? Jetty にはGzip フィルターがありますが、動的にヘッダーを設定するための同様のものを提供しているようには見えません。

4

1 に答える 1

1

それは素晴らしい機能かもしれません..

RT/Jetty の下の bugs.eclipse.org で、その拡張機能を開きます。バグに添付されるか、または gerrit インスタンスにプッシュされるかのいずれかで、パッチを歓迎します。

そうは言っても... jetty xmlは実際にはJava上のxmlレイヤーなので、APIを見つけることができればJavaで実際にこれを行うことができると思います。その値を入力するために new DateTime().plusHours(8) を呼び出す何かを接続できるメソッドを持つjoda timeライブラリがあると思います。

ただし、機能として追加する方が良いでしょう。

于 2012-08-27T12:02:29.950 に答える