A method and apparatus are provided for optimizing retrieval of network resources. In one embodiment, a method of optimizing access to a network resource is implemented in a
computer program executed by a
router,
cache server, or
proxy server. A network resource that contains one or more embedded symbolic host name references is received. A
network address corresponding to each of the embedded symbolic host name references is determined. A modified copy of the network resource is created and stored; in the modified copy, a
network address is substituted for each corresponding embedded symbolic host name reference. Thereafter, the modified copy of the network resource in responding to all subsequent
client requests for the network resource, thereby greatly reducing the required number of
network address lookup operations. In one specific embodiment, IP addresses are determined using DNS queries for the
hostname portion of all URLs that are embedded in a
Web page using image, applet, object, or embed tags. The IP addresses are stored in place of the
hostname portions in a modified copy of the
Web page, typically in a cache. As a result, when the modified page is subsequently served to clients, the clients need not carry out DNS resolution of all the embedded URLs, resulting in reduced network message traffic and more rapid page display.