1. A method comprising: obtaining a file to be transferred from a source system to a target system; identifying a format of the file, the format defining logical components resident within the content of the file; selecting one or more deconstruction methods corresponding to the identified file format; deconstructing, by use of a processor, the file into a plurality of logical components using the selected one or more deconstruction methods based on the format of the file, the deconstructing including identifying a position and length of a logical component within the file, the plurality of logical components including a plurality of cacheable logical components and at least one non-cacheable gap component; generating a plurality of component identifiers for the cacheable logical components, the generating of the plurality of component identifiers including adding a value to each non-unique component identifier to ensure uniqueness of each component identifier, each component identifier uniquely identifying a different one of the plurality of logical components; storing the plurality of cacheable logical components in a parent cache of the source system as indexed by the component identifiers corresponding to the plurality of cacheable logical components; generating an element list including the component identifiers corresponding to the plurality of cacheable logical components within the file, the position and length of each of the plurality of cacheable logical components within the file, and the length of the file; delivering the element list to the target system; causing the target system to fetch any of the plurality of cacheable logical components from a child cache of the target system using the corresponding component identifiers and causing the target system to not transfer from the source system any of the cacheable logical components fetched from the child cache of the target system; causing the target system to fetch any of the plurality of cacheable logical components from the parent cache of the source system using the corresponding component identifiers, if any of the plurality of cacheable logical components is not present in the child cache of the target system based on the corresponding component identifiers; and causing the target system to fetch the at least one non-cacheable gap component from the source system.