web-dev-qa-db-fra.com

Quelle est la difference entre 127.0.0.1 et localhost

En supposant que ce qui suit soit défini dans .../hosts:

127.0.0.1 localhost

Quelles sont, le cas échéant, les différences entre l'utilisation de 127.0.0.1 et localhost en tant que nom de serveur, en particulier lors de la frappe de processus en cours d’exécution qui écoutent les connexions?

127
Bohemian

Eh bien, la différence la plus probable est que vous devez toujours effectuer une recherche réelle de localhost quelque part.

Si tu utilises 127.0.0.1, un logiciel (intelligent) transformera alors cela directement en une adresse IP et l’utilisera. Certaines implémentations de gethostbyname détecteront le format en pointillé (et probablement le format IPv6 équivalent) et ne feront aucune recherche du tout.

Sinon, le nom doit être résolu. Et il n’ya aucune garantie que votre fichier hosts soit réellement utilisé pour cette résolution (d’abord, voire pas du tout), donc localhost peut devenir une adresse IP totalement différente .

J'entends par là que sur certains systèmes, un fichier local hosts peut être ignoré. Le Host.conf le fichier le contrôle sous Linux (et de nombreux autres Unices).

103
paxdiablo

Wikipedia résume bien ceci:

Sur les systèmes informatiques modernes, localhost en tant que nom d’hôte se traduit par une adresse IPv4 dans le bloc réseau 127.0.0.0/8 (bouclage), généralement 127.0.0.1, ou :: 1 dans IPv6.

La seule différence est que le système va rechercher dans le DNS ce que localhost résout. Cette recherche est vraiment très rapide. Par exemple, pour arriver à stackoverflow.com vous avez saisi cela dans la barre d’adresse (ou vous avez utilisé un bookmarklet pointant ici). De toute façon, vous êtes arrivé ici par un nom d'hôte. localhost fournit une fonctionnalité similaire.

32
Ryan Bigg

certaines applications traiteront spécialement "localhost". le client mysql traitera localhost comme une demande de connexion au socket de domaine unix local au lieu d'utiliser tcp pour se connecter au serveur sous 127.0.0.1. Cela peut être plus rapide et peut se trouver dans une zone d'authentification différente.

Je ne connais pas d'autres applications qui traitent localhost différemment de 127.0.0.1, mais il y en a probablement.

28
Wayne Walker

Eh bien, par IP est plus rapide.

Fondamentalement, lorsque vous appelez par nom de serveur, il est converti en IP d'origine.

Mais il serait difficile de mémoriser une adresse IP, c'est pourquoi le nom de domaine a été créé.

Personnellement j'utilise http://localhost au lieu de http://127.0.0.1 ou http://username.

8
The Mask

Il n'y a rien de différent. L'un est plus facile à retenir que l'autre. En général, vous définissez un nom à associer à une adresse IP. Vous n'avez pas à spécifier localhost pour 127.0.0.1, vous pouvez spécifier le nom de votre choix.

0
d_ethier