A computer-implemented method comprising: obtaining a plurality of requests for network resources and a plurality of responses corresponding to the plurality of requests; analyzing the plurality of requests and the plurality of responses; identifying a first substantially invariable part from a first subset of the plurality of responses in relation to a first attribute derived from a first subset of the plurality of requests; creating a first cache profile corresponding to the first attribute, wherein the first cache profile: indicates a relationship between the first attribute and the first substantially invariable part; indicates a first content item; and references a second cache profile, determining the first content item based, at least in part, on the first substantially invariable part; storing the first content item; obtaining a further request for the network resource; identifying the first cache profile as corresponding to the further request, wherein identifying the first cache profile comprises matching the further request against a hierarchy of cache profiles, wherein the hierarchy of cache profiles is formed by one or more references between respective cache profiles of the hierarchy of cache profiles; retrieving the first content item based, at least in part, on the first cache profile; generating a first result incorporating the first content item; transmitting the first result; requesting for an additional content item based, at least in part, on the further request; obtaining the additional content item; generating an additional result incorporating the additional content item; and transmitting the additional result. obtaining a plurality of requests for network resources and a plurality of responses corresponding to the plurality of requests; analyzing the plurality of requests and the plurality of responses; identifying a first substantially invariable part from a first subset of the plurality of responses in relation to a first attribute derived from a first subset of the plurality of requests; creating a first cache profile corresponding to the first attribute, wherein the first cache profile: indicates a relationship between the first attribute and the first substantially invariable part; indicates a first content item; and references a second cache profile, indicates a relationship between the first attribute and the first substantially invariable part; indicates a first content item; and references a second cache profile, determining the first content item based, at least in part, on the first substantially invariable part; storing the first content item; obtaining a further request for the network resource; identifying the first cache profile as corresponding to the further request, wherein identifying the first cache profile comprises matching the further request against a hierarchy of cache profiles, wherein the hierarchy of cache profiles is formed by one or more references between respective cache profiles of the hierarchy of cache profiles; retrieving the first content item based, at least in part, on the first cache profile; generating a first result incorporating the first content item; transmitting the first result; requesting for an additional content item based, at least in part, on the further request; obtaining the additional content item; generating an additional result incorporating the additional content item; and transmitting the additional result.