Boost logo

Boost Users :

Subject: Re: [Boost-users] Caching the iterator of async_resolve()?
From: Kaspar Fischer (kaspar.fischer_at_[hidden])
Date: 2013-12-18 11:33:04

Thank you, Gavin, for the detailed explanations, helped me a lot.

I will follow your advice and not cache.


On Tue, Dec 17, 2013 at 6:42 PM, Gavin Lambert <gavinl_at_[hidden]>wrote:

> On 18/12/2013 14:21, Quoth Kaspar Fischer:
> Have others had any experiences with this? I want to avoid making a DNS
>> lookup every time I perform a (HTTP) request.
> Typically you should. The OS has its own cache of recently queried
> domains and the corresponding Time-To-Live value (ie. "how long this is
> valid for") provided by the actual DNS server, and larger networks will
> often have a secondary DNS cache on the LAN that also respects this.
> So a resolve doesn't always hit the Internet, but it's important to
> respect the TTL policy set by the target server to properly handle load
> balancing and dynamic addressing.
> Also – and not strictly related to this question – why are DNS lookups
>> in Boost Asio tied to a service, as in resolve(query(host,"http"))?
> Because the underlying getaddrinfo expects a service name/port. I think
> it's just a convenience to obtain the port number at the same time as the
> hostname, assuming both were provided as strings, rather than having to
> make two separate calls to resolve each.
> Personally, I think it's better to use the actual numeric port instead of
> using a service name, unless you're obtaining the service name from user
> input (such as an URL) -- and even then typically a given app will only
> support specific service types anyway, so there isn't really much call for
> being able to look them up by name. Maybe there are historic reasons for
> it. (I know each client has a config file that contains the name->port
> mappings, but I can't think of any scenario in which editing this file to
> produce different results is useful.)
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at