Fixed a bunch of bugs.

Now, if the client sent a request without "if-modified-since" flag, we will always return 200 with the data, even if the cache or the backend server answer 304 NOT MODIFIED.