You realise, of course, that Opera does not compress anything. Think about it. It cannot do anything with the data until it has received the data. So once it has received the data, what good does it do compressing it?
What Opera Mini does is connect to a proxy server (run by Opera) that downloads the content, miniaturises it (not really compress - it regenerates the page for a smaller screen, down-samples images, etc.) and then pass it on to your phone. This, of course, means that using Opera Mini for your internet banking, for example, is risky.
For what it's worth, any site that gets even a moderate amount of traffic, should have compression turned on server side. This very site does. How about a quick lesson in the workings of HTTP, shall we? Uplon loading this page, here are the headers my browser sent along with the GET request:
Code:
Host mybroadband.co.za
User-Agent Mozilla/5.0 (X11; U; Linux x86_64; en-gb; rv:1.9.2) Gecko/20100123 Firefox/3.6
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-gb
[B]Accept-Encoding gzip,deflate[/B]
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Cookie ***********
Pragma no-cache
Cache-Control no-cache
See the "Accept Encoding" bit? The browser tells the web server "I accept these types of compression, please send me the page compressed if you can." To which the web browser replies:
Code:
Date Mon, 08 Feb 2010 17:34:56 GMT
Server Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
X-Powered-By PHP/5.2.6-1+lenny4
Cache-Control private
Pragma private
Vary Accept-Encoding
[B]Content-Encoding gzip[/B]
Content-Length 16323
Keep-Alive timeout=15, max=196
Connection Keep-Alive
Content-Type text/html; charset=ISO-8859-1
"why yes, I can certainly compress the html - here you go." Now, pretty much only text based files (html, css, js) is worth compressing. Images are already in compressed format, so trying to compress it further will only waste cpu cycles and more often than not make the file bigger (since it can't make it any smaller and there are overheads). So if your browser accepts compression, the content you receive are already as compressed as it's going to get.
If your browser can do decompression (iPhone Safari does), you'll get compressed content.
Some sites are smart enough to serve a miniature version of the page, with smaller graphics, etc, when the User-Agent string supplied by the browser (see the first code block) is a recognised mobile browser. Google, does this, for example.