2010-05-06 4 views
6

J'ai ce petit doute mais je n'ai pas pu trouver d'informations à ce sujet, probablement parce que je ne cherche pas la bonne chose.Comment les hébergements partagés, les noms de domaine et les DNS fonctionnent-ils ensemble?

Lorsqu'un navigateur demande "www.mondomaine.com", le serveur DNS renvoie une adresse IP, puis le navigateur s'y rend ... mais que se passe-t-il alors? Je veux dire, cette adresse IP pourrait être un hébergement partagé qui contient des centaines de pages Web et de domaines, alors comment sait-il où il doit aller?

Est-ce que le serveur Web fait quelque chose? Est-ce quelque chose que je pourrais implémenter dans une application web? Je veux dire, par exemple, j'ai une application web qui contient des comptes, et chaque compte a une page web par défaut. Vous pouvez accéder à cette page en passant le nom de compte, par exemple "www.mondomaine.com/myaccount", mais maintenant je veux enregistrer "www.myaccount.com" et ensuite il y aura le "www.mydomain.com/myaccount" contenu. C'est possible?

Cordialement.

Répondre

11

HTTP/1.1 exige que toutes les demandes comprennent un en-tête Host qui comprend le nom de domaine que vous avez tapé dans Ainsi, une demande de base pour « http://www.example.com/foo/bar.html » ressemblera à ceci:.

GET/foo/bar. html HTTP/1.1
Host: www.example.com

et le serveur Web sera alors en mesure d'utiliser l'en-tête d'hôte pour acheminer la demande vers le site correct, même s'il y a plus d'un sur le même Adresse IP.

+0

Je suppose que le serveur Web rejettera toute demande à un hôte qui ne figure pas dans sa liste d'hôtes virtuels, y a-t-il un moyen de l'obliger à tout accepter? ou suis-je en train de suggérer quelque chose de fou? : D – vtortola

+1

Cela dépend du serveur (par exemple, Apache vs. IIS, etc.) comment vous l'avez réellement configuré mais vous pouvez avoir un hôte "fourre-tout", oui. –

+0

Savez-vous ce que je devrais chercher pour configurer IIS7 pour faire cela? le nom des paramètres, ou la technique ... quelque chose: D. Merci. – vtortola

2

Le serveur Web gère l'application qui répond à votre requête. Votre "hébergement mutualisé" a un autre nom. C'est ce qu'on appelle des "hôtes virtuels". Le serveur Web dispose d'une liste de "hôtes virtuels" et en fonction de la façon dont vous avez accédé à l'hôte (via quel nom d'hôte), le serveur Web sélectionne l'application qui répond à votre requête.

+0

Je suppose que le serveur Web rejettera toute demande à un hôte qui ne figure pas dans sa liste d'hôtes virtuels, est-il possible de l'obliger à tout accepter? ou suis-je en train de suggérer quelque chose de fou? : D – vtortola

+1

En règle générale, il accepte toutes les demandes sauf si vous avez défini des "hôtes virtuels". Habituellement, il y a une sorte de gestionnaire par défaut. – dlamotte

+0

Avez-vous des informations à ce sujet ou pourriez-vous me dire ce que je devrais rechercher? Merci! – vtortola

Questions connexes