Werbung
Das Internet ist unglaublich, da können wir uns alle einig sein. Aber haben Sie sich jemals hingesetzt und darüber nachgedacht, wie eine Website tatsächlich auf Ihren Computer gelangt? Welche Technologien stecken zum Beispiel hinter MakeUseOf? Es ist viel mehr als nur eine einfache Sammlung von HTML-Dateien und Bildern.
Lesen Sie weiter, um herauszufinden, was genau zum Laufen, Hosten und Bereitstellen einer Website für Ihren Verbrauch gehört, liebe Leser.
Hardware
Beginnen wir mit der grundlegendsten Komponente des Hostings einer Website - der Hardware. Im Wesentlichen unterscheiden sich die Computer, auf denen eine Website gehostet wird, nicht von den Desktop-PCs, die Sie oder ich zu Hause haben. Sie verfügen über mehr Speicher, Sicherungslaufwerke und häufig Glasfaser-Netzwerkverbindungen - aber im Grunde sind sie gleich. Tatsächlich kann jeder alte Computer eine Website hosten - es geht nur darum, wie schnell er Seiten an Benutzer senden kann.
Hier können Sie mehr über die lesen
verschiedene Arten von Hosting Die verschiedenen Formen des Website-Hostings erklärt [Technologie erklärt] Weiterlesen verfügbar, von einem einzelnen Computer, der von Tausenden von Websites gemeinsam genutzt wird und jeweils 5 US-Dollar pro Monat zahlt, bis zu einem voll dedizierten Server, auf dem MakeUseOf ausgeführt werden kann - Das kostet Tausende von Dollar im Monat.Betriebssystem
Auf den meisten Webserver-Computern wird eine optimierte Linux-Version ausgeführt - obwohl eine gute Anzahl von Servern verfügbar ist Dort wird Windows ausgeführt, im Allgemeinen in Unternehmensumgebungen, in denen Webanwendungen auf ASP oder ASP basieren Punkt net. Ab Januar dieses Jahres ist die beliebteste Linux-Distribution der Wahl für Webhosting Debian, dicht gefolgt von CentOS (basierend auf RedHat), beide frei verfügbar, damit Sie sie herunterladen und selbst ausprobieren können - und jeder soll etwa 30% aller Websites hosten. Google betreibt natürlich ein eigenes benutzerdefiniertes Linux sowie ein eigenes benutzerdefiniertes Dateisystem.
Webserver-Software
Hier beginnen sich die Dinge wirklich zu differenzieren. Die Webserver-Software ist die Anwendung, die eingehende Anforderungen empfängt und die Seiten oder Dateien bereitstellt. Die Webserver-Software selbst ist weitgehend unabhängig von der Sprache der Webseite, die sie bedient - Ein Apache-Server kann durchaus Python, PHP, Ruby oder eine beliebige Anzahl von verschiedenen Servern bedienen Sprachen; aber das ist nicht universell. Der aktuelle Marktanteil zeigt, dass Apache rund 65% der Top-Websites, Microsoft IIS 15% und Nginx 10% betreibt. nginx ist besser in der Lage, Websites mit hoher Parallelität zu handhaben - das heißt, viele tausend Benutzer können sich gleichzeitig auf der Website befinden - und wird hier bei MakeUseOf tatsächlich verwendet.
Wenn Sie eine Website laden, öffnen Sie einen Socket - eine Verbindung - zwischen Ihrem Computer und dem Website-Server. Ein aufwändiger und langwieriger Tanz zur HTTP-Melodie beginnt dann mit dem Hin und Her von Anforderungen, Daten und Statuscodes. Als Sie diese Seite angefordert haben, hat unser Server mit einem geantwortet 200 - OKBedeutung "klar, hier bitte"; Wenn Sie zuvor besucht haben, fragt Ihr Browser möglicherweise auch "Hey, ich habe bereits eine Kopie dieser Grafik in meinem Browser-Cache. Brauche ich sie wirklich wieder?", auf die unser Server geantwortet hat 304 - Nicht geändert, oder "Nein, das ist cool, wir haben es nicht geändert oder so, benutze einfach dieses.".
Gelegentlich finden Sie die gefürchteten 404 Nicht gefunden, aber ich muss Ihnen diesen Fehlercode nicht erklären. Wenn Sie jemals geöffnet haben Firebug Amateur-Leitfaden zum Anpassen des Website-Designs mit FireBug Weiterlesen Im Entwicklermodus Ihres Browsers werden Sie erstaunt sein, wie viel Hin und Her vor sich geht - es ist nicht einfach "Gib mir diese Seite" - "OK, hier", aber tatsächlich Hunderte kleinerer Interaktionen.
Statische Dateien und Content Delivery Networks
Auf allen Websites gibt es einige Dateien, die sich kaum ändern. Dinge wie Javascripts, CSS, Bilder, PDFs oder MP3s. Diese nennt man statische DateienUm Ihnen diese bereitzustellen, muss die Webserver-Software lediglich die Datei abrufen und senden. Einfach richtig? Nicht so schnell.
Leider ist das Versenden einer großen Anzahl statischer Dateien aufgrund der Größe der Dateien eine ziemlich mühsame Aufgabe. Wenn Sie jemals eine Webseite besucht haben, auf der Sie tatsächlich sitzen und die Bilder laden können, liegt dies daran Der Webserver ruft diese Dateien für Sie selbst ab - sie sind einfach nicht dafür optimiert Arbeit. Stattdessen verlagern große Websites all diese statischen Dateien auf das, was als a bezeichnet wird Content Delivery Network - separate Server, die so optimiert sind, dass statische Dateien im Handumdrehen lächerlich schnell bereitgestellt werden.
Sie erreichen dies auch, indem sie Server physisch an verschiedenen Orten auf der ganzen Welt lokalisieren, die sich gegenseitig spiegeln, sodass die Daten weniger weit von Ihnen entfernt sind. Obwohl der MakeUseOf-Artikel, den Sie gerade lesen, tatsächlich in den USA gehostet wird, stammen die Bilder und das Javascript derzeit über ein lokales CDN von einem viel näheren Ort.
Dynamischer Inhalt - Webprogrammiersprachen
Fast alle modernen Websites haben dynamischer Inhalt ob dies bedeutet, dass WordPress einem Blog-Beitrag Kommentare hinzufügt oder Google Suchergebnisse bereitstellt. Um eine Webseite dynamisch zu gestalten, werden Webprogrammiersprachen benötigt. Ich habe vorher über die geschrieben verschiedene Sprachen zur Verfügung Welche Programmiersprache Sie lernen sollten - WebprogrammierungHeute werfen wir einen Blick auf die verschiedenen Web-Programmiersprachen, die das Internet antreiben. Dies ist der vierte Teil einer Programmierreihe für Anfänger. In Teil 1 haben wir die Grundlagen von ... Weiterlesen (und geriet in hitzige Debatten, weil er vorschlug, PHP sei das Beste). Unabhängig davon, welche Sprache Sie wählen, funktioniert sie in Verbindung mit der Webserver-Softwareschicht, um zuerst den Seiteninhalt dynamisch zu generieren und ihn dann für Sie bereitzustellen.
Datenbanken
Hinter allen dynamischen Websites stehen Datenbanken - riesige Speicher für Rohdaten, mit denen wir auf verschiedene Weise auf diese Daten zugreifen können. Hierzu ist eine separate Datenbankprogrammiersprache erforderlich, die am beliebtesten ist SQL (Structured Query Language) und es gibt viele Varianten. Datenbanken enthalten unterschiedliche Datentabellen, um unterschiedliche Datenstrukturen darzustellen. Eine davon kann eine Liste von Artikeln sein. eine andere für Kommentare zu diesen Artikeln. Mit SQL können wir diese Daten auf verschiedene Arten sortieren, kombinieren und präsentieren.
In WordPress besteht ein Beitrag beispielsweise aus mindestens einem Titel und einem Datum sowie wahrscheinlich aus tatsächlichem Inhalt. In einer separaten Tabelle werden die Kommentare zu diesem Artikel gespeichert. In einer weiteren Tabelle wird eine Liste mit Kategorien gespeichert noch ein anderer um eine Liste zu speichern, welche Kategorien welchem Artikel zugeordnet wurden. Durch Querverweise und Abrufen von Daten aus all diesen Daten sammelt WordPress alle benötigten Informationen für eine bestimmte Seite Ihres Blogs, bevor Sie das Thema anwenden und es Ihnen über den Webserver präsentieren Software.
Caching-Systeme
Das Bereitstellen statischer HTML-Dateien ist in Bezug auf die Berechnung ziemlich einfach - der Server muss nur den dateidynamischen Inhalt abrufen Andererseits erfordert das Zusammenstellen der Seite mit der Datenbank und der Verarbeitung, die darauf stattfindet, viel Arbeit Daten. Ein Caching-System schließt den Kreis, indem es diese dynamischen Seiten erstellt und sie dann im Grunde genommen als statische HTML-Dateien speichert. Wenn genau dieselbe Seite erneut angefordert wird, muss sie nicht neu berechnet werden, wodurch die Website beschleunigt wird.
Caching ist ein weit gefasster Begriff, der jedoch viele Bedeutungen haben kann - CDNs sind eine Art Cache; Es gibt auch Datenbank-Caches für häufig gestellte Abfragen (denken Sie an WordPress, nach dem die Datenbank gefragt wird Der Titel Ihres Blogs jedes Mal, wenn jemand Ihren Beitrag ansieht - denn genau das ist es das passiert). Ich habe vorher darüber geschrieben, wie man das beliebte einrichtet W3 Total Cache System für WordPress So konfigurieren Sie die verschiedenen Einstellungen des W3 Total Cache Plugins für Ihr Wordpress-BlogVor einiger Zeit habe ich über die Vorteile der Installation des W3TC-Plugins in Ihrem Wordpress-Blog gesprochen, um es durch verschiedene Zwischenspeicherungen zu beschleunigen, aber einige Leser waren verständlicherweise etwas besorgt über ... Weiterlesen , auch hier bei MakeUseOf verwendet. Ihre Browser hat auch einen Cache Alles, was Sie über den Browser-Cache wissen müssen [MakeUseOf Explains]Wenn Sie ein Problem mit einer Website haben, ist einer der ersten Vorschläge, die Sie vom IT-Support erhalten, "Versuchen Sie, Ihren Browser-Cache zu leeren" und "und löschen Sie Ihre Cookies". Also was ist... Weiterlesen - So ziemlich alles kann zwischengespeichert werden.
Wie Sie sehen, ist das Hosten einer Website in der Tat mit einem immensen Arbeitsaufwand und vielen Technologien verbunden. Das heißt jedoch nicht, dass Sie keine eigene haben können Blog eingerichtet und ausgeführt in weniger als einer Stunde Richten Sie Ihr Blog mit WordPress ein: Der ultimative LeitfadenSie möchten einen eigenen Blog starten, wissen aber nicht wie? Schauen Sie sich WordPress an, die derzeit leistungsstärkste Blogging-Plattform. Weiterlesen . Wenn Sie es auf viele tausend Benutzer skalieren, beginnen die Probleme.
Irgendwelche Fragen? Fragen Sie weg und ich werde mein Bestes geben, um zu antworten. Sind Sie überrascht, wie viel Aufwand in eine Website investiert werden kann?
James hat einen BSc in künstlicher Intelligenz und ist CompTIA A + und Network + zertifiziert. Er ist der Hauptentwickler von MakeUseOf und verbringt seine Freizeit mit VR-Paintball und Brettspielen. Er baut seit seiner Kindheit PCs.