响应中200而不是304

时间:2012-04-19 08:25:47

标签: ajax gwt http-status-codes http-status-code-304 http-status-code-200

简单问题:

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

最诚挚的问候, 斯蒂芬

0 个答案:

没有答案