A method of delivering content to a user (1, 2, 17), comprising the steps of: receiving at a cache server an intercepted request from said user for content, said request being directed to an origin server; determining if said content is currently stored at said cache server and if so delivering said content, and if not requesting said content from said origin server; said step of requesting said content from said origin server comprising: determining whether said content from said origin will be delivered symmetrically via a same route as said request was received via or asymmetrically at least partially via a different route from a route said request was received via; and if it is determined that said content from said origin server will be delivered asymmetrically: amending said request such that a source of said request is indicated to be said cache server, and transmitting said amended request to said origin server; or if it is determined that said content from said origin will be delivered symmetrically: transmitting said request to said origin server with said source of said request indicated as being said user (1, 2, 17). receiving at a cache server an intercepted request from said user for content, said request being directed to an origin server; determining if said content is currently stored at said cache server and if so delivering said content, and if not requesting said content from said origin server; said step of requesting said content from said origin server comprising: determining whether said content from said origin will be delivered symmetrically via a same route as said request was received via or asymmetrically at least partially via a different route from a route said request was received via; and if it is determined that said content from said origin server will be delivered asymmetrically: amending said request such that a source of said request is indicated to be said cache server, and transmitting said amended request to said origin server; or if it is determined that said content from said origin will be delivered symmetrically: transmitting said request to said origin server with said source of said request indicated as being said user (1, 2, 17). determining whether said content from said origin will be delivered symmetrically via a same route as said request was received via or asymmetrically at least partially via a different route from a route said request was received via; and if it is determined that said content from said origin server will be delivered asymmetrically: amending said request such that a source of said request is indicated to be said cache server, and transmitting said amended request to said origin server; or amending said request such that a source of said request is indicated to be said cache server, and transmitting said amended request to said origin server; or if it is determined that said content from said origin will be delivered symmetrically: transmitting said request to said origin server with said source of said request indicated as being said user (1, 2, 17). transmitting said request to said origin server with said source of said request indicated as being said user (1, 2, 17).