phhsnews.com


phhsnews.com / Les serveurs Web ne disposent-ils que d'un site Web?

Les serveurs Web ne disposent-ils que d'un site Web?


Lorsque vous commencez à apprendre comment les noms de domaine, les adresses IP, les serveurs Web et les sites Web s'accordent, ils peuvent être déroutants ou écrasante parfois. Comment tout est-il mis en place pour fonctionner si bien?

La session de questions-réponses d'aujourd'hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web de questions-réponses.

Photo gracieuseté de Rosmarie Voegtli (Flickr).

La question

SuperUser lecteur utilisateur3407319 veut savoir si les serveurs Web ne détiennent chacun qu'un site:

Basé sur ce que je comprends du DNS et liant un nom de domaine avec l'adresse IP du Serveur Web un site Web est stocké sur, cela signifie-t-il que chaque serveur Web ne peut contenir qu'un site Web? Si les serveurs Web hébergent plus d'un site Web, comment tout cela peut-il être résolu pour que je puisse accéder au site Web que je veux sans aucun problème ou confusion?

Les serveurs Web ne détiennent chacun qu'un site Web ou en détiennent-ils plus? ?

La réponse

SuperUser contributeur Bob a la réponse pour nous:

Fondamentalement, le navigateur inclut le nom de domaine dans la requête HTTP afin que le serveur web sache quel domaine a été demandé et peut répondre en conséquence. Requêtes HTTP

Voici comment se passe votre requête

1.

L'utilisateur fournit une URL au format // host: port / path. 2.

Le navigateur extrait la partie hôte (domaine) de l'URL et la traduit en une adresse IP (si nécessaire) dans un processus connu sous le nom de résolution de nom. Cette traduction peut se faire via DNS, mais elle n'est pas obligatoire (par exemple, le fichier hosts local sur les systèmes d'exploitation courants contourne DNS). 3.

Le navigateur ouvre une connexion TCP au port spécifié, ou par défaut au port 80 sur cette adresse IP. 4.

Le navigateur envoie une requête HTTP. Pour HTTP / 1.1, cela ressemble à ceci: L'en-tête de l'hôte est standard et requis dans HTTP / 1.1. Il n'a pas été spécifié dans la spécification HTTP / 1.0, mais certains serveurs le supportent de toute façon.

A partir de là, le serveur web dispose de plusieurs informations qu'il peut utiliser pour décider de la réponse. Notez qu'il est possible qu'un seul serveur Web soit lié à plusieurs adresses IP

L'adresse IP demandée, à partir du socket TCP (l'adresse IP du client est également disponible, mais elle est rarement utilisée, et parfois pour blocking / filtering)

  • Le port demandé, à partir du socket TCP
  • Le nom d'hôte demandé, tel que spécifié dans l'en-tête du navigateur dans la requête HTTP
  • Le chemin demandé
  • Tous les autres en-têtes (cookies , etc.)
  • Comme vous semblez l'avoir remarqué, la configuration d'hébergement partagé la plus courante de nos jours place plusieurs sites Web sur une même adresse IP: la combinaison de port, laissant seulement l'hôte pour faire la différence entre les sites.

un hôte virtuel basé sur le nom dans Apache-land, tandis que Nginx les appelle les noms de serveurs dans les blocs de serveur, et IIS préfère le serveur virtuel

Qu'en est-il de HTTPS?

HTTPS est un peu différent. Tout est identique jusqu'à l'établissement de la connexion TCP, mais après cela un tunnel TLS crypté doit être établi. L'objectif est de ne pas divulguer d'informations sur la requête.

Afin de vérifier que le serveur Web possède réellement ce domaine, le serveur Web doit envoyer un certificat signé par un tiers de confiance. Le navigateur compare alors ce certificat avec le domaine demandé.

Cela présente un problème. Comment le serveur Web sait-il quel certificat hôte / site Web envoyer s'il a besoin de le faire avant la réception de la requête HTTP?

Traditionnellement, ceci a été résolu en ayant une adresse IP dédiée (ou port) pour chaque site nécessitant HTTPS. Évidemment, cela devient problématique car nous manquons d'adresses IPv4

Entrez SNI (Server Name Indication). Le navigateur transmet maintenant le nom d'hôte pendant les négociations TLS, de sorte que le serveur Web dispose de ces informations assez tôt pour envoyer le bon certificat. Côté serveur Web, la configuration est très similaire à la configuration des hôtes virtuels HTTP.

L'inconvénient est que le nom d'hôte est maintenant passé en texte brut avant le cryptage, et qu'il s'agit essentiellement d'informations divulguées. Cela est généralement considéré comme un compromis acceptable bien que le nom d'hôte soit normalement exposé dans une requête DNS.

Que faire si vous demandez un site Web par adresse IP uniquement?

Ce que fait le serveur Web lorsqu'il ne sait pas L'hôte spécifique que vous avez demandé dépend de l'implémentation et de la configuration du serveur Web. Généralement, un site Web "par défaut", "fourre-tout" ou "repli" est spécifié pour répondre à toutes les demandes qui ne spécifient pas explicitement un hôte.

Ce site Web par défaut peut être son propre site Web indépendant ( affiche souvent un message d'erreur), ou il pourrait être l'un des autres sites Web sur le serveur web en fonction des préférences de l'administrateur du serveur web.

Vous avez 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.



Désactiver la restauration du système dans Windows 7, 8 ou 10

Désactiver la restauration du système dans Windows 7, 8 ou 10

Vous assure que les installations de logiciels, les pilotes et autres mises à jour peuvent être annulés. Le seul prix à cette fonctionnalité est l'utilisation du disque. Si vous voulez désactiver la restauration du système, ce qui est une mauvaise idée, c'est vraiment très simple. Juste pour vous assurer que vous comprenez: Le logiciel a des bogues.

(how-to)

Comment économiser de l'espace sur votre Mac ou votre iPhone en limitant les téléchargements de podcasts

Comment économiser de l'espace sur votre Mac ou votre iPhone en limitant les téléchargements de podcasts

Les podcasts sont un excellent moyen de passer du temps sur des longs trajets ou pendant de longues périodes de travail fastidieux. Mais les podcasts peuvent souvent consommer beaucoup d'espace assez rapidement, il est donc bon de savoir comment les gérer au mieux. Vous ne réalisez probablement même pas que cela se produit.

(how-to)