Die verschiedenen Technologien, die in eine Website gehen

Die verschiedenen Technologien, die in eine Website gehen / Technologie erklärt

Das Internet ist erstaunlich, ich denke, wir können uns alle darauf einigen. Haben Sie sich jemals hingesetzt und darüber nachgedacht, wie eine Website tatsächlich zu Ihrem Computer gelangt? Welche Technologien stehen beispielsweise hinter MakeUseOf? Es ist viel mehr als nur eine einfache Sammlung von HTML-Dateien und Bildern.

Lesen Sie weiter, um herauszufinden, was genau das Laufen, Hosting und Bereitstellen einer Website für Ihren Konsum bedeutet, liebe Leser.

Hardware

Beginnen wir mit der grundlegendsten Komponente des Hostens einer Website - der Hardware. Grundsätzlich unterscheiden sich die zum Hosten einer Website verwendeten Computer nicht wirklich von den Desktop-PCs, die Sie oder ich zu Hause haben. Sie verfügen über mehr Speicher, Backup-Laufwerke und häufig Glasfaser-Netzwerkverbindungen - im Grunde sind sie jedoch gleich. In der Tat kann eine alte Maschine eine Website hosten - es ist nur ein Fall, wie schnell sie Seiten an Benutzer versenden kann.

Lesen Sie hier mehr über die verschiedenen Arten des Hostings. Die verschiedenen Formen des Website-Hosting erläutert [Technologie erklärt] Die verschiedenen Formen des Website-Hosting erläutert [Technologie erklärt] Weitere Informationen stehen auf einem einzigen Computer zur Verfügung, der von Tausenden von Websites geteilt wird, die jeweils $ 5 zahlen. Monat auf einen vollständigen dedizierten Server, der etwa MakeUseOf ausführen kann - das kostet Tausende von Dollar im Monat.

Betriebssystem

Die meisten Webserver-Maschinen verwenden eine optimierte Variante von Linux - obwohl es eine ganze Reihe von Servern gibt, die Windows ausführen, im Allgemeinen in Unternehmensumgebungen, in denen Webanwendungen auf ASP oder dotNet basieren. Ab Januar dieses Jahres ist Debian die beliebteste Linux-Distribution der Wahl für Webhosting, gefolgt von CentOS (basierend auf RedHat), die beide kostenlos für Sie zum Herunterladen und Testen verfügbar sind - und jeweils rund 30% aller Hosts enthalten Websites. Google verfügt selbstverständlich über ein eigenes benutzerdefiniertes Linux sowie ein eigenes benutzerdefiniertes Dateisystem.

Webserver-Software

An diesem Punkt beginnen die Dinge wirklich zu differenzieren. Die Webserver-Software ist die Anwendung, die eingehende Anforderungen empfängt und die Seiten oder Dateien bedient. Die Webserver-Software selbst ist weitgehend unabhängig von der Sprache der von ihr bedienten Webseite - ein Apache-Server kann Python, PHP, Ruby oder eine beliebige Anzahl verschiedener Sprachen bedienen. aber das ist nicht universell. Der aktuelle Marktanteil zeigt, dass Apache rund 65% der Top-Websites ausmacht, Microsoft IIS 15% und Nginx 10%. nginx gilt als besser in der Handhabung von Websites mit hoher Parallelität, d. h. wo sich möglicherweise Tausende Benutzer gleichzeitig auf der Website befinden, und wird hier bei MakeUseOf verwendet.

Wenn Sie eine Website laden, öffnen Sie eine Socket - eine Verbindung - zwischen Ihrem Computer und dem Website-Server. Ein ausführlicher und langwieriger Tanz zum HTTP-Tune beginnt dann mit dem Vor- und Zurückbewegen von Anforderungen, Daten und Statuscodes. Als Sie diese Seite angefordert haben, antwortete unser Server mit einem 200 - OK, Bedeutung “klar, hier bitte”; Wenn Sie zuvor schon einmal besucht haben, wird möglicherweise auch Ihr Browser gefragt “hey, ich habe bereits eine Kopie dieser Grafik in meinem Browser-Cache, brauche ich sie wirklich noch einmal?”, worauf unser Server geantwortet hat 304 - nicht modifiziert, oder “Nein, das ist cool, wir haben es nicht geändert oder irgendetwas”.

Gelegentlich finden Sie die gefürchteten 404 Nicht gefunden, aber diesen Fehlercode muss ich Ihnen nicht erklären. Wenn Sie jemals das Handbuch für Firebug-Amateur für das Anpassen des Website-Designs mit FireBug geöffnet haben. Das Handbuch für das Anpassen des Website-Designs mit FireBug Read More oder den Entwicklermodus Ihres Browsers, werden Sie erstaunt sein, wie viel Vor- und Rücklauf sich daraus ergibt. 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 Dateien, Damit Sie diese Dienste erhalten können, muss die Webserver-Software die Datei einfach packen und senden. Einfach richtig? Nicht so schnell.

Leider ist das Versenden einer großen Anzahl statischer Dateien aufgrund der Größe der Dateien eine recht mühsame Aufgabe. Wenn Sie jemals eine Webseite besucht haben, auf der Sie tatsächlich sitzen und das Laden der Bilder beobachten können, liegt dies daran, dass der Webserver diese Dateien für Sie selbst abruft - sie sind einfach nicht für diese Art von Arbeit optimiert. Stattdessen laden große Websites all diese statischen Dateien in ein sogenanntes a ab Content Delivery Network - separate Server, die so optimiert sind, dass statische Dateien im Handumdrehen schnell geliefert werden können.

