REST is an architectural style, and has guided the design of HTTP. One of the ways it has done so is via the cache constraint, which trades a bit of latency for a lot of efficiency; that is, a few requests pay a little bit of extra overhead for a caching component so that the vast majority of requests never hit the network at all. When done thoughtfully, this approach can vastly improve the efficiency of your network application.
Unfortunately, switching architectural styles gets more and more expensive the later in your project lifecycle you try to do it, and it sounds like you've not only already designed your system but already built it. It also sound like one of your design goals is extremely low latency; I highly doubt that the REST style fits your design goals.
So we're left with optimizing what is essentially RPC over HTTP. That can be accomplished via the following techniques (and probably others I'm not aware of):
- Compression. You can "gzip" your responses and declare them via the
Content-Encoding response header. See http://www.webcodingtech.com/php/gzip-compression.php, for example, to do so in PHP.
- "Minification". Shrink the size of your HTML, Javascript, and CSS by taking out insignificant whitespace, and mangling variable names, etc. There are good tools for this all over the web.
- Optimize images. Either by size or by compression ratio.
- Header wrangling. Even if you're not using the REST style, HTTP is still optimized for large-grain payloads. For the vast majority of responses, the size of the headers is insignificant compared to the size of the response body. However, some tiny responses might fit under the typical 1500-byte MTU if you have complete manual control over the headers your web server emits. Not all server-side web frameworks allow this, however, and make sure you're not stripping out headers which are required for proper interoperability.
- Push less information to mobile clients. Break up large pages and link them instead. This will work better with the screen real estate on mobile clients. Sure, it'll play havoc with servers and proxies, and eventually melt down the Internet as the overall efficiency degrades, but you can let your kids worry about that. Provide links to the "non-mobile version" for power users.