de.phhsnews.com


de.phhsnews.com / Wie hören Webserver auf neue Anfragen?

Wie hören Webserver auf neue Anfragen?


Wenn Sie sich über Webserver und ihre Funktionsweise informieren, sind Sie vielleicht neugierig, ob sie ständig auf Anfragen warten oder warten, bis sie eine empfangen Aufforderung, in Aktion zu treten. Vor diesem Hintergrund hat der heutige SuperUser-Q & A-Beitrag Antworten auf die Neugier eines Lesers.

Die heutige Question & Answer-Sitzung kommt uns dank SuperUser - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites -

Screenshot mit freundlicher Genehmigung von xmodulo / Linux Screenshots (Flickr).

Die Frage

SuperUser reader user2202911 möchte wissen, wie Webserver auf neue Anfragen warten:

Ich versuche die Details der 'tieferen Ebene' zu verstehen Wie funktionieren Webserver? Ich möchte wissen, ob ein Server, sagen wir zum Beispiel Apache, ständig nach neuen Anfragen fragt oder ob es durch ein Interrupt-System funktioniert. Wenn es ein Interrupt ist, was löst den Interrupt aus? Ist es der Netzwerkkartentreiber?

Wie hört ein Webserver auf neue Anfragen?

Der Antwort

SuperUser-Mitarbeiter Greg Bowser hat die Antwort für uns:

Die kurze Antwort ist eine Art Interrupt-System . Im Wesentlichen verwenden sie blockierende E / A, dh sie schlafen (blockieren), während sie auf neue Daten warten.

  1. Der Server erstellt einen abhörenden Socket und blockiert dann, während er auf neue Verbindungen wartet. Während dieser Zeit versetzt der Kernel den Prozess in einen unterbrechbaren Ruhezustand und führt andere Prozesse aus. Dies ist ein wichtiger Punkt; Wenn die Prozessabfrage kontinuierlich läuft, würden CPU-Ressourcen verschwendet werden. Der Kernel ist in der Lage, die Systemressourcen effizienter zu nutzen, indem er den Prozess so lange blockiert, bis es Arbeit gibt.
  2. Wenn neue Daten im Netzwerk ankommen, gibt die Netzwerkkarte einen Interrupt aus.
  3. Es wird ein Interrupt von der Netzwerkkarte liest der Kernel über den Netzwerkkartentreiber die neuen Daten von der Netzwerkkarte und speichert sie im Speicher. (Dies muss schnell erledigt werden und wird im Allgemeinen innerhalb des Interrupt-Handlers abgewickelt.)
  4. Der Kernel verarbeitet die neu angekommenen Daten und ordnet sie einem Socket zu. Ein Prozess, der für diesen Socket blockiert wird, wird als runnable markiert, was bedeutet, dass er jetzt ausgeführt werden kann. Es läuft nicht unbedingt sofort (der Kernel kann sich entscheiden, andere Prozesse noch auszuführen).
  5. Der Kernel wird den blockierten Web-Server-Prozess aktivieren. (Da es jetzt ausführbar ist.)
  6. Der Webserverprozess wird so ausgeführt, als wäre keine Zeit vergangen. Der blockierende Systemaufruf kehrt zurück und verarbeitet neue Daten. Fahren Sie dann mit Schritt 1 fort.

Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.


So verwenden Sie HTML-Signaturen in Google Mail, Hotmail, Yahoo

So verwenden Sie HTML-Signaturen in Google Mail, Hotmail, Yahoo

Wenn Sie einen webbasierten E-Mail-Client wie Gmail oder Yahoo verwenden, haben Sie wahrscheinlich erfahren, dass keiner der Dienste HTML-Signaturen unterstützt. In Google Mail und Yahoo können Sie Rich-Text-Signaturen mit Bildern usw. erstellen. Sie können jedoch nicht direkt in das Signaturfeld HTML-Code eingeben.Fü

(How-to)

Wie finden Sie Google Chrome Extensions, die Anzeigen in Webseiten einspeichern?

Wie finden Sie Google Chrome Extensions, die Anzeigen in Webseiten einspeichern?

Anzeigen sind ein Teil des Lebens im Internet, aber wenn eine skrupellose Erweiterung absichtlich Werbung in Ihre Browser-Erfahrung einspeist, dann es ist Zeit zu handeln! Der heutige SuperUser Q & A-Post hat die Antwort, um frustrierten Lesern das Surfen im Internet zu erleichtern. Die heutige Question & Answer-Sitzung kommt dank SuperUser zustande - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites Screenshot mit freundlicher Genehmigung von Oliver Salzburg (SuperUser) Die Frage SuperUser-Leser giorgio79 möchte wissen, wie er die Chrome-Erweiterung findet, die unerwünschte Werbung in sein Browser-Erlebnis einbringt: Ich benutze Google Chrome und kürzlich bemerkte zufällige Anzeigen, die entweder in den Inhalt der Webseite eingebettet waren oder durch Umleitung.

(how-to)