A device (404, 804, 902, 1002) for transmission of data between a user device (104, 402, 802) and a server, the device comprising: at least one memory; and at least one processor operatively coupled to the memory, the at least one processor being configured to: process a first data received from the user device and a second data received from the server; determine whether to store at least a portion of the second data in the at least one memory, and based on the determination, store the at least a portion of the second data in the at least one memory, wherein the at least a portion of the second data is stored based on a lifetime of content caching policy associated with the at least a portion of the second data and in accordance with a payload signature and a payload associated with the at least a portion of the second data, the payload signature including at least one pointer to a storage location of the stored portion of the second data, the lifetime of content caching policy indicating that the stored portion of the second data is stored in the at least one memory for a predetermined period of time, wherein, upon expiration of the predetermined period of time, the stored portion of the second data is purged from the at least one memory; and provide the stored portion of the second data to the user device in response to receiving the first data. at least one memory; and at least one processor operatively coupled to the memory, the at least one processor being configured to: process a first data received from the user device and a second data received from the server; determine whether to store at least a portion of the second data in the at least one memory, and based on the determination, store the at least a portion of the second data in the at least one memory, wherein the at least a portion of the second data is stored based on a lifetime of content caching policy associated with the at least a portion of the second data and in accordance with a payload signature and a payload associated with the at least a portion of the second data, the payload signature including at least one pointer to a storage location of the stored portion of the second data, the lifetime of content caching policy indicating that the stored portion of the second data is stored in the at least one memory for a predetermined period of time, wherein, upon expiration of the predetermined period of time, the stored portion of the second data is purged from the at least one memory; and provide the stored portion of the second data to the user device in response to receiving the first data. process a first data received from the user device and a second data received from the server; determine whether to store at least a portion of the second data in the at least one memory, and based on the determination, store the at least a portion of the second data in the at least one memory, wherein the at least a portion of the second data is stored based on a lifetime of content caching policy associated with the at least a portion of the second data and in accordance with a payload signature and a payload associated with the at least a portion of the second data, the payload signature including at least one pointer to a storage location of the stored portion of the second data, the lifetime of content caching policy indicating that the stored portion of the second data is stored in the at least one memory for a predetermined period of time, wherein, upon expiration of the predetermined period of time, the stored portion of the second data is purged from the at least one memory; and provide the stored portion of the second data to the user device in response to receiving the first data.