Caching

Buffering and caching should be done on the server side. But this raises a performance problem, because the client must ask the server for every data item causing traffic and adds the roundtrip time to every data access. Therefore the cient should do the buffering, enabling the server to transfer many rows in one request/response call.