1. A system comprising: a redirection server, situated within a wireless network and comprising at least one processor that is operatively connected to memory; and a plurality of caching devices, each of the caching devices situated within the wireless network and comprising at least one processor that is operatively connected to memory; wherein the redirection server is operable to: intercept a request for a resource originating from a wireless client device connected to the wireless network, wherein the request is intercepted prior to the request exiting the wireless network; determine whether to redirect the request to at least one of the plurality of caching devices within the wireless network or to forward the request to one or more content delivery network (CDN) caching devices that reside in a CDN that is separate from, but communicatively coupled to, the wireless network, wherein determining whether to redirect the request is based at least on popularity of a domain associated with the resource; when the redirection server determines to send the request to at least one of the plurality of caching devices within the wireless network, select the at least one of the plurality of caching devices to deliver the requested resource to the wireless client device based on at least one of: whether a caching device has the requested resource; proximity of the caching device to the wireless client device; and wireless network conditions; and wherein the selected at least one caching device is operable to initiate delivery of the requested resource to the wireless client device from within the wireless network.