Quelle est la différence entre 127.0.0.1 et localhost

si l'on suppose que les termes suivants sont définis dans .../hosts :

127.0.0.1 localhost

quelles sont, le cas échéant, les différences réelles entre l'utilisation de 127.0.0.1 et localhost comme nom de serveur, en particulier lors de l'exécution de processus locaux qui sont à l'écoute des connexions?

106
demandé sur Bohemian 2011-09-12 05:45:41

6 réponses

Eh bien, la différence la plus probable est que vous devez encore faire une recherche 151990920 "de localhost quelque part.

si vous utilisez 127.0.0.1 , alors un logiciel (intelligent) transformera directement cette adresse en 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 pas de recherche du tout.

sinon, le nom doit être résolu. Et il n'y a aucune garantie que votre fichier hosts sera réellement utilisé pour cette résolution (d'abord, ou du tout) afin que localhost puisse devenir une adresse IP totalement différente .

cela signifie que, sur certains systèmes, un fichier local hosts peut être contourné. Le fichier host.conf le contrôle sur Linux (et de nombreuses autres unités).

88
répondu paxdiablo 2011-09-12 01:59:40

Wikipedia résume bien cela:

sur les systèmes informatiques modernes, localhost comme nom d'hôte se traduit par une adresse IPv4 dans le bloc net 127.0.0/8 (loopback), habituellement 127.0.0.1, ou ::1 Dans IPv6.

la seule différence est qu'il serait chercher dans le DNS pour le système ce que localhost résout. Cette recherche est vraiment, vraiment rapide. Par exemple, pour arriver à stackoverflow.com vous avez tapé dans la barre d'adresse (ou utiliser un bookmarklet qui pointait ici). De toute façon, vous êtes arrivé ici par un nom d'hôte. localhost offre une fonctionnalité similaire.

27
répondu Ryan Bigg 2011-09-12 01:52:14

certaines applications traiteront" localhost " spécialement. le client mysql traitera localhost comme une requête pour se connecter à la socket de domaine unix locale au lieu d'utiliser tcp pour se connecter au serveur sur 127.0.0.1. Cela peut être plus rapide, et peut-être dans une autre zone d'authentification.

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

23
répondu Wayne Walker 2014-04-10 23:27:31

Eh bien, par IP est plus rapide.

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

mais il serait difficile de mémoriser une IP, pour cette raison le nom de domaine a été créé.

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

4
répondu The Mask 2011-10-13 08:29:29

il n'y a rien de différent. L'un est plus facile à retenir que l'autre. Généralement, vous définissez un nom à associer à une adresse IP. Vous n'avez pas à spécifier localhost par 127.0.0.1, vous pouvez spécifier n'importe quel nom que vous voulez.

0
répondu d_ethier 2011-09-12 01:49:02

la principale différence est que la connexion peut être faite via Unix Domain Socket, comme indiqué ici: localhost vs. 127.0.0.1

-2
répondu Don Viegues 2017-05-23 12:03:04