J'ai trouvé quelques articles à ce sujet, mais ils ne me suffisaient pas. Je veux savoir comment ça localhost
marche et pourquoi est-ce la même chose sur de nombreuses machines différentes?
Comment localhost
bloque-t-il l'accès au site Web lorsque nous l'utilisons dans le host
fichier pour bloquer le site Web?
Réponses:
Je ne parlerai pas du cas Windows ici, car c'est un peu différent, mais disons ceci: dans chaque système d'exploitation de type Unix, vous avez deux périphériques réseau:
Le premier est purement "virtuel". C'est comme une prise Ethernet que vous ne pouvez pas voir. La seconde concerne la prise Ethernet de votre ordinateur.
Que fait l'interface de bouclage? Chaque trafic que vous envoyez au bouclage reviendra.
Comme votre périphérique Ethernet obtient une adresse IP (par exemple 192.168.1.20), le périphérique de bouclage aura également une adresse IP, à savoir 127.0.0.1. Pour le rendre plus facile, vous pouvez également y accéder
localhost
.Si vous regardez un
/etc/hosts
fichier Unix typique , vous verrez que 127.0.0.1 est mappé sur "localhost". Ainsi, chaque fois que vous tapez "localhost", votre ordinateur saura appeler 127.0.0.1.Et c'est la raison pour laquelle vous pouvez "bloquer" les applications. Disons que vous ne voulez pas que votre ordinateur envoie des données à Microsoft. Ensuite, vous pouvez simplement rediriger chaque demande
microsoft.com
vers 127.0.0.1 à la place. Chaque tentative de contactmicrosoft.com
entraînerait un échec.* chaque système disposant en fait d'un port Ethernet matériel
la source
Les adresses IP (Internet Protocol) appartiennent à l'une des quatre catégories de base.
Par accord, 127.0.0.1 est l'une de ces adresses qui appartiennent à la dernière de ces catégories.
En tant qu'êtres humains, nous n'avons pas tendance à nous souvenir très bien des numéros IP, mais nous n'avons aucun problème à nous souvenir de noms comme superuser.com, www.google.com et d'autres noms similaires. Quand Internet était petit (très petit), les humains partageaient un fichier "hôtes" avec d'autres personnes sur Internet afin qu'ils n'aient pas à se souvenir des nombres. Ce fichier d'hôtes contenait des paires d'une adresse IP et un ou plusieurs noms d'hôtes. Lorsque quelqu'un tentait d'accéder à un hôte par son nom, le logiciel informatique en savait assez pour aller le chercher dans le fichier hosts. L'Internet s'est tellement développé depuis lors que nous utilisons maintenant un système de noms de domaine (DNS) afin de résoudre les noms en numéros IP en plus d'utiliser l'ancien fichier d'hôtes de style. La plupart des ordinateurs sont configurés pour rechercher d'abord les noms dans le fichier hosts, puis dans DNS si cela échoue.
Maintenant que vous avez le contexte, voici comment cela fonctionne (généralement):
Lorsque vous ajoutez cette entrée à votre fichier d'hôtes, chaque fois que votre ordinateur essaie de rechercher www.foo.com, il essaiera d'atteindre ce site sur l'adresse IP 127.0.0.1 car vous lui avez indiqué qu'il s'agit de l'adresse Internet de www. foo.com. N'oubliez pas que 127.0.0.1 permettra à un ordinateur de se parler à lui-même. Si vous tentez d'accéder à 127.0.0.1 dans votre navigateur, vous essayerez de contacter un serveur Web sur votre ordinateur. Si vous aviez mis en 2.3.4.5 au lieu de 127.0.0.1, il aurait essayé de contacter l'ordinateur à l'adresse 2.3.4.5 lors de l'ouverture de www.foo.com.
La mauvaise chose à propos de l'utilisation du fichier hosts pour des choses comme celle-ci est qu'une fois que vous avez ajouté une entrée au fichier hosts, vous assumez la responsabilité de maintenir ces informations à jour. Si vous ne placez pas l'entrée dans votre fichier d'hôtes, votre ordinateur essaiera d'utiliser DNS pour rechercher l'adresse IP, puis utilisera cette adresse IP pour contacter le serveur.
La bonne chose à ce sujet est que si vous ne voulez jamais permettre à quiconque de parler à www.foo.com par le nom d'hôte sur votre ordinateur uniquement, l'ajout de l'entrée à votre fichier hosts peut (mot-clé - peut) empêcher cela de se produire. Si l'objectif est d'empêcher d'atteindre un site particulier par quelque moyen que ce soit (pas seulement par le nom d'hôte), il existe d'autres moyens meilleurs et plus fiables d'empêcher que cela ne se produise, comme en utilisant correctement un pare-feu.
la source
Localhost ou 127.0.0.1 est simplement un «nom» intégré pour votre ordinateur local.
Autrement dit, 127.0.0.1 est appelé "bouclage", car il s'agit simplement d'un pointeur qui pointe vers votre machine. Il s'agit d'une adresse IP réservée qui peut également être écrite comme hôte local par définition.
Le but de cela est de permettre à quelqu'un de parler à son ordinateur en envoyant un signal vers l'extérieur, puis en le bouclant afin que le signal soit également lu par votre même ordinateur.
Supposons que vous exécutez un serveur sur votre machine - pour y accéder, vous devez envoyer une demande au serveur (envoyer un paquet à 127.0.0.1) et votre serveur doit le lire (votre système boucle le paquet vers votre système local sur 127.0.0.1 qui est ensuite lu par votre logiciel serveur).
la source
J'ai découvert une présentation au Guide TCP / IP qui m'a paru très éclairante:
En outre, Rutgers propose un cours de mise en réseau qui comprend cette illustration de la communication inter-hôtes normale,
et celui-ci du flux de données de bouclage:
la source
Pour la deuxième partie de votre question, si vous mettez le nom d'hôte d'un site Web dans votre fichier hosts avec l'adresse 127.0.0.1, cela signifie que lorsque vous tapez l'adresse dans votre navigateur au lieu d'utiliser DNS pour trouver l'adresse correcte, il la trouve dans votre fichier d'hôtes le résout d'abord en localhost et au lieu d'aller à l'adresse du site Web, il commence simplement à parler à votre machine, ce qui provoque le chargement du site Web.
la source