Wann kann ein PC ein Webserver sein und wann nicht?

Wann kann ein PC ein Webserver sein und wann nicht?

Ich habe eine Frage zur Verwendung eines Computers als Webserver. Warum kann ein bestimmter Computer ein Webserver sein? Welche Funktionen machen ihn zu einem Webserver? Gibt es Fälle, in denen ein Computer nicht als Webserver fungieren kann?

Antwort1

So ziemlich jeder Computer kann als [Web-]Server verwendet werden, vorausgesetzt, er kann eine Verbindung zu einem Netzwerk herstellen und Webserver-Software ausführen. Da ein Webserver recht einfach sein kann und es kostenlose und Open-Source-Webserver gibt, kann praktisch jedes Gerät als Webserver fungieren.

Das größere Problem ist die Netzwerkseite. Damit ein System als Server fungieren kann, müssen andere Maschinen darauf zugreifen können. Wenn es nur für die Verwendung in einem LAN vorgesehen ist, gibt es keine Bedenken. Wenn es jedoch für die Verwendung aus dem weiteren Internet vorgesehen ist, müssen Daten dorthin geleitet werden. Dies erfordert entweder eine statische IP-Adresse, die dem Server zugeordnet ist (oder eine Portweiterleitung über einen Router) oder einen externen Dienst, der einen Domänennamen/eine Subdomäne einer sich ändernden dynamischen IP-Adresse zuordnen kann.

(FWIW, Sie können kaufen10-Dollar-Computerder als einfacher Webserver fungieren kann.)

Obwohl jedes Gerät als Webserver fungieren kann, kann die Funktionalität von Websites stark variieren und ein billiges Gerät (oder eine langsame Verbindung) kann den Anforderungen je nach Website möglicherweise nicht gerecht werden.

Mir ist aufgefallen, dass sich oben alles um Webserver dreht – das Gleiche kann jedoch über praktisch jeden Servertyp gesagt werden.

Antwort2

Das ist überhaupt nicht schwierig. Es hängt lediglich von Ihrer Definition von „Webserver“ ab.

Es ist durchaus möglich, einen „Webserver“ auf so einfachen Geräten wie einem Mikrocontroller auszuführen.

Überlegen wir, was der minimale Webserver leisten müsste. Er müsste einen Text an einen Client ausgeben – nicht unbedingt in HTML. Er müsste wissen, dass eine Anfrage eine Anfrage ist, und entsprechend reagieren. Sie bräuchten nicht einmal eine Netzwerkverbindung, wenn Ihr „Client“ lokal wäre. Es wäre ein völlig sinnloser Webserver.

Es wäre das Webserver-Äquivalent voneiner von diesen.

Bildbeschreibung hier eingeben

Besser wäre es, eine Netzwerkkonnektivität für einen Client hinzuzufügen (Ethernet ist gut, aber es gibt keinen technischen Grund, warum Sie keine Verbindung zu einem über WLAN laufenden Webserver herstellen können) und die Möglichkeit zum Routing von einem Client aus zu haben.

Ein 5-Dollar-ScheinESP8266– ein billiger, minimaler Mikrocontroller mit WLAN kann einen Großteil davon und vielleicht sogar grundlegende dynamische Inhalte verarbeiten

Ich verwende so etwas für den schnellen Dateiaustausch mit Python. Es ist immer noch durchaus möglich, so etwas auf einem Mikrocontroller zu schreiben oder sogar auf einem Telefon auszuführen.

Statischer Inhalt ist langweilig. Wenn Sie dynamische Sprachen hinzufügen, müssen Sie über leistungsstärkere Systeme nachdenken. Sachen, die unter Linux oder Windows laufen, sind nett.

An diesem Punkt sprechen Sie über Verbraucherrouter, kleine Anwendungen, die Webseiten auf der Benutzeroberfläche verwenden und dergleichen.

Ein Webserver ist nicht einmal ein komplexes Problem und kann geschrieben werden infünf Zeilen Bashund laufen unter Linux. JetztUntergang... Aber jedes System, das Doom ausführen kann, kann auch einen Webserver ausführen.

AGutDie Einrichtung eines Webservers, der eine bestimmte Last bewältigen kann, ist etwas schwieriger.

Antwort3

Das absolut Nötigste

Buchstäblich,beliebigEin Computer kann zu einem Webserver werden, wenn er über Folgendes verfügt:

  • Eine Netzwerkverbindung
  • Eine sehr einfache Webserver-App,so was.

Aber würde es ausreichen? Das ist die schwierige Frage.

Bereitstellung eines Intranets

Damit ein Computer zu einem Webserver wird, der einer ganzen Community (z. B. Schule, Unternehmen, Museum) moderne Webseiten oder Webanwendungen bereitstellt, müssen folgende Voraussetzungen erfüllt sein:

  • Hardware, die mehrere Computer gleichzeitig bedienen kann. Vielleicht reicht ein alter Computer mit Linux oder Windows XP.
  • Eine Hochgeschwindigkeits-Netzwerkverbindung mit ausreichender Bandbreite, beispielsweise 1 GBit/s Ethernet oder 802.11g WLAN.
  • Eine gute Webserver-App, wieIIS,Apache,NginxoderAndere(Überraschenderweise sind diese drei kostenlos.)

Für kleine Betriebe sei das allerdings nur das Minimum.Wenn Ihr Betrieb größer wird (d. h. Sie haben mehr Verkehr und bieten komplexe Webanwendungen statt statischer Seiten an), wachsen Ihre Anforderungen. Sie werden irgendwann Folgendes brauchen:

  • Server-Klasse-Hardware wie Rack-Server mit mehreren Xeon-CPUs und Hunderten von Gigabyte RAM
  • Glasfasernetze

Im Dienste der Außenwelt

Um die Internet-Infrastruktur für die ganze Welt zu nutzen, benötigen Sie:

  • Eine öffentliche IP-Adresse
  • Ein öffentlicher DNS-Server
  • Digitale Zertifikate ausgestellt vonseriöse Zertifizierungsstellenzum Aufbau einer sicheren Verbindung

Ohne diese haben Sie nur einPotenzialWebserver.

Antwort4

Wenn Sie einen Computer (PC, Laptop, Smartphone, RaspberryPI...) mit installiertem Python zur Hand haben, geben Sie einfach Folgendes ein:

$ python -m SimpleHTTPServer

Oder wenn Sie Node.js installiert haben:

$ npm install http-server -g
$ http-server

Herzlichen Glückwunsch, Sie haben einen Webserver!

verwandte Informationen