简单问题:
onResponseReceive getStatusCode
返回200而不是304。
Fiddler告诉我,响应状态代码是304。
我该怎么做: 我经常轮询服务器以获取新数据(每10秒钟)。如果数据没有改变,则用304响应,否则用200和整个数据响应。在onResponseReceived方法中,状态代码始终为200,并且数据始终存在。
任何tipps如何获得304.我读了一些关于If-Modified-Since的内容,这会导致数据的整个重发(使用代码200)但我实际上想要304.我也不想comapre手动数据,看它是否改变了。
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
最诚挚的问候, 斯蒂芬