Webserver
Überblick
Web serverist ein Computer, auf dem der Webinhalt gespeichert ist. Grundsätzlich wird der Webserver zum Hosten der Websites verwendet, es gibt jedoch auch andere Webserver wie Spiele, Speicher, FTP, E-Mail usw.
Die Website ist eine Sammlung von Webseiten, während der Webserver eine Software ist, die auf die Anforderung von Webressourcen reagiert.
Webserver funktioniert
Der Webserver reagiert auf die Clientanforderung auf eine der folgenden zwei Arten:
Senden der Datei an den Client, der der angeforderten URL zugeordnet ist.
Generieren einer Antwort durch Aufrufen eines Skripts und Kommunizieren mit der Datenbank
Key Points
Wenn der Client eine Anforderung für eine Webseite sendet, sucht der Webserver nach der angeforderten Seite, wenn die angeforderte Seite gefunden wird, und sendet sie mit einer HTTP-Antwort an den Client.
Wenn die angeforderte Webseite nicht gefunden wird, sendet der Webserver eine HTTP response:Error 404 Not found.
Wenn der Client andere Ressourcen angefordert hat, kontaktiert der Webserver den Anwendungsserver und den Datenspeicher, um die HTTP-Antwort zu erstellen.
Die Architektur
Die Webserver-Architektur verfolgt die folgenden zwei Ansätze:
Gleichzeitiger Ansatz
Einzelprozess-ereignisgesteuerter Ansatz.
Gleichzeitiger Ansatz
Durch den gleichzeitigen Ansatz kann der Webserver mehrere Clientanforderungen gleichzeitig verarbeiten. Dies kann mit folgenden Methoden erreicht werden:
Multi-process
Multi-threaded
Hybridmethode.
Multiverarbeitung
In diesem Fall initiiert ein einzelner Prozess (übergeordneter Prozess) mehrere untergeordnete Prozesse mit einem Thread und verteilt eingehende Anforderungen an diese untergeordneten Prozesse. Jeder der untergeordneten Prozesse ist für die Bearbeitung einer einzelnen Anforderung verantwortlich.
Es liegt in der Verantwortung des übergeordneten Prozesses, die Last zu überwachen und zu entscheiden, ob Prozesse beendet oder gegabelt werden sollen.
Multithreading
Im Gegensatz zu Multi-Prozess werden mehrere Single-Thread-Prozesse erstellt.
Hybrid
Es ist eine Kombination der beiden oben genannten Ansätze. Bei diesem Ansatz werden mehrere Prozesse erstellt und jeder Prozess initiiert mehrere Threads. Jeder der Threads verarbeitet eine Verbindung. Die Verwendung mehrerer Threads in einem Prozess führt zu einer geringeren Belastung der Systemressourcen.
Beispiele
Die folgende Tabelle beschreibt die derzeit führenden Webserver:
SN | Webserver-Beschreibung |
---|---|
1 | Apache HTTP Server Dies ist der beliebteste Webserver der Welt, der von der Apache Software Foundation entwickelt wurde. Der Apache-Webserver ist eine Open Source-Software und kann auf fast allen Betriebssystemen installiert werden, einschließlich Linux, UNIX, Windows, FreeBSD, Mac OS X und mehr. Ungefähr 60% der Webserver-Computer führen den Apache-Webserver aus. |
2. | Internet Information Services (IIS) Der Internet Information Server (IIS) ist ein Hochleistungs-Webserver von Microsoft. Dieser Webserver läuft auf Windows NT / 2000- und 2003-Plattformen (und möglicherweise auch auf der kommenden neuen Windows-Version). IIS wird mit Windows NT / 2000 und 2003 geliefert. Da IIS eng in das Betriebssystem integriert ist, ist die Verwaltung relativ einfach. |
3. | Lighttpd Das lighttpd, ausgesprochen lighty, ist auch ein kostenloser Webserver, der mit dem FreeBSD-Betriebssystem vertrieben wird. Dieser Open Source-Webserver ist schnell, sicher und verbraucht viel weniger CPU-Leistung. Lighttpd kann auch unter Windows-, Mac OS X-, Linux- und Solaris-Betriebssystemen ausgeführt werden. |
4. | Sun Java System Web Server Dieser Webserver von Sun Microsystems eignet sich für mittlere und große Websites. Obwohl der Server kostenlos ist, ist er nicht Open Source. Es läuft jedoch auf Windows-, Linux- und UNIX-Plattformen. Der Sun Java System-Webserver unterstützt verschiedene für Web 2.0 erforderliche Sprachen, Skripte und Technologien wie JSP, Java-Servlets, PHP, Perl, Python und Ruby on Rails, ASP und Coldfusion usw. |
5. | Jigsaw Server Jigsaw (W3Cs Server) stammt vom World Wide Web Consortium. Es ist Open Source und kostenlos und kann auf verschiedenen Plattformen wie Linux, UNIX, Windows und Mac OS X Free BSD usw. ausgeführt werden. Jigsaw wurde in Java geschrieben und kann CGI-Skripte und PHP-Programme ausführen. |