phhsnews.com


phhsnews.com / Comment les serveurs Web écoutent-ils les nouvelles requêtes

Comment les serveurs Web écoutent-ils les nouvelles requêtes


Lorsque vous découvrez les serveurs Web et leur fonctionnement, vous pouvez être curieux de savoir s'ils sont constamment à l'écoute des demandes ou s'ils attendent demande d'entrer en action. Dans cette optique, le poste de questions / réponses SuperUser d'aujourd'hui a les réponses pour satisfaire la curiosité d'un lecteur.

La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

Capture d'écran avec la permission de xmodulo / Screenshots de Linux (Flickr).

La question

SuperUser reader user2202911 veut savoir comment les serveurs web écoutent les nouvelles requêtes:

J'essaie de comprendre les détails du "niveau plus profond" comment fonctionnent les serveurs web. Je veux savoir si un serveur, par exemple Apache, interroge continuellement de nouvelles requêtes ou s'il fonctionne avec un système d'interruption quelconque. Si c'est une interruption, qu'est-ce qui déclenche l'interruption? Est-ce le pilote de la carte réseau?

Comment un serveur Web écoute-t-il les nouvelles demandes?

Le contributeur SuperUser de la réponse

Greg Bowser a la réponse pour nous:

La réponse courte est une sorte de système d'interruption . Essentiellement, ils utilisent des E / S bloquantes, ce qui signifie qu'ils dorment (bloquent) en attendant de nouvelles données.

  1. Le serveur crée un socket d'écoute puis bloque en attendant de nouvelles connexions. Pendant ce temps, le noyau met le processus dans un état de sommeil interruptible et exécute d'autres processus. C'est un point important; avoir le processus polluer en permanence gaspillerait les ressources du processeur. Le noyau peut utiliser plus efficacement les ressources du système en bloquant le processus jusqu'à ce qu'il y ait du travail à faire.
  2. Lorsque de nouvelles données arrivent sur le réseau, la carte réseau émet une interruption.
  3. Voyant qu'il y a un interrompre à partir de la carte réseau, le noyau, via le pilote de la carte réseau, lit les nouvelles données de la carte réseau et les stocke en mémoire. (Cela doit être fait rapidement et est généralement traité dans le gestionnaire d'interruption.)
  4. Le noyau traite les données nouvellement arrivées et les associe à un socket. Un processus qui bloque sur ce socket sera marqué runnable, ce qui signifie qu'il est maintenant éligible à s'exécuter. Il ne fonctionne pas forcément immédiatement (le noyau peut décider d'exécuter d'autres processus).
  5. À loisir, le noyau réveillera le processus du serveur web bloqué. (Comme il est maintenant exécutable.)
  6. Le processus du serveur Web continue à s'exécuter comme si aucun temps ne s'était écoulé. Son appel système bloquant renvoie et traite toutes les nouvelles données. Ensuite, passez à l'étape 1.

Avez-vous 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.


Comment lire n'importe quelle vidéo sur votre Apple TV avec VLC

Comment lire n'importe quelle vidéo sur votre Apple TV avec VLC

En matière de lecture vidéo, l'application multiplateforme VLC est un véritable couteau suisse. Il a été populaire sur Windows, Mac et Linux pendant longtemps, mais vous pouvez désormais profiter de la même puissance de lecture, de tout sous le soleil sur votre Apple TV. Comme la plupart des lecteurs multimédia de salon, le Apple TV est très bon pour lire le contenu fourni par sa société mère (Apple), mais nécessite un peu de finesse pour lire du contenu provenant d'autres sources (comme votre collection multimédia personnelle, le Web ou d'autres sources de diffusion).

(how-to)

Suppression de photobombeurs et d'autres objets d'une photo dans Photoshop

Suppression de photobombeurs et d'autres objets d'une photo dans Photoshop

Configurez le trépied, alignez la photo et préparez-vous à prendre la meilleure image de votre vie. Vous regardez dans le viseur et lorsque vous appuyez sur le déclencheur, un passant au hasard saute dans le cadre. Vous avez été photographié. Parfois, vous remarquerez tout de suite et serez capable de prendre une autre photo, mais souvent, vous ne verrez pas l'intrus de l'image jusqu'à ce que vous rentrez chez vous.

(how-to)