Das hat viele Ebenen. Und vor allem sind viele von ihnen austauschbar.
Beispielsweise können Sie ein Koaxialkabelnetzwerk, ein Ethernet oder ein WLAN auf physischer Ebene haben. HTTP funktioniert zusätzlich zu all diesen, aber jeder von ihnen hat eine etwas andere Handhabung der herumgeschickten Nutzdaten.
HTTP funktioniert auf einem anderen Protokoll namens TCP, das wiederum mehr oder weniger auf einem anderen Protokoll namens IP ausgeführt wird (heutzutage meist in zwei Varianten - IPv4 und IPv6).
Daher registriert der HTTP-Server eine IP-Adresse (wie 184.38.45.1
oder meistens "any") zusammen mit einem TCP-Port ( 80
der Standard für HTTP, aber im Allgemeinen alles von 1
bis 65535
) beim Betriebssystem. Jetzt weist der HTTP-Server das Betriebssystem an, einen Ping-Befehl zu senden, wenn Daten (oder eine andere Nachricht) eingehen. Das Betriebssystem weiß, wann dies geschieht, da der Treiber der Netzwerkschnittstellenkarte dies mitteilt. Und der NIC-Treiber wird von der NIC selbst informiert, die tatsächlich über eine eigene Software verfügt, um die elektrischen Signale auf dem Netzwerkkabel (oder die drahtlosen Signale in der Luft usw. zu interpretieren, Sie haben die Idee).
Randnotiz :
Wenn Sie mehr darüber erfahren möchten, wie die Netzwerkkarte die Kommunikation mit dem Treiber / Betriebssystem initiieren kann, sollten Sie einige grundlegende Informationen zu Hardware-Interrupts nachschlagen. Grundsätzlich wird alles, was die CPU gerade tut, gestoppt und der Programmablauf wechselt zu einem Interrupt Handler-Routine - ein äußerst einfacher Code, der sich um die Benachrichtigung des Systems kümmert und die Kontrolle sofort wieder auf die ursprüngliche Funktion der CPU zurückführt. Tatsächlich kann es Ihnen viele Fragen zum Innenleben des Betriebssystems und des Computers selbst beantworten - beispielsweise, wie ein Betriebssystem die CPU aus laufenden Anwendungen "stehlen" und die CPU-Ressourcen zwischen verschiedenen gleichzeitig ausgeführten Anwendungen mischen kann. auch wenn sie nicht zusammenarbeiten.
Zurück zum Geschäftlichen:
Stellen Sie sich in Ihrer manuellen Telefonanalogie vor, dass Ihr Telefon nicht wirklich klingelt. Um zu wissen, ob Sie einen Anruf versuchen, müssen Sie regelmäßig auf den Bildschirm schauen und überprüfen. Um die Verwaltung für den HTTP-Server zu vereinfachen (da bereits einige Schichten diese regelmäßige Überprüfung durchführen), können Sie den Überprüfungsversuch tatsächlich blockieren .
Anstatt zu überprüfen, zu sehen, dass dort nichts ist, und erneut zu überprüfen, schauen Sie im Grunde die ganze Zeit auf den Bildschirm. Grundsätzlich haben Sie jedoch ein separates System, um dies zu handhaben (in Ihrem Fall das Hörzentrum, das die Luftvibrationen auf nützliche Informationen überprüft, den Ring), sodass Ihre Aufmerksamkeit (CPU-Zeit) nicht erforderlich ist.
Dies wird durch Techniken weiter verbessert, mit denen Sie viele Verbindungen gleichzeitig überwachen können (IOCP). Dies kommt dem Telefonklingelsystem immer näher - Sie haben einen Raum mit zehntausend Telefonen, aber Sie kümmern sich nur um diejenigen, die gerade klingeln, die anderen nehmen Ihre Aufmerksamkeit nicht auf sich.