1. A system for caching network resources, the system comprising: one or more processors; a computer-readable memory; and a module residing in the computer-readable memory and executed by the one or more processors, the module, when executed, configured to: service a request for a network resource, wherein servicing the request comprises retrieving a responsive copy of the network resource from a content provider; determine, based at least in part on a plurality of previously serviced requests for the network resource, whether the network resource is cacheable, wherein the plurality of previously serviced requests are originally obtained from a plurality of client devices, and wherein determining whether a network resource is cacheable comprises computing a checksum for at least two responsive copies and determining whether the computed checksums are equivalent; retrieve a copy of the network resource from a content provider independent of the system, wherein data associated with the copy does not indicate that the copy is cacheable; modify the data associated with the copy to indicate that the copy is cacheable; cache the copy in a shared cache; and respond to requests for information regarding the cached copy.