Eu acredito que eles são os mesmos de breve olhada no código:
AP_DECLARE(void) ap_init_vhost_config(apr_pool_t *p)
{
...
}
/* Parses a host of the form <address>[:port]
...
Então:
if (strcmp(host, "*") == 0) {
rv = apr_sockaddr_info_get(&my_addr, "0.0.0.0", APR_INET, port, 0, p);
...
else {
rv = apr_sockaddr_info_get(&my_addr, host, APR_UNSPEC, port, 0, p);
Então parece que * só é analisado para 0.0.0.0 neste caso, e se realmente é 0.0.0.0
ele será passado como tal (embora talvez APR_INET vs. APR_UNSPEC seja importante, mas eu acho que isso pode ser apenas IPv coisa compatibilidade, então talvez haja uma diferença em que IPv4 quando 0.0.0.0 e IPv6 é possível quando *, não tenho certeza). Mas eu posso estar interpretando isso totalmente errado , você pode ver por si mesmo em server/vhost.c
.