Thanks for the suggestion. "Content-Type: text/xml; charset=utf-8" is what I get in the response header.
Just as a test, I tried sending back "Content-Type: text/html" instead, but that didn't change anything with regards to compression. Jean-Baptiste Queru wrote: > I'm not familiar enough with the low-level protocols used in 2G or 3G, > so I don't know whether there's any compression happening at that > level. It sounds like the data is indeed not recompressed by the proxy > at the HTTP level (even though I believe that such compression would > be beneficial). > > What is the MIME type of your response? It's possible that the proxy > only compresses html, javascript and css and leaves everything else > alone. > > JBQ > > On Wed, Dec 3, 2008 at 2:57 PM, melody <[EMAIL PROTECTED]> wrote: > > > > I was doing my testing with my own custom written http client (based > > on Java.net.Socket). In all tests, I sent a Accept-Encoding: gzip, > > deflate header. > > > > The data I was receiving back from my server was not compressed when > > using 3G, but it was compressed when I was using wifi (which doesn't > > cause any problems, I just have to decompress it manually as you > > suggested). > > > > This is why I was concerned that the data was not actually being > > compressed over the air. If I'm not using the "Android HTTP stack", > > and I see uncompressed data from the socket's inputstream, does that > > mean the data was actually transmitted uncompressed over the air? > > > > Or is there some other compression/decompression layer when using a 3G > > connection that has been abstracted away from the SDK? > > > > > > > > Jean-Baptiste Queru wrote: > >> The compression is standard HTTP compression when seen from the client. > >> > >> As I understand (but I'm not an authority in this domain), if you use > >> the Android HTTP stack, the decompression will happen transparently > >> for you. > >> > >> If you're rolling out your own HTTP code you'll have to do the > >> decompression yourself, but the proxy should only send you compressed > >> data if you advertise that you support it (in your request headers), > >> and you should advertise it if you don't support it. > >> > >> JBQ > >> > >> On Wed, Dec 3, 2008 at 2:16 PM, melody <[EMAIL PROTECTED]> wrote: > >> > > >> > Hi Jean-Baptiste Queru, > >> > > >> > Thanks for the info. Just wanted to clarify a minor point. > >> > > >> > When you say that the data is compressed when it is sent over the air, > >> > are you saying that the compression and decompression happens at a > >> > layer that I never see? Is the Android OS handling the decompression > >> > of the incoming data that so that when I look at it in the SDK, it's > >> > already decompressed for me? > >> > > >> > Thanks. > >> > > >> > > >> > > >> > Jean-Baptiste Queru wrote: > >> >> It's actually not uncommon in the cell world to turn off compression > >> >> on the public Internet, so that the proxy can have an easier time > >> >> looking at the data and processing it to send it over the air (where > >> >> it is compressed), i.e. trading Internet bandwidth for some CPU time > >> >> on the proxy. > >> >> > >> >> JBQ > >> >> > >> >> On Tue, Nov 25, 2008 at 10:53 AM, melody <[EMAIL PROTECTED]> wrote: > >> >> > > >> >> > Thanks. I ran the test in the emulator, and the http compression was > >> >> > kept. So this does indeed seem to be a problem being caused by a > >> >> > proxy at T-Mobile. > >> >> > > >> >> > Not to be overly dramatic, but isn't this a pretty serious issue? I > >> >> > would think that under 3G, T-Mobile would very much want us all to be > >> >> > using HTTP compression so that we don't flood their network. Even on > >> >> > my home broadband connection, when I turn off http compression in my > >> >> > browser to do testing work, most websites load much more slowly, > >> >> > especially with the massive css/js files being transmitted these > >> >> > days. > >> >> > > >> >> > Something else that may or may not be related: > >> >> > I noticed that the T-Mobile proxy is also converting my http request > >> >> > to a "HTTP 1.0" request, whereas I am actually trying to send a "HTTP > >> >> > 1.1" request. > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > David Turner wrote: > >> >> >> The best way to test this is try to run your test from the emulator, > >> >> >> since > >> >> >> the browser > >> >> >> wouldn't then use an intermediate T-Mobile proxy. > >> >> >> > >> >> >> On Tue, Nov 25, 2008 at 12:27 AM, melody <[EMAIL PROTECTED]> wrote: > >> >> >> > >> >> >> > > >> >> >> > I've been working on improving the speed of my application and > >> >> >> > noticed > >> >> >> > that when I turn off wifi and use the 3G connection, http requests > >> >> >> > no > >> >> >> > longer use http compression. > >> >> >> > > >> >> >> > Specifically, when using the 3G connection, the "Accept-Encoding" > >> >> >> > header (which I have set to "gzip, deflate") are stripped off > >> >> >> > before > >> >> >> > the request arrives at my server. I tested this with the > >> >> >> > HttpClient > >> >> >> > class, and with my own custom http client through java.net.Socket. > >> >> >> > > >> >> >> > I then also verified this using the native android web browser. > >> >> >> > With > >> >> >> > wifi turned on, my server recieves a header "Accept-Encoding: > >> >> >> > gzip". > >> >> >> > With wifi turned off, and using the 3G connection, my server does > >> >> >> > not > >> >> >> > receive that header. > >> >> >> > > >> >> >> > I initially thought this might be an intentional behavior as part > >> >> >> > of > >> >> >> > 3G connections, but then I tested it with a 3G iphone (on AT&T), > >> >> >> > and > >> >> >> > there was no such problem there. So I'm guessing it's a problem > >> >> >> > specific to T-Mobile. i wonder if there is some proxy that is > >> >> >> > intentionally stripping out this header. > >> >> >> > > >> >> >> > I'd appreciate any advice about this. For an XML-based web service > >> >> >> > like mine where the response data has a high compression ratio, > >> >> >> > this > >> >> >> > behavior causes a significant speed hit. > >> >> >> > > >> >> >> > > > >> >> >> > > >> >> > > > >> >> > > >> > > > >> > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---