One solution I came up with is to essentially use text files(json, xml) on the same server as the webpage to serve as a datastore.
But I could only find ways to load the entire file rather than specific parts of it. Which isn't really a big problem since the text files are small, however the text files could potentially grow to be large.
If I am only interested in fresh data, I was hoping I could prepend the data to the top of the file when populating the file and read it in line by line (since I would only be interested in say 10 lines per page). Also access to the middle of a file would be incredibly useful.
I just want to avoid having to send the entire file to a client(not for security but for space/time efficiency).
I haven't done this before, but you should have a chance by having a look at the Range, If-Range and Accept-Ranges HTTP headers.
I did a short test by accessing or webserver at http://www.stadt-salzburg.at/. It sends an Accept-Ranges:bytes response header for the static html file resource of the start page which means that it accepts Range-requests. Using the Firefox extension Modify Headers I then specified a request header Range:bytes=257-2048 and the server really returned only the requested part of this file.
According to the HTTP 1.1 header field specification you should also be able to determine if the file has been modified and do some other nice stuff :-) As I'm not very experienced in HTTP headers I would like to ask you to have a look yourself if you can achieve your desired result.
I hope this helps. ;o)