Die verschiedenen Technologien, die auf eine Website gehen

Das Internet ist unglaublich, ich denke, wir können uns alle einig sein. Aber haben Sie sich jemals hingesetzt und gedacht, wie um alles in der Welt eine Website tatsächlich zu Ihrem Computer gelangt?

Das Internet ist unglaublich, ich denke, wir können uns alle einig sein.  Aber haben Sie sich jemals hingesetzt und gedacht, wie um alles in der Welt eine Website tatsächlich zu Ihrem Computer gelangt?
Werbung

Das Internet ist unglaublich, ich denke, wir können uns alle einig sein. Aber haben Sie sich jemals hingesetzt und gedacht, wie um alles in der Welt 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 läuft, um eine Website für Ihren Konsum zu betreiben, zu hosten und anzubieten, liebe Leser.

Hardware

Beginnen wir mit der grundlegendsten Komponente beim Hosting einer Website - der Hardware. Im Wesentlichen unterscheiden sich Maschinen, die eine Website hosten, wirklich nicht von den Desktop-PCs, die Sie oder ich zuhause haben. Sie haben mehr Speicher, Backup-Laufwerke und oft Glasfaser-Netzwerkverbindungen - aber im Grunde sind sie gleich. In der Tat kann jede alte Maschine eine Website hosten - es ist nur eine Frage, wie schnell sie Seiten an Benutzer senden kann.

Sie können hier mehr über die verschiedenen Arten von Hosting lesen Die verschiedenen Formen der Website-Hosting erklärt [Technologie erklärt] Die verschiedenen Formen der Website-Hosting erklärt [Technologie erklärt] Lesen Sie mehr zur Verfügung, von einer einzigen Maschine zwischen tausenden von Websites geteilt je zahlen $ 5 / auf einen dedizierten Server, der in der Lage ist, etwas wie MakeUseOf zu betreiben - das kostet Tausende von Dollar pro Monat .

Technologien für die Website-Entwicklung

Betriebssystem

Die meisten Webserver-Maschinen haben eine optimierte Linux-Variante - obwohl es eine gute Anzahl von Servern gibt, auf denen Windows ausgeführt wird, in der Regel in Unternehmensumgebungen, in denen Webanwendungen auf ASP oder dotNet basieren. Seit Januar dieses Jahres ist Debian die beliebteste Linux Distribution der Wahl für Webhosting, dicht gefolgt von CentOS (basierend auf RedHat), beide frei verfügbar für Sie zum Download und zum Ausprobieren - und jeder soll ungefähr 30% von allen hosten Websites. Google führt natürlich sein eigenes benutzerdefiniertes Linux sowie sein eigenes benutzerdefiniertes Dateisystem.

Webserver-Software

Hier beginnen die Dinge wirklich zu differenzieren. Die Webserver-Software ist die Anwendung, die eingehende Anfragen empfängt und die Seiten oder Dateien abruft. Die Webserver-Software selbst ist weitgehend unabhängig von der Sprache der Webseite, die sie bedient - ein Apache-Server ist in der Lage, Python, PHP, Ruby oder eine beliebige Anzahl verschiedener Sprachen zu bedienen; aber das ist nicht universell. Der aktuelle Marktanteil zeigt, dass Apache rund 65% der Top-Websites, Microsoft IIS 15% und Nginx 10% betreibt. nginx wird als besser im Umgang mit Websites mit hohem Zugriffsschutz angesehen - das heißt, wenn viele Tausende von Benutzern gleichzeitig auf der Website sind - und wird tatsächlich hier bei MakeUseOf verwendet.

Technologien für die Website

Wenn Sie eine Website laden, öffnen Sie einen Socket - eine Verbindung - zwischen Ihrem Computer und dem Website-Server. Ein aufwendiger und langwieriger Tanz zur HTTP-Melodie beginnt dann mit dem Hin und Her von Anfragen, Daten und Statuscodes. Als Sie diese Seite anforderten, antwortete unser Server mit einem 200 - OK, was bedeutet "sicher, hier gehts" ; Wenn Sie zuvor schon einmal besucht haben, könnte Ihr Browser auch fragen: "Hey, ich habe eine Kopie dieser Grafik bereits in meinem Browser-Cache, brauche ich sie wirklich wieder?", auf die unser Server geantwortet hat 304 - Nicht modifiziert, oder "Nein, das ist cool, wir haben es nicht geändert oder irgendetwas, benutze das einfach " .

Gelegentlich finden Sie den gefürchteten 404 - nicht gefunden, aber ich muss Ihnen diesen Fehlercode nicht erklären. Wenn Sie jemals den Leitfaden von Firebug Amateur zur Anpassung des Website-Designs mit FireBug Amateurs Leitfaden zur Anpassung des Website-Designs mit FireBug Read More oder dem Entwicklermodus Ihres Browsers geöffnet haben, werden Sie erstaunt sein zu sehen, wie viel hin und her geht - Es ist keine einfache "Gib mir diese Seite" - "OK, hier", sondern tatsächlich Hunderte von kleineren Interaktionen.

Technologien für die Website

Statische Dateien und Content Delivery-Netzwerke

Auf allen Websites gibt es einige Dateien, die sich kaum ändern. Dinge wie Javascripts, CSS, Bilder, PDFs oder MP3s. Diese werden statische Dateien genannt, und um Ihnen diese zu bedienen, muss die Webserver-Software einfach die Datei greifen und senden. Einfach richtig? Nicht so schnell.

Leider ist das Senden einer großen Anzahl von statischen Dateien aufgrund der Größe der Dateien eine ziemlich mühsame Aufgabe. Wenn Sie jemals eine Webseite besucht haben, auf der Sie die Bilder laden können, liegt das 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 auf ein sogenanntes Content Delivery Network herunter - separate Server, die im Handumdrehen für die schnelle Übertragung statischer Dateien optimiert sind.

