Both in its open source software (OSS) and pro versions, an integral feature of Artifactory is the remote repository, which is simply a proxy for a repository located on a remote server.
For example, let’s assume you create a remote repository called JCenter (that’s actually the default name that Artifactory will create if you don't assign a name of your own). And let’s assume you're beginning a Maven build, and Maven is using Artifactory as its source repository. In this scenario, Maven will request a resource from Artifactory.
As it's typically configured, Artifactory will look in the local cache of your remote Maven repository (i.e., JCenter). If the file is not located in the local cache, then Artifactory will go to the internet to attempt to obtain the resource from JCenter. If the resource is finally located, Artifactory will cache it locally and serve the client with the requested artifact. Accordingly, upon a subsequent request for the same resource, no internet connection will be required to retrieve the artifact as it will have already been cached in Artifactory.
Note: Only the requested file will be cached, not the entire JCenter repository.