Below are the different techniques:
Compression Techniques: Use JSON serializer and gZip compress techniques for the data transmitted over the web.
Use faster data access strategies
Caching: Have heard somewhere that the "fastest HTTP call is the one that you don't make" that is, use caching(Memcache/Redis), most of the requests are read operations, wise use of cache control headers are also useful. That spares the database from serving repeated read requests which are expensive. (Not sure if Etags can be of any use ?)
Use asynchronous methods judiciously
make as few API calls as possible
Programming level: use code optimization/threading/parallel programming.
Geography: Account for the distance between end users and origin servers, we can use CDNs for storing the static contents of the response, so that it can be served real fast.
API level: use pagination/filters/ranges to generate fine-grained data that is tailored to the need of the client.