web-dev-qa-db-fra.com

Pourquoi Chrome résout-il websitename.localhost en localhost?

J'utilise .localhost en tant que TLD pour les sites hébergés localement sur lesquels je travaille. Habituellement, lorsque je commence un nouveau site, je crée une entrée dans le fichier de configuration de l’hôte Apache virtuel, puis j’ajoute une entrée dans le fichier hosts de Windows pour mapper l’adresse sur 127.0.0.1. L'adresse serait quelque chose comme sitename.localhost

Aujourd'hui, je travaillais sur un nouveau site, j'ai donc ajouté l'entrée dans le fichier des hôtes virtuels, mais j'ai oublié d'ajouter une entrée dans le fichier des hôtes. À ma grande surprise, le site s'est bien chargé dans Chrome sans mapper l'adresse sur 127.0.0.1. Cependant, lorsque j'ai essayé de charger le site dans IE et Firefox, cela ne fonctionnait pas et le site Web de mon fournisseur de services Internet apparaît.

Existe-t-il une raison pour laquelle Chrome et les autres navigateurs ne le font pas? Est-ce quelque chose qui est censé arriver?

5
Kodos Johnson

De la entrée Wikipedia pour .localhost (TLD) :

En tant que domaine de premier niveau, le nom est traditionnellement défini de manière statique dans les implémentations DNS de l'hôte avec des enregistrements d'adresse (A et AAAA) pointant vers les mêmes adresses de bouclage . .

Cependant, comme vous l'avez constaté, il semblerait que ce ne soit que Chrome et les versions ultérieures de Opera (éventuellement les navigateurs WebKit, qui pourraient également inclure Safari).

3
MrWhite

De https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

Il y a ne proposition d'ajouter le domaine . Localhost en tant que nouvelle norme, ce qui facilitera grandement la vie des développeurs. Cela signifierait site.localhost et tout ce qui se trouve à *. Localhost serait automatiquement traduire en 127.0.0.1 , sans /etc/hosts ou Dnsmasq Solutions de contournement.

Reportez-vous au RFC here .

5
bantya