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.