Bueno, la diferencia más probable es que todavía tienes que hacer una búsqueda real de localhostalgún lugar.
Si lo usa 127.0.0.1, entonces el software (inteligente) lo convertirá directamente en una dirección IP y lo usará. Algunas implementaciones de gethostbynamedetectarán el formato punteado (y presumiblemente el formato IPv6 equivalente) y no realizarán ninguna búsqueda.
De lo contrario, el nombre debe ser resuelto. Y no hay garantía de que su hostsarchivo se use realmente para esa resolución (en primer lugar, o en absoluto), por lo que localhostpuede convertirse en una dirección IP totalmente diferente .
Con eso quiero decir que, en algunos sistemas, hostsse puede omitir un archivo local . El host.confarchivo controla esto en Linux (y muchos otros Unices).
localhostes independiente del protocolo, tanto IPv4 como IPv6 funcionarán.