Это совершенно неправильно!

ой код:

    final HttpURLConnection conn = (HttpURLConnection) sourceURL.openConnection();
    if (cachedPage != null) {
        if (cachedPage.eTag != null) {
            conn.setRequestProperty("If-None-Match", cachedPage.eTag);
        }
        conn.setIfModifiedSince(cachedPage.pageLastModified);
    }

    conn.connect();

    if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {

        newCachedPage.eTag = conn.getHeaderField("ETag");
        newCachedPage.pageLastModified = conn.getHeaderFieldDate("Last-Modified", 0);

    } else if (conn.getResponseCode() == HttpURLConnection.HTTP_NOT_MODIFIED) {
        // Never reaches here
    }

Кажется, я никогда не получал код ответа HTTP_NOT_MODIFIED, даже если несколько раз подряд попадал на один и тот же сервер - там, где определенно нет изменений на странице. Кроме того, conn.getHeaderField ("ETag") всегда, кажется, отвечает null, а иногда conn.getHeaderFieldDate ("Last-Modified", 0) возвращает 0. Я пробовал это на различных веб-серверах.

Может кто-нибудь сказать мне, что я делаю не так?

Ответы на вопрос(2)

Ваш ответ на вопрос