15Aug

Comment les serveurs Web savent-ils si vous utilisez l'accès par adresse IP directe ou non?

Habituellement, nous tapons simplement l'adresse d'un site web que nous voulons voir, mais un serveur web "connaîtrait-il" si nous utilisions l'adresse IP directe à la place? Le SuperUser Q & A d'aujourd'hui a la réponse à la question d'un lecteur confus.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

Photo gracieuseté de Cory M. Grenier( Flickr).

La question Lecteur

SuperUser Joseph A. veut savoir comment les serveurs Web peuvent savoir si vous utilisez un accès direct à l'adresse IP ou non:

Certains serveurs Web, lorsqu'ils sont accédés en utilisant leur adresse IP, renvoient une erreur indiquant que l'accès direct à l'adresse IP n'est paspermis. Je me demandais depuis un certain temps comment cela fonctionne.

Un navigateur résout-il toujours l'adresse IP et s'y connecte-t-il? L'accès direct à l'adresse IP ne fait que sauter le DNS, n'est-ce pas? Comment un serveur distant peut-il même savoir que vous avez ignoré DNS?

Comment les serveurs Web savent-ils si vous utilisez un accès direct à l'adresse IP ou non?

La réponse

SuperUser contributeur iAdjunct a la réponse pour nous:

Pour répondre à votre question de savoir comment il sait, cela a à voir avec ce que votre navigateur envoie au serveur web. Vous avez raison de dire que le système le résout toujours en adresse IP, mais le navigateur envoie l'URL à laquelle vous avez tenté d'accéder dans l'en-tête HTTP.

Voici un exemple d'en-tête que j'ai trouvé en ligne, modifié pour ressembler à Firefox sur Windows et tapé apple.com dans la barre d'adresse:

Voici à quoi ressemblerait l'en-tête si vous utilisiez son adresse IP:

ceux-ci seraient envoyés à la même adresse IP sur une socket, mais le navigateur indique au serveur Web à quoi il a accédé.Pourquoi? Parce que les serveurs Web avec la même adresse IP peuvent héberger plusieurs sites Web et donner des pages différentes pour chacun. Il ne peut pas distinguer qui veut quelle page par adresse IP parce qu'ils ont tous le même, mais il peut les distinguer par l'en-tête HTTP.

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.