0

「ヘッドレス」XPage(JSONを返す)があり、Expiresヘッダーを設定して、ブラウザーが少なくとも1時間JSONフィードを再度要求しないようにします。AfterRenderResponseイベントに次のようなコードがありますが、応答ヘッダーを見ると、Expiresヘッダーが表示されていますが、Dominoが強制しているように見える追加の「Expires:-1」ヘッダーも表示されています。これは8.5.1および8.5.3サーバーで見られます。これは既知のバグですか?Dominoがexpiresヘッダーを追加しないようにする方法はありますか?

// Get handle to output writer - we will sender JSON text directly 
var externalContext = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = externalContext.getResponse();

// set headers
response.setContentType("application/json"); 
var now = new Date(); 
response.setDateHeader ("Expires", now.getTime() + (60*60*1000));
response.setHeader("Cache-Control", "public");

// Output it
writer.write(getJSONResponse ());
writer.endDocument();
facesContext.responseComplete();

応答に表示されるのは次のとおりです。

HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Tue, 15 May 2012 13:17:57 GMT
**Expires: -1  <--- WHY????**
Content-Type: application/json;charset=UTF-8
Expires: Tue, 15 May 2012 14:17:52 GMT
Cache-Control: public
Content-Length: 901
4

1 に答える 1

1

beforeRenderResponseイベントを使用するように変更すると、-1expiresヘッダーが消えます。

これはおそらく、応答の一部の後に開始されたafterRenderResponseイベントに関連しているため、-1expiresヘッダーが作成されています。

于 2012-05-15T14:16:41.647 に答える