简单的问题:
onResponseReceive getStatusCode
返回 200 而不是 304。Fiddler 告诉我响应状态码是 304。
我该怎么做:我不断地轮询服务器以获取新数据(每 10 秒)。如果数据没有改变,它会响应 304,否则会响应 200 和整个数据。在 onResponseReceived 方法中,状态码始终为 200,数据始终存在。
如何获得 304 的任何提示。我阅读了一些关于 If-Modified-Since 的内容,这会导致整个数据重新发送(使用代码 200),但我实际上想要 304。我也不想通过以下方式比较数据手,看看有没有变化。
GWT 代码:
RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET,
dataUrl);
requestBuilder.setHeader("_____", "none");
requestBuilder.setHeader("_______", "_________");
requestBuilder.setCallback(new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
PrintResponse.printResponse(response, "EntryPoints");
if (response.getStatusCode() == 200) {.....}
}
@Override
public void onError(Request request, Throwable exception) {
}
});
try {
requestBuilder.send();
} catch (RequestException e) {
e.printStackTrace();
}
回复:
HTTP/1.1 304
Content-Type: application/json
Cache-Control: max-age=0
Content-Length: 0
Date: Thu, 19 Apr 2012 10:49:10 GMT
Server: ________
Connection: Keep-Alive
Keep-Alive: timeout=60
最好的问候,斯特凡