Sie erreichen dies auch, indem sie Server an verschiedenen Orten auf der Welt physisch lokalisieren, die sich gegenseitig spiegeln, so dass die Daten weniger weit entfernt sind, um zu Ihnen zu gelangen. Gerade jetzt, obwohl der MakeUseOf-Artikel, den Sie gerade lesen, tatsächlich in den Vereinigten Staaten gehostet wird, kommen die Bilder und das Javascript alles von irgendwo viel näher zu Ihnen über ein lokales CDN.

Dynamische Inhalte - Web-Programmiersprachen

Fast alle modernen Websites haben dynamische Inhalte, egal ob WordPress Kommentare zu einem Blogpost hinzufügt oder Google Suchergebnisse bereitstellt. Um eine Webseite dynamisch zu gestalten, werden Web-Programmiersprachen benötigt. Ich habe vorher über die verschiedenen Sprachen geschrieben, die Ihnen zur Verfügung stehen. Welche Programmiersprache soll ich lernen? - Webprogrammierung Welche Programmiersprache soll ich lernen - Webprogrammierung Heute werfen wir einen Blick auf die verschiedenen Webprogrammiersprachen, die das Internet antreiben. Dies ist der vierte Teil einer Anfänger-Programmierserie. In Teil 1 lernten wir die Grundlagen von ... Read More (und kamen in einige hitzige Debatten, um darauf hinzuweisen, dass PHP das Beste war). Welche Sprache Sie auch wählen, es funktioniert in Verbindung mit der Webserver-Softwareebene, um zuerst die Seiteninhalte dynamisch zu generieren und dann für Sie bereitzustellen.

Datenbanken

Hinter allen dynamischen Websites verbergen sich Datenbanken - riesige Speicher für Rohdaten, mit denen wir auf verschiedene Arten auf diese Daten zugreifen können. Dafür wird eine separate Datenbank-Programmiersprache benötigt, wobei die gebräuchlichste SQL (Structured Query Language) und viele Varianten sind. Datenbanken enthalten unterschiedliche Datentabellen zur Darstellung verschiedener Datenstrukturen - eine Liste von Artikeln; ein weiteres für Kommentare zu diesen Artikeln. Mit SQL können wir diese Daten auf verschiedene Arten sortieren, kombinieren und präsentieren.

In WordPress zum Beispiel besteht ein "Post" aus mindestens einem Titel und einem Datum und wahrscheinlich aus einigen tatsächlichen Inhalten. Eine separate Tabelle wird verwendet, um die Kommentare zu diesem Artikel zu speichern, mit einer weiteren Tabelle zum Speichern einer Liste von Kategorien und dann noch einer weiteren Tabelle zum Speichern einer Liste, welche Kategorien welchem ​​Artikel zugewiesen wurden. Durch das Querverweisen und Ziehen von Daten aus all diesen Dokumenten sammelt WordPress alle Informationen, die für eine bestimmte Seite Ihres Blogs benötigt werden, bevor das Thema angewendet und über die Webserver-Software präsentiert wird.

Technologien für die Website-Entwicklung

Caching-Systeme

Das Bereitstellen statischer HTML-Dateien ist ziemlich einfach in Bezug auf die Berechnung - der Server muss nur die Datei abrufen - dynamischer Inhalt hingegen erfordert viel Arbeit, um die Seite zusammenzufassen, mit der Datenbank und der Verarbeitung, die auf diesen Daten stattfindet . Ein Caching-System bringt uns den Kreis, indem wir diese dynamischen Seiten erstellen und sie dann im Grunde als statische HTML-Dateien speichern. Wenn die exakt gleiche Seite erneut angefordert wird, muss sie nicht erneut berechnet werden, wodurch die Site beschleunigt wird.

Caching ist ein weiter Begriff, der viele Dinge bedeuten kann - CDNs sind eine Art Cache; Es gibt auch Datenbank-Caches für häufig gestellte Fragen (denken Sie daran, dass WordPress die Datenbank nach dem Titel Ihres Blogs fragt, jedes Mal, wenn jemand Ihren Post betrachtet - weil das tatsächlich passiert). Ich habe vorher über das Einrichten der beliebten W3 Total Cache-System für WordPress Wie konfiguriere ich die verschiedenen W3 Total Cache Plugin Einstellungen für Ihr Wordpress Blog Wie konfiguriert man die verschiedenen W3 Total Cache Plugin Einstellungen für Ihre Wordpress Blog Vor einiger Zeit sprach ich über die Vorteile der Installation des W3TC-Plugins auf Ihrem Wordpress-Blog, um es mit verschiedenen Caching zu beschleunigen, aber einige Leser waren verständlicherweise ein wenig vorsichtig über ... Read More, auch hier bei MakeUseOf verwendet. Ihr Browser hat auch einen Cache Alles, was Sie über den Browser-Cache wissen sollten [MakeUseOf erklärt] Alles, was Sie über den Browser-Cache wissen müssen [MakeUseOf Explains] Wann immer Sie ein Problem mit einer Website haben, einer der ersten Vorschläge, von denen Sie hören werden IT-Unterstützung ist "versuchen Sie, Ihren Browser-Cache zu löschen" zusammen mit "und löschen Sie Ihre Cookies". Also, was ist ... Lesen Sie mehr - so ziemlich alles kann im Cache gespeichert werden.

Wie Sie 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 ausführen können. Die Skalierung auf viele tausend Benutzer ist der Ausgangspunkt für die Probleme.

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

Bildnachweis: Shutterstock, Netzwerkserverraum; Netcraft, Grafik des Webserver-Shares; Shutterstock, Datenbank; Justin Pot / Technophilie, INTERNETZ

In this article