Sie erreichen dies auch, indem Sie Server an verschiedenen Standorten auf der ganzen Welt lokalisieren, die sich gegenseitig spiegeln, sodass die Daten weniger weit zu Ihnen sind. Obwohl der Artikel, den Sie gerade lesen, tatsächlich in den USA gehostet wird, kommen die Bilder und das Javascript alle von einem Ort, der Ihnen über ein lokales CDN näher ist.

Dynamischer Inhalt - Web-Programmiersprachen

Fast alle modernen Websites haben dynamischer Inhalt In gewisser Weise, ob dies bedeutet, dass WordPress Kommentare zu einem Blogbeitrag hinzufügt oder Google die Suchergebnisse liefert. Um eine Webseite dynamisch zu machen, sind Web-Programmiersprachen erforderlich. Ich habe schon früher über die verschiedenen Sprachen geschrieben, die Ihnen zur Verfügung stehen. Welche Programmiersprache muss ich lernen? - Webprogrammierung Welche Programmiersprache ist zu lernen? - Webprogrammierung Heute werden wir uns die verschiedenen Webprogrammiersprachen ansehen, die das Internet unterstützen. Dies ist der vierte Teil einer Programmierserie für Anfänger. In Teil 1 haben wir die Grundlagen von… Read More gelernt (und gerieten in hitzige Debatten, weil PHP der beste ist). Unabhängig davon, welche Sprache Sie wählen, es arbeitet mit der Webserver-Softwareschicht zusammen, um den Seiteninhalt zuerst dynamisch zu generieren und Ihnen dann zu liefern.

Datenbanken

Hinter allen dynamischen Websites befinden sich Datenbanken - riesige Speicher für Rohdaten, mit denen wir auf verschiedene Arten auf diese Daten zugreifen können. Hierfür ist eine separate Datenbankprogrammiersprache erforderlich. Die bekannteste ist SQL (Structured Query Language) und seine vielen Varianten. Datenbanken enthalten unterschiedliche Datentabellen, um unterschiedliche Datenstrukturen darzustellen - eine Liste kann Artikel enthalten. ein anderer für Kommentare zu diesen Artikeln. Mit SQL können wir diese Daten auf verschiedene Weise sortieren, kombinieren und präsentieren.

In WordPress zum Beispiel besteht ein "Beitrag" aus mindestens einem Titel und einem Datum und möglicherweise einigen tatsächlichen Inhalten. 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 allen diesen Bereichen sammelt WordPress alle Informationen, die es für eine bestimmte Seite Ihres Blogs benötigt, bevor das Thema angewendet und Ihnen über die Webserver-Software angezeigt wird.

Caching-Systeme

Die Bereitstellung statischer HTML-Dateien ist in Bezug auf die Berechnung recht einfach. Der Server muss nur die Datei abrufen. Dynamische Inhalte dagegen erfordern viel Arbeit, um die Seite zusammenzustellen, mit der Datenbank und der Verarbeitung dieser Daten . Ein Caching-System führt uns zu einem vollständigen Kreis, indem diese dynamischen Seiten erstellt und anschließend als statische HTML-Dateien gespeichert werden. Wenn genau dieselbe Seite erneut angefordert wird, muss sie nicht erneut berechnet werden, wodurch die Site beschleunigt wird.

Caching ist ein weit gefasster Begriff, der jedoch viele Dinge bedeuten kann - CDNs sind eine Art Cache. Es gibt auch Datenbank-Caches für häufig gestellte Fragen (denken Sie an WordPress, das die Datenbank jedes Mal, wenn jemand Ihren Beitrag ansieht, nach dem Titel Ihres Blogs fragt - weil dies tatsächlich der Fall ist). Ich schrieb vor über das Einrichten des beliebten W3 Total Cache-Systems für WordPress. So konfigurieren Sie die verschiedenen W3 Total Cache-Plugin-Einstellungen für Ihren Wordpress-Blog. So konfigurieren Sie die verschiedenen W3 Total Cache-Plugin-Einstellungen für Ihren Wordpress-Blog. Vor einiger Zeit habe ich darüber gesprochen Vorteile der Installation des W3TC-Plugins in Ihrem Wordpress-Blog, um die Zwischenspeicherung zu beschleunigen, aber einige Leser waren verständlicherweise etwas misstrauisch… Read More, auch hier bei MakeUseOf verwendet. Ihr Browser verfügt auch über einen Cache. Alles, was Sie über den Browser-Cache wissen müssen [MakeUseOf Explains] Alles, was Sie über den Browser-Cache wissen müssen [MakeUseOf Explains] Wann immer Sie ein Problem mit einer Website haben, wird einer der ersten Vorschläge, den Sie hören, angezeigt IT-Support ist "Versuchen Sie, Ihren Browser-Cache zu löschen", zusammen mit "und löschen Sie Ihre Cookies". Was ist also… Lesen Sie mehr - so ziemlich alles kann zwischengespeichert werden.

Wie Sie also sehen können, gibt es tatsächlich eine immense Menge an Arbeit und viele Technologien, die mit dem Hosting einer Website verbunden sind. Das heißt jedoch nicht, dass Sie Ihren eigenen Blog nicht in weniger als einer Stunde einrichten und betreiben können. Bei der Skalierung auf viele tausend Benutzer beginnen die Probleme.

Irgendwelche Fragen? Fragen Sie, und ich werde mein Bestes geben, um zu antworten. Sind Sie überrascht, wie viel Aufwand in eine Website investiert werden kann??

Erfahren Sie mehr über: Webdesign, Webentwicklung.