「ヘッドレス」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