Comments (1)
I figured out what's going on with Apache.
Our server is configured to return compressed content (mod_deflate) when the request comes in over HTTPS but not otherwise. Apache chooses a transfer mode based on whether the content's length exceeds its "DeflateBufferSize" setting.
If the content is greater than DeflateBufferSize then the server uses chunked mode, which means no "Content-Length" is included with the response. HttpResponseCache handles this case correctly.
However, if the content is less than DeflateBufferSize then it sends a value for "Content-Length" that is the length of the compressed data. This is the case that HttpResponseCache doesn't handle correctly.
The problem disappears when I load the images over HTTP because our server is configured to only use compression for HTTPS. It has nothing to do with SSL whatsoever.
What I suspect is happening is that the somewhere in the cache code a comparison is made between "reported content-length" and "bytes read" in order to detect incomplete responses, but the "bytes read" value used is the byte count of the decoded content instead of the byte count of the raw content, which is what "Content-Length" is supposed to describe.
from httpresponsecache.
Related Issues (20)
- Cache size surpassing limit HOT 1
- setDefaultHostnameVerifier in install()
- java.lang.NoSuchMethodError: Llibcore/net/http/HttpResponseCache.getCache HOT 3
- Add support for non-shared cache? HOT 4
- Allow pages not ending in newline HOT 3
- gzip Header disappers after a requests with "max-age=0"
- Ability to override uriToKey?
- Responses are not cached HOT 2
- Data not cached when gzip content-encoding is combined with chunked transfer-encoding. HOT 5
- Not respecting max-age: 0 for Cache-Control HOT 1
- NameConstraints use incorrect signature
- java.net.SocketException: sendto failed: EPIPE (Broken pipe)
- DiskLruCache version dependency out of date...
- com.integralblue.httpresponsecache.compat.libcore.net.http.ResponseHeaders.chooseResponseSource(long, RequestHeaders) does not honor only-if-cached cache control directive
- Cache not updated
- PUT request method are not caching HOT 1
- How to avoid installing and closing 'HttpResponseCache' on every Activity and Service?
- can it work with volley? HOT 1
- POST method request throws ProtocolException("POST does not support writing") when use it in Java
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from httpresponsecache.