Localhost : monologues virtuels
Lorsque vous (ou votre ordinateur) appelez une adresse IP, vous essayez généralement de contacter un autre ordinateur sur Internet. Cependant, si vous appelez l'adresse IP 127.0.0.1, vous communiquez avec le localhost en principe avec votre propre ordinateur. Mais quel est l'intérêt de commencer une conversation virtuelle avec vous-même ? Pourquoi avez-vous besoin du localhost et comment ça marche ?
- Domaine .eu ou .fr + éditeur de site gratuit pendant 6 mois
- 1 certificat SSL Wildcard par contrat
- Boîte email de 2 Go
Qu’est-ce qu’un localhost ?
Lorsque vous expliquez ce qu'est un localhost, le premier point à prendre en compte est qu'il s'agit toujours de votre propre ordinateur : lorsque vous appelez le localhost, votre ordinateur se parle à lui-même. Cependant, il s’agit d’une approche condensée. Le localhost n'est pas toujours identifié directement avec votre ordinateur. Dans la plupart des cas, il a une adresse IP distincte telle que 192.168.0.1. dans votre réseau personnel, différent de celui que vous utilisez sur Internet, et qui est généralement attribué dynamiquement par le fournisseur de services Internet. Lorsque vous parlez d'un hôte local, vous faites référence à un serveur utilisé sur votre propre ordinateur.
Inversement, cela signifie que le terme n'est utilisé que dans le contexte des réseaux. « Localhost » n'est pas simplement le nom du serveur virtuel, mais aussi son nom de domaine. Tout comme .test, .example ou .invalid, .localhost est un domaine de premier niveau réservé à des fins de documentation et de test. Lorsque vous essayez d'accéder au domaine, un loopback (bouclage en français) est déclenché. Si vous accédez à "http://localhost" dans le navigateur, la demande ne sera pas transmise à Internet via le routeur, mais restera dans votre propre système. Localhost a l'adresse IP 127.0.0.1, qui renvoie à votre propre serveur.
127.0.0.1 : comment fonctionne le loopback ?
Les adresses IP sont utilisées dans un réseau pour communiquer entre elles. Chaque participant du réseau a sa propre adresse. Les paquets de données envoyés via TCP/IP peuvent atteindre la bonne destination lorsque ce système est utilisé. La paire de protocoles TCP (Transmission Control Protocol) et IP (Internet Protocol) sont quelques-unes des pierres angulaires d’Internet. Cependant, TCP/IP est également utilisé en dehors d'Internet, dans les réseaux locaux. Lors de la transmission, le protocole Internet est chargé d'autoriser l'adresse IP et le masque de sous-réseau subnet pour s’adresser aux abonnés d’un réseau.
L'attribution d'adresses IP publiques (accessibles via Internet) est réglementée par une organisation internationale : Internet Corporation for Assigned Names and Numbers (ICANN, en français la Société pour l'attribution des noms de domaine et des numéros sur Internet). L'ICANN est également responsable de l'attribution des noms de domaine ou du système de noms de domaine (DNS). Cependant, certaines plages d'adresses sont réservées à des fins spécifiques, telles que la plage 127.0.0.0 à 127.255.255.255. Il n'y a pas d'informations fiables sur la raison pour laquelle cette gamme a été choisie, mais libre à vous de spéculer.
Jusqu'aux années 1990, les adresses IP sur Internet étaient divisées en différentes classes. La première classe (classe A) a commencé avec 0.0.0.0 (cette adresse est également réservée) et s'est terminée avec 127.255.255.255. Le dernier bloc du réseau de classe A est 127. Cette position importante aurait pu être la raison pour laquelle elle a été choisie.
Un Localnet peut être configuré dans cette plage d'adresses. La particularité de cette gamme réside non seulement dans le fait qu'elle est réservée par l'ICANN, mais également que les adresses IP ne lui sont pas attribuées de manière unique, comme c'est généralement le cas. Mais comment ça fonctionne ?
Avec IPv6, l’adresse ::1 est réservée aux loopbacks.
Par exemple, si vous entrez une adresse IP (ou un nom de domaine correspondant) dans votre navigateur, le routeur transmettra votre demande à Internet et au serveur approprié. Cela signifie que si vous entrez 172.217.0.0, vous accédez à la page d'accueil Google. Cependant, la situation est différente avec 127.0.0.1 car les demandes adressées à cette adresse ne seront pas transmises à Internet. TCP/IP reconnaît à partir du premier bloc (127) que vous ne souhaitez pas accéder à Internet. Cela déclenche alors le loopback.
A l’inverse, le protocole n'accepte pas les requêtes externes adressées à 127.0.0.1, car cela signifierait que les attaquants pourraient essayer de s'infiltrer dans leur système. Les paquets apparaissant sur Internet à partir d'adresses IP réservées telles que 127.0.0.1 sont appelés paquets martiens.
Un périphérique de bouclage est créé pour que le back link vers votre propre ordinateur fonctionne. Il s'agit d'une interface virtuelle créée via le système d'exploitation. Avec les systèmes Unix, l'interface s'appelle lo ou lo0 et peut également être affichée à l'aide de la commande ifconfig. Une commande similaire pour Windows est ipconfig.
Si vous considérez la technologie indépendamment de l'hôte local, un loopback peut être créé de manière analogique : les circuits de la technologie de communication peuvent alors être utilisés pour déterminer si les chemins empruntés par le signal et la réception sont corrects.
Quel est l’usage du localhost ?
Les développeurs utilisent l'hôte local pour tester des programmes et des applications Web. Les administrateurs réseau peuvent également utiliser le loopback pour tester les connexions réseau. Une autre utilisation pratique du localhost est le fichier hosts, où vous pouvez utiliser le loopback pour bloquer les sites Web malveillants.
Pour des tests
L’utilisation principale du localhost dans les serveurs Web est destinée à la programmation d’applications devant communiquer sur Internet. Au cours du développement, il est important de savoir si l'application fonctionne réellement comme prévu une fois que vous avez accès à Internet. Les autres fonctions des hôtes locaux ne sont possibles que si les fichiers requis sont disponibles sur Internet. Par exemple, il existe une différence entre ouvrir un document HTML sur votre PC ou le charger sur un serveur et y accéder. Libérer un produit inachevé sans le tester n'a pas de sens, de sorte que les développeurs utilisent un loopback pour les tester. Ils peuvent stimuler une connexion tout en évitant le détour du réseau : au lieu de cela, la connexion reste complètement dans leur propre système.
Un autre avantage de l'utilisation de localhost dans des tests est sa rapidité. Lorsque vous envoyez une demande via Internet, cela prend plus de 100 millisecondes. Si vous envoyez un ping au localhost, la durée de transmission maximale est de seulement une milliseconde. Avec cette technologie, vous pouvez également savoir si le protocole Internet est correctement implémenté ou non. Pour tester cela vous-même, ouvrez simplement l'invite de commande (Windows) ou le terminal (Unix / Mac) et utilisez la commande ping. Vous pouvez soit l'envoyer au domaine localhost ou directement à l'adresse IP.
ping localhost
ping 127.0.0.1
Si vous souhaitez configurer votre propre serveur de test sur votre PC pour l'adresser via l'hôte local, vous devez d'abord installer le bon logiciel. Il est généralement possible d'exécuter n'importe quel serveur Web standard sur votre propre ordinateur, mais il existe également un logiciel spécialement conçu pour être utilisé comme localhost - XAMPP, par exemple. Nous fournissons un guide étape par étape pour savoir comment installer et configurer le système de test avec XAMPP dans notre Digital Guide.
- Sécurisez vos transferts de données
- Renforcez la confiance de vos clients
- Améliorez votre positionnement sur Google
Pour bloquer des sites Web
Localhost joue également un rôle dans le fichier hosts. En principe, ce fichier est un prédécesseur du système DNS (Domain Name System) : les adresses IP peuvent être affectées aux domaines correspondants. Si vous entrez une adresse de site Web dans le navigateur, le nom de domaine doit être traduit en une adresse IP. Auparavant, c'était le fichier hôte, mais aujourd'hui, vous utiliseriez généralement le DNS global. Cependant, le fichier hôte est toujours présent dans la plupart des systèmes d'exploitation. Avec Windows, vous pouvez trouver le fichier sous \system32\drivers\etc\hosts, avec macOS et d'autres systèmes Unix, il se trouve sous /etc/hosts.
Si vous n'avez pas effectué de changement de fichier, il reste probablement deux entrées :
127.0.0.1 localhost
::1 localhost
Cela garantit que la résolution de noms pour le localhost ne doit pas être effectuée sur Internet. Vous pouvez également utiliser le fichier pour bloquer certains sites Web. Pour ce faire, entrez le site Web à bloquer dans la liste et attribuez l'adresse IP 127.0.0.1 au domaine. Si vous, ou un script malveillant, essayez d'appeler le domaine verrouillé, le navigateur vérifiera d'abord le fichier des hôtes et y trouvera votre entrée. Une autre option consiste à utiliser le nom de domaine 0.0.0.0.
Le navigateur essaiera alors d'accéder au site Web correspondant sur le serveur avec 127.0.0.1. Cependant, il est peu probable que le navigateur puisse le localiser, car le fichier demandé ne sera pas là. Cependant, si vous avez configuré votre propre serveur de test, le navigateur peut trouver home.html, mais il ne s'agit que de votre propre fichier. Si vous n'avez pas configuré votre propre serveur de test, un message d'erreur apparaîtra à la place du site Web demandé. Cette technologie peut également être utilisée pour désactiver les encarts publicitaires dans tout le système. Pour ne pas avoir à faire chaque entrée manuellement, vous pouvez trouver des host files régulièrement étendus sur Internet.
Le fichier hosts peut avoir un impact majeur sur votre sécurité lorsque vous naviguez sur Internet. Bien que le fichier soit adapté au blocage de sites Web malveillants, les criminels peuvent toujours le manipuler. Vous devez donc vous assurer de ne pas copier les entrées d'autres sites Web sans les vérifier au préalable, et vous assurer que les logiciels malveillants ne tentent pas de créer des entrées sans vous en rendre compte.