1. A method executed at least in part by a computing device for optimizing browser caching, the method comprising: generating a file identifier for a cacheable file that includes a file identifier attribute at a first server executing a web application configured to provide structured and unstructured data to client applications; receiving a request that includes the cacheable file at the first server; retrieving the cacheable file from a second server; providing the cacheable file to a requesting client along with one or more non-cacheable files if requested by the client; modifying the file identifier attribute in response to detecting a change associated with the cacheable file; in response to receiving another request, providing the cacheable file associated with the modified identifier attribute if the content indicated by the identifier exists such that the provided cacheable file with the modified identifier attribute replaces an out-of-date un-modified cacheable file; in response to receiving a request to receive an un-modified cacheable file, providing the cacheable file with the un-modified identifier attribute; in response to receiving a request to receive an un-locatable cacheable file, providing a file-not-found exception in response; and maintaining at least another version of the cacheable file and providing the at least other version of the cacheable file to another requesting client using the other version.