Mit diesem Begriff werden Sie täglich mehrmals, in ganz unterschiedlichen Situationen und verschiedenen Kontexten konfrontiert. Doch was ist das Internet und worum handelt es sich, wenn vom World Wide Web, WWW oder vom Netz die Rede ist und wenn Ihnen jemand erzählt, dass er online geht? Kurz und bündig erläutert ist das Internet ein globales Netzwerk aus mehreren Millionen Computern.

Die Grundlagen und Hintergründe

Um das weltweite Netzwerk zu nutzen, benötigen Sie einen Computer und einen Internetanschluss. Erst dann können Sie elektronische Nachrichten versenden, 24/7 im Internet einkaufen oder Produkte vergleichen und sich Bilder ansehen sowie Informationen einholen. Der Begriff Internet setzt sich aus der englischen Bezeichnung Network für Netzwerk und dem Präfix „Inter“ zusammen. Im geschichtlichen Zeitalter ist das Internet noch verhältnismäßig jung. Auch wenn es schon früher ähnliche Entwicklungen ab, hat sich die weltweite Vernetzung für kommerzielle und informative Zwecke erst in den 90er Jahren des vergangenen Jahrhunderts etabliert. Rechenzentren entstanden, Server als zentrale Schnittstelle des Internets wurden entwickelt und Browser, die sichtbare Oberfläche jedes Computers erblickten das Licht der Welt. Das Internet ist eine komplexe Struktur aus Verbindungen, die keine Grenzen kennen und dementsprechend in Bruchteilen von Sekunden mit Menschen auf der ganzen Welt Kontakt aufnehmen und kommunizieren lassen. Anfänglich waren die Leitungen (ursprünglich wurden die Daten über das Telefonnetz übertragen) noch nicht so leistungsstark wie heute. Das heißt, dass die Nutzung des Internet mehr Zeit beanspruchte und kein Vergleich zur heute schnellen und beinahe in Echtzeit möglichen Übertragung ist.

Wie und warum das Internet Vorteile verschafft

Wie bereits angeschnitten, bietet Ihnen das Internet Kommunikations-, Einkaufs- und Informationsmöglichkeiten ohne Grenzen. Die grundlegenden Aspekte für die Internetnutzung sind ein internetfähiges Endgerät, zum Beispiel ein Computer, ein Notebook oder auch ein Smartphone. Dann benötigen Sie eine Leitung, die Sie beim Telefon- oder Kabelanbieter anmelden und für die Sie Gebühren zahlen müssen. Nachdem Sie das Fundament geschaffen haben, benötigen Sie noch einen Browser und einen Internet-Provider, bei dem Sie die gewünschten Leistungen günstig und zuverlässig erhalten. Am besten ist eine Flatrate, für die Sie einen monatlichen Festpreis zahlen und keine Zusatzkosten für das Internet auf die Agenda setzen.

Auch eine Drosselung der Geschwindigkeit bleibt bei Flatrate-Tarifen aus, so dass Sie rund um die Uhr im Web surfen und das Internet für all die Dinge nutzen können, die Ihnen wichtig sind. Nachdem das „Wie“ in der Nutzung erklärt ist, stellt sich noch die Frage nach dem „Warum“. Wer bisher noch nichts mit dem Internet zu tun hatte steht vor der Frage, warum er diese Möglichkeit überhaupt nutzen soll. Wir leben im Zeitalter der Digitalisierung und viele Dinge sind nur noch, oder aber viel einfacher online als offline möglich. Im Internet können Sie Einkäufe tätigen, Kontakte finden und Informationen einsehen, Bilder betrachten und Ihre Gedanken mit anderen Menschen teilen. Daher bereichert die Digitalisierung Ihr Leben und schafft Möglichkeiten, die Ihnen ohne einen Zugang zum Internet verwehrt bleiben.

Ist das Internet überall verfügbar?

In einem Großteil der Bundesrepublik können Sie ganz einfach über Ihren Hausanschluss ins Internet. Doch die Bandbreite, also die Übertragungsgeschwindigkeit variiert und hängt durchaus von Ihrem Standort und der dort anliegenden Verbindung ab. Vor allem in den ländlichen Regionen müssen Sie mit einer langsamen 16 Mbits Übertragung Vorlieb nehmen, während Sie in den Städten und bereits ausgebauten Regionen bereits Breitbandinternet über Kabel oder Glasfaser nutzen können. Welche Möglichkeiten Sie über das Internet nutzen können, hängt zum großen Teil von der Geschwindigkeit ab. Internettelefonie und normales Surfen benötigen keine rasante Geschwindigkeit. Wollen Sie hingegen auch das Fernsehprogramm über das Internet streamen, sind mindestens 50 Mbits, noch besser 100 Mbits Übertragungsrate notwendig.

Gleiches gilt auch für den Konsum von Filmen im virtuellen Verleih. Kinogenuss benötigt eine schnelle Internetverbindung, da Filme aufgrund ihrer großen Datenmenge „hängen“ und nicht einwandfrei laufen. Welchen Internetanschluss und welche Übertragungsrate Sie vertraglich vereinbaren können, steht im direkten Zusammenhang mit den Angeboten an Ihrem Standort. DSL, VDSL und Breitband oder UMTS sind die gängigsten, aber nicht die einzigen Verbindungsmöglichkeiten mit dem Internet. Bei einem Neuanschluss empfiehlt sich eine Beratung, in der Sie über alle wichtigen Details zu Ihrem Anschluss, seiner Geschwindigkeit und weiteren Fakten in Kenntnis gesetzt werden.

Das Web – stationär und mobil

Generell wird Internet zwischen einem klassischen stationären Anschluss über die Telefondose oder den Kabelanschluss und das mobile Netz unterteilt. Während Sie für stationäres Internet einen Router oder ein Modem und einen Computer am Vertragsstandort benötigen, können Sie im mobilen Netz ortsunabhängig surfen. Hierfür benötigen Sie nur einen Mobilfunkvertrag mit Datenvolumen und ein Smartphone. Die Bedeutung des Internets ist in den vergangenen 25 Jahren rasant gewachsen und es ist absehbar, dass die Zukunft noch digitaler und die Vernetzung auf globaler Ebene somit noch wichtiger wird. Neben dem Besuch von Seiten im Web nimmt das Internet heute einen wichtigen Bestandteil der Telefonie ein. Es ist ein Fakt, dass der Verzicht auf den digitalen Anschluss heute von vielen interessanten Möglichkeiten ausschließt.

PERL und das Kamel – wo Programmierung und Wüste aufeinandertreffen

PERL ist eine plattformunabhängige Programmiersprache. Die Skriptsprache unterstützt eine Software-Entwickelung in verschiedenen, sehr unterschiedlichen Programmierstilen. Anwendungen für das Web, die Bioinformatik und die Finanzwelt werden mit PERL entwickelt. Die Programmiersprache, in der sich auch Einsteiger leicht zurechtfinden, wurde von einem Sprachwissenschaftler erschaffen. Die Skriptsprache erlaubt viele Freiheiten, die allerdings zu unleserlichem Code führen können.

Als Skriptsprache wird PERL während der Laufzeit von einem Interpreter geparst und interpetiert. Der Programmierer muss nur wenigen Vorgaben folgen, um ein lauffähiges PERL-Skript zu schreiben. Ein Beispiel ist die IF-Anweisung, genauer gesagt das „IF NOT“, das in PERL „UNLESS“ lauten. Die Skriptsprache ist so nah an der natürlichen Sprache angelehnt, dass unter Umständen selbst ein Gedicht ein lauffähiges Programm sein kann.

Das PERL-Prinzip

Das Motto der Skriptsprache „There’s more than one way to do it“ kann mit „Viele Wege führen nach Rom“ übersetzt werden. Ihre Stärken liegen in der Vielseitigkeit, Leistungsfähigkeit, der plattformunabhängig und der Effizienz bei der Verarbeitung von Textdateien. Letztere werden seit jeher in der System- und Netzwerkadministration zum Lesen von Logfiles genutzt. Die große Flexibilität der Sprache eröffnet neue Möglichkeiten bei der Auswertung von Big Data-Beständen.

Umso öfter, umso kürzer

Als PERL-Paradoxon ist das als Huffman-Kodierung bekannte Prinzip, die Längen von Bezeichnern mit ihrer Verwendung in Beziehung setzt. Umso öfter ein Schlüsselwort genutzt wird, umso kürzer ist es. Dem erfahrenen Programmierer erleichtert dies die Schreibarbeit, für den Einsteiger kann das Lesen solcher Programme problematisch sein. Die Skriptsprache wird daher auch als „Write-Only-Language“ bezeichnet. Damit ist gemeint, dass die Programme zwar leicht zu schreiben, dann aber nicht mehr zu lesen sind. Teile des formalen Regelwerks wurden von der Programmiersprache Phyton übernommen.

Dynamische Webseiten

Zunächst wurde PERL fast ausschließlich als Unix-Skriptsprache genutzt. Der Durchbruch kam mit den ersten dynamischen Webseiten. Die aufgerufenen CGI-Skripte liefen auf dem Webserver und nicht wie bei Javascript im Browser des Benutzers.

Gleichzeitig bildeten sich zwei Programmierbereiche heraus. Die CGI-Skripte waren eher im Bereich der Systemadministration angesiedelt, während die PHP-Programmierer den Bau der Webseiten übernahmen. Im Zusammenhang mit dem bei PHP-Programmierern äußerst unbeliebten PERL entstand die Interpretation des Kürzels PHP als „Perl Hater’s Platform“.

PERL in der Praxis

Mit dem Wechsel zu den browserseitig generierten dynamischen Webinhalten schwand die Bedeutung der Skriptsprache – zumindest in der Webentwicklung. In der Systemadministration können mit den Skripten leicht die internen Limits bei den Dateigrößen umgangen werden. Unter System- und Netzwerkadministratoren ist die Skriptsprache auch als „Swiss Army Chainsaw“ bekannt. Dies ist auf die weltberühmten Schweizer Multifunktions-Taschenmesser bezogen, wobei PERL mit einer „Kettensäge“ gleichgestellt wird.

Ein Comeback konnte die Programmiersprache bei der Auswertung von Big Data feiern, denn das Durchforsten großer Datenmengen ist eine der Stärken der Skriptsprache. Damit wird die Skriptsprache auch im Finanzwesen und verwandten Bereichen, aber auch in der Bioinformatik eingesetzt.

PERL – eine Skriptsprache schreibt Geschichte

Larry Wall, ein Linguist, entwarf die Skriptsprache in 1987. Wall kombinierte seine sprachwissenschaftlichen Erkenntnisse mit Elementen aus der Programmiersprache C, der Skriptsprache awk und Unix-Befehlen. 1993 hatte sich PERL bereits zum leistungsfähigen Werkzeug entwickelt. Mit der Version 5 wurde ein völlig überarbeiteter Interpreter veröffentlicht sowie Objekte, Module und Referenzen unterstützt. Seit Version 5 ist eine objektorientierte Programmierung möglich, bei der Parameter an Funktionen übergeben bzw. entgegengenommen werden. Seither kann die Skriptsprache von Anwendern mit Modulen flexibel erweitert werden. Online sind die Module über das CPAN-Archiv abrufbar. Inzwischen sind mehr als 150.000 Module zu den verschiedensten Funktionen erhältlich.

PERL 6 als heutiger Standard

Nach 15 Jahren Entwicklungszeit wurde im Jahr 2015 die Version 6 offiziell freigegeben. Die Version 6 ergänzt die Familie um eine völlig neu entwickelte Variante. Verbessert wurden einige der historisch bedingten und viel diskutierten Kontroversen, die aus Kompatibilitätsgründen in den Vorgängerversionen nicht zu korrigieren waren. Mit der neuen Version konnte die Skriptsprache ihre Popularität nochmals erweitern. Gleichzeitig nehmen die Community-Mitglieder zu, womit umfangreiche Modulbibliotheken zugänglich werden.

Wie PERL das Programmiererleben leichter macht

Charakteristisch für die Skriptsprache ist die sichtbare Unterscheidung zwischen einfachen, skalaren und zusammengesetzten Datentypen. Variablennamen beginnen mit Sigil ($, @ oder %). Darüber erkennt die Programmiersprache, wie die Variable zu interpretieren ist, nicht aber wie sie definiert ist. Damit wird eine besonders einfache Verwendung von häufig benutzten Konstrukten erreicht. Mit den Write-Formaten wird ein einfaches Generieren von Reports unterstützt.

Die Kontrollstrukturen (If, While, Do) unterscheiden sich kaum von Java, JavaScript und C. PERL erlaubt bedingt formatfreien Quellcode, in dem der Interpreter fehlende oder zusätzliche Einrückungen, Leerzeichen und Zeilenbrüche nicht moniert. Damit der Parser Befehlsblöcke erkennt, werden sie mit Semikolon getrennt.

Dromedar – das Maskottchen der Skriptsprache

Falsch interpretiert wird bei der Skriptsprache gelegentlich das Maskottchen. Es wird als Kamel bezeichnet, ist aber tatsächlich ein Dromedar. Eines der bekannten Referenzwerke „Programming Perl“ ist wegen des Maskottchens auf dem Buchdeckel als „Kamelbuch“ bekannt. Der Verleger Tim O’Reilly erklärte dazu, dass auch PERL über lange Strecken ohne Wasser auskäme. Hässlich sei es auch, meinte er. Die PERL Foundation hat sich hingegen für eine aufgeschnittene Zwiebel entschieden. Der gefährliche und tückische Komodowaran ist das Motto-Tier der PERL-Distribution „Active Perl“ des Unternehmens ActiveState.

Was ist JavaScript?

Die Skriptsprache JavaScript hat man entwickelt, um dynamische HTML-Dokumente im Webbrowser anzeigen zu können. Die Verarbeitung von JS-Code erfolgt meist direkt im Webbrowser des Nutzers. Mit der Programmiersprache Java hat JavaScript jedoch nicht viel gemeinsam.

Entwicklungsgeschichte von JavaScript

Die Skriptsprache wurde von Netscape ursprünglich unter der Bezeichnung LiveScript entwickelt. Das Ziel der Netscape-Entwickler war es, dynamische HTML-Inhalte direkt im Webbrowser des Nutzers darstellbar zu machen. Der Einsatz von JavaScript sollte Entwicklern die Möglichkeit geben, statische HTML-Dokumente mit dynamischen Elementen anzureichern, Nutzer-Aktionen zu interpretieren und darauf entsprechend zu reagieren, Webseiteninhalte dynamisch zu ändern und Inhalte auf Abruf zu generieren und darzustellen.
Die Programmiersprache Java erlebte in der zweiten Hälfte der 1990er-Jahre einen beispiellosen Höhenflug und wurde von vielen Entwicklern genutzt, um interaktive Desktop- und Webanwendungen zu programmieren. Aufgrund einer Zusammenarbeit mit dem IT-Giganten Sun Microsystems, der die Programmiersprache Java im Jahr 1995 der breiten Öffentlichkeit vorgestellt hatte, entschied sich Netscape dazu, ihre neue Sprache in Anlehnung an die Programmiersprache von Sun Microsystems JavaScript zu nennen. Allerdings teilen sich diese beiden Sprachen fast keine Gemeinsamkeiten.

Netscape veröffentlichte JS im Jahr 1995. Es war fester Bestandteil des zu dieser Zeit sehr beliebten Webbrowsers Netscape Navigator. Begünstigt durch die schnelle Verbreitung des Internets Ende der 1990er-Jahre verbreitet sich JS sehr schnell. Im Laufe der Jahre wurde die Skriptsprache kontinuierlich weiterentwickelt und durch neue Funktionen und Features ergänzt, sodass JS heutzutage neben PHP (LINK) und Python (LINK) zu den grundlegenden Sprachen des World Wide Web gehört.

Skriptsprache ist sehr dynamisch und äußerst flexibel

Einen wesentlichen Anteil am Erfolg von JavaScript hat die Unabhängigkeit von spezifischen Webbrowsern beigetragen. Die Skriptsprache selbst ist sehr dynamisch und äußerst flexibel. Sie verfügt über objektorientierte Eigenschaften und bietet Unterstützung für verschiedene Programmierparadigmen, wie beispielsweise prozedurale, objektorientierte oder funktionale Paradigmen. Dank Node.js lässt sich JavaScript heutzutage nicht nur clientseitig im Rahmen eines Webbrowsers nutzen, sondern auch direkt auf einem Webserver (Apache oder nginx).

Welche Projekte kann man mit JavaScript realisieren?

Durch den Einsatz von JS lassen sich viele unterschiedliche Projekte und Funktionen realisieren.

Im Folgenden gehen wir auf gängige Einsatzgebiete von JavaScript ein:
– dynamische Veränderung von Webseiteninhalten
– Erstellung interaktiver Menüs
– Aktualisierung von HTML-Elementen und Daten, ohne einen Reload der gesamten Webseite
– Veränderung von Texten oder Grafiken durch Aktionen des Nutzers

Abgrenzung zu Skriptsprache Java

Obwohl JavaScript und Java einen ähnlichen Namen haben, teilen sich die beiden Programmiersprachen jedoch nur wenige Gemeinsamkeiten. Bei Java handelt es sich um eine objektorientierte, vollwertige Programmiersprache, die einen wesentlich größeren Funktionsumfang und Befehlssatz bietet als JavaScript. Experten sehen Java als Derivat von C++ an.
Bei JavaScript hingegen handelt es sich um eine Skriptsprache, die grundsätzlich nicht alleine lauffähig ist. JS-Skripte benötigen eine Laufzeitumgebung wie den Webbrowser oder Node.js, um ausgeführt zu werden. JavaScript war ursprünglich dazu vorgesehen,  um es lediglich im Browser einzusetzen. Inzwischen lassen sich JS-Skripte jedoch auch unabhängig vom Browser direkt auf dem Webserver ausführen.

Sicherheitsaspekte

Mit den Möglichkeiten, die JavaScript mit sich bringt, gibt es auch ebenso viele sicherheitskritische Aspekte bei der Ausführung von JS-Skripten. Viele dieser Problemstellungen werden durch das sogenannte „Sandbox-Prinzip“ effektiv gelöst. Alle Befehlszeilen werden von dem Browser in einem isolierten Bereich ausgeführt und haben ausschließlich Zugriff auf die Ressourcen des Webbrowsers und nicht des gesamten Computers.
So wird  der Zugriff auf das Dateisystem durch die Sandbox unterbunden. Darüber hinaus führen moderne Webbrowser wie Chrome oder Firefox jede aufgerufene Webseite, Webanwendung oder Domain  isoliert voneinander aus. Dies erschwert den Datenaustausch zwischen den einzelnen Instanzen, wodurch das Risiko vor sogenannten „Cross-Site-Scripting-Angriffen“ minimiert wird.

JavaScript im Kontext der Suchmaschinenoptimierung

Suchmaschinen analysieren den JS-Code in der Regel nicht. Suchmaschinen-Crawler können die dynamische Interaktion  nicht nutzen. Ein Crawler besucht die Webseite so, wie ein Besucher, bei dem JavaScript explizit im Webbrowser deaktiviert ist. Demzufolge kann ein Web-Crawler Websites nicht erreichen, die man in JavaScript geschrieben hat. Dies hat negative Folgen für das Suchmaschinenranking der betroffenen Webpräsenz.

Weitere Problemstellungen bei JS

Es kommt immer wieder vor, dass Webseitenbetreiber versuchen, JS-Code für die eigenen Interessen zu missbrauchen. So können zum Beispiel mehrere Pop-Up-Fenster ohne Zustimmung des Nutzers automatisch geöffnet werden. Weitere Funktionen, mit denen man den JS-Code missbrauchen kann, sind:
– ungewollte Änderungen am Browserfenster
– das Tarnen zwielichtiger Links und Internetadressen
– die absichtliche Deaktivierung von Kontextmenüs zum Speichern und Kopieren von Webinhalten

was ist nginx und warum ist es besser als apache?

Lange Zeit war Apache mit einem Marktanteil von bis zu 70 Prozent der Webserver für das Internet. Einzig Microsoft IIS stellte mit etwa 20 Prozent eine nennenswerte Konkurrenz dar, da es der Standard für das Betriebssystem Windows Server ist. Mit dem Erscheinen von Nginx – ausgesprochen wie das englische Engine Ex – hat sich die Situation geändert. Besonders große Plattformen setzen auf die Open-Source-Software aus Russland, da diese viele Vorteile mit sich bringt.

Webserver, Datenbanken, Programmiersprachen, Protokolle und Interpreter

Eine Webseite ist heute fast immer dynamisch programmiert. Das bedeutet, bei einer Anfrage erstellen mehrere Programme eine individuelle Antwort, statt ein vorgefertigtes, statisches Dokument auszuliefern. Die Informationen – zum Beispiel Texte, Links, Nutzernamen oder Passwörter – liegen in einer Datenbank. Skripte in einer geeigneten Programmiersprache wie PHP, Perl oder Python fragen diese ab und erstellen die Webseite.

Der Interpreter bildet eine Schnittstelle zwischen dem Skript und dem Betriebssystem – er übersetzt die geschriebenen Befehle in Computersprache. Der Webserver ist für die Kommunikation zuständig: Er nimmt Anfragen entgegen und sendet Antworten an die entsprechenden Adressen.

Um die Kommunikation zwischen Server und unterschiedlichen Endgeräten und Betriebssystemen zu ermöglichen, kommen universelle Protokolle als Gemeinsprache zum Einsatz. Für Webseiten ist dies das Hypertext Transfer Protocol (HTTP) beziehungsweise dessen verschlüsselte Variante mit dem Zusatz Secure (HTTPS). Es ist speziell für die Übertragung von Nachrichten konzipiert, für andere Zwecke wie Dateiübertragungen existieren eigene Formate wie das File Transfer Protocol (FTP).

Nginx – ein modularer Webserver mit geringem Ressourcenverbrauch

Effizienz und Geschwindigkeit zeichnen Nginx besonders aus.

Effizienz und Geschwindigkeit zeichnen Nginx besonders aus.

Um eine hohe Performance und Funktionalität zu ermöglichen, verwendet Nginx ein modulares Design. Es besteht aus einem schlanken Kernprogramm, das ein Nutzer je nach individuellen Anforderungen durch Module erweitert. Dadurch unterstützt der Webserver unterschiedliche Techniken und erlaubt die Einbindung neuer Standards etwa für Videostreaming und interaktive Inhalte. Einige der Möglichkeiten sind Lastverteilung über mehrere Server, zusätzliche Protokolle, direkter Zugriff auf den Arbeitsspeicher oder der Einsatz als E-Mail– oder Webserver für Weiterleitung (Proxy).

Eines der populärsten und interessantesten Module ist PHP-FPM. Es handelt sich um einen Prozessmanager, der die Anbindung an den PHP-Interpreter übernimmt. Die Kommunikation zwischen Webserver und Programmiersprache basiert auf einem 1993 definierten Standard – dem Common Gateway Interface (CGI). Traditionell erstellt dieses für jede Aufgabe einen neuen Prozess.

Im Unterschied zu diesem Verfahren erzeugt PHP-FPM bei Betriebsstart mehrere Interpreter im Hintergrund, auf die es je nach Auslastung Anfragen verteilt. In Verbindung mit anderen Optimierungen erreicht das Modul dadurch eine ausgezeichnete Performance.

Unterschiede zwischen Apache und Nginx

Anders als Apache legt Nginx bereits seit seiner ersten Version eine Priorität auf Effizienz und Geschwindigkeit. Apache verwendet ebenfalls ein modulares Design – eines seiner größten Nachteile ist jedoch, dass es jede Verbindung einzeln bearbeitet. Dadurch besitzt es einen sehr hohen Speicherverbrauch und die Effizienz sinkt bei hohen Besucherzahlen kontinuierlich. Aus diesem Grund setzt das Programm auf eine sogenannte „asynchrone Architektur“. Anfragen behandelt es nicht individuell, sondern bündelt sie in wenigen Prozessen, die tausende Verbindungen simultan verwalten können.

Eine häufig genutzte Funktion unter Apache sind .htaccess-Dateien. Diese ermöglichen es, durch eine lokale Datei Regeln zu definieren, die von dem Webserver ausgewertet werden. Häufige Verwendungen sind das Setzen eines Passworts für eine bestimmte Adresse oder die Umleitung von URLs im Rahmen der Suchmaschinenoptimierung (SEO). Nginx unterstützt keine .htaccess-Dateien, da diese die Performance beeinträchtigen. Es verwendet stattdessen globale – also system– oder seitenweite Einstellungen.

Für die Umwandlung von .htaccess-Befehlen in eine gültige Konfiguration existieren mehrere Konverter, die die Einrichtung erleichtern. Apache ermöglicht es, Module nachträglich einzubinden, indem Anwender diese in die Konfiguration eintragen und in den Webserver laden. Im Gegensatz dazu gehören Module bei Nginx fest zu dem kompilierten Programm. Eine Erweiterung um neue Funktionen erfordert deshalb fast immer den Austausch der installierten Programmversion.

Vor- und Nachteile von Nginx

Bekannte Website setzen auf Nginx als Webserver und erreichen täglich mehrere tausend Aufrufe.

Bekannte Website setzen auf Nginx als Webserver und erreichen täglich mehrere tausend Aufrufe.

Das Projekt Nginx entstand aus der Notwendigkeit, einen schnellen, zuverlässigen, sicheren und effizienten Webserver für die russische Suchmaschine Rambler zu entwickeln. Unter dem Gesichtspunkt der Performance ist dieser wegen dieser Eigenschaften meist die beste Wahl. Populäre Webseiten mit tausenden oder Millionen Aufrufen täglich – darunter zum Beispiel WordPress, Netflix, Apple, Spotify oder Facebook – setzen deshalb bevorzugt Nginx ein. Experten schätzen, dass der Marktanteil des Webservers unter den 10.000 beliebtesten Internetseiten bei über 60 Prozent liegt.

Für kleine Projekte bietet die Verwendung ebenfalls einige Vorteile. Er ermöglicht beispielsweise eine Reduzierung der Hardwareperformance und dadurch der Betriebskosten, ohne die Geschwindigkeit bei Reaktion oder Seitenaufbau zu beeinträchtigen. Ein großer Nachteil von Nginx ist die gegenüber Apache aufwendigere Konfiguration. Darüber hinaus schränkt dieser durch die ausschließlich globale Definition die Möglichkeiten zu einer individuellen Einrichtung bei mehreren unabhängigen Nutzern ein. Wegen dieser Eigenschaft bevorzugen viele Anbieter von Webspace für ihre Kunden nach wie vor Apache.

Apache und Nginx als kombinierter Webserver

Um die Vorteile von beiden Programmen nutzen zu können, bietet sich eine Kombination der Webserver an. In diesem Fall dient Nginx als primäre Instanz und leitet ausschließlich spezielle Anfragen an Apache weiter, um dessen Verbindungen zu minimieren. Das Verfahren benötigt Administrationsrechte auf dem Server und eine individuelle Konfiguration, kann aber den Ressourcenverbrauch erheblich verringern. Das Aufsetzen der Webserver erfordert allerdings ein entsprechendes Fachwissen.

Webserver

Ein Webserver ist eine Serversoftware oder eine Hardware, die für das Ausführen dieser Software bestimmt ist und Inhalte für das World Wide Web bereitstellen kann. Er verarbeitet eingehende Netzwerkanforderungen über HTTP und verschiedene andere verwandte Protokolle. Jeder, der das Internet nutzt, um auf eine Website zuzugreifen, E-Mails abzurufen oder sich in einem sozialen Netzwerk zu verbinden, interagiert auf irgendeine Weise mit einem Webserver. Ein Webserver ist für die Beantwortung aller Anfragen an eine Internetadresse verantwortlich.

Anwendungen von Webservern

WebserverDie Hauptfunktion eines Webservers besteht darin, Webseiten zu speichern, zu verarbeiten und an Clients zu liefern. Die Kommunikation zwischen Client und Server erfolgt über das Hypertext Transfer Protocol (HTTP). Webseiten sind in der Hauptsache HTML-Dokumente, die neben dem Textinhalt Bilder, Stylesheets und Skripte enthalten können. Für eine stark frequentierte Website können mehrere Web Server verwendet werden.

Der Client eines Benutzers, üblicherweise ein Webbrowser, initiiert die Kommunikation mit dem Webserver, indem er eine bestimmte Ressource über HTTP anfordert. Der Server antwortet mit dem Inhalt dieser Ressource oder mit einer Fehlermeldung, falls die angeforderte Ressource nicht verfügbar ist. Die Ressource ist normalerweise eine Datei im sekundären Speicher des Servers. Dies ist jedoch nicht unbedingt der Fall und hängt davon ab, wie der Server implementiert wird. Während die Hauptfunktion die Bereitstellung von Inhalten ist, umfasst eine vollständige Implementierung von HTTP die Möglichkeit, Inhalte von Clients zu empfangen. Diese Funktion wird zum Senden von Webformularen und dem Upload von Dateien verwendet

Viele generische Web Server unterstützen die serverseitige Skripterstellung mit ASP (Active Server Pages), PHP (HypertextPreprocessor) oder anderen Skriptsprachen. Dies bedeutet, dass das Verhalten des Webservers in separaten Dateien beeinflusst werden kann, während die eigentliche Serversoftware unverändert bleibt. Diese Funktion nutzen beispielsweise Content Management Systeme wie WordPressDrupal oder Joomla, um HTML-Dokumente dynamisch zu generieren, anstatt statische Dokumente zurückzugeben.

Web Server können darüber hinaus in Geräten wie Druckern, Routern oder Webcams eingebettet sein und nur ein lokales Netzwerk bedienen. Der Server ist dann Teil eines Systems zum Überwachen oder Verwalten der Geräte. Dies bedeutet in der Regel, dass auf dem Client-Computer keine zusätzliche Software installiert werden muss, da nur ein Webbrowser erforderlich ist.

Zusätzliche Funktionen von Webservern

Moderne Web Server bieten über die Verwaltung und Bereitstellung von Webseiten hinausgehende Funktionen. Webserver werden häufig als Portale für anspruchsvolle, interaktive, webbasierte Anwendungen verwendet, die Unternehmens-Middleware und Back-End-Anwendungen zu Enterprise-Class-Systemen zusammenfügen. Mit Amazon Web Services können Benutzer beispielsweise öffentliche Cloud-Ressourcen über ein webbasiertes Portal verwalten. Streaming Media-Dienste wie Spotify für Musik und Netflix für Filme liefern Streaming-Inhalte in Echtzeit über Web Server.

Gängige Web Server

Den Markt für Webserver teilen sich aktuell im Wesentlichen 5 verschiedene Anbieter

Apache Websever

Der Apache Web Server ist eine Open Source-Software zum Erstellen, Bereitstellen und Verwalten von Webservern. Ursprünglich von einer Gruppe von Software-Programmierern entwickelt, wird die Software heute von der Apache Software Foundation verwaltet. Mit Apache Software können Webserver erstellt werden, die eine oder mehrere HTTP-basierte Websites hosten können. Zu den Funktionen gehören die Unterstützung mehrerer Programmiersprachen, serverseitige Skripterstellung, ein Authentifizierungsmechanismus und Datenbankunterstützung.

Der Apache Web Server kann durch Ändern der Codebasis oder Hinzufügen mehrerer Add-Ons erweitert werden. Die Apache Software wird auch häufig von Webhosting-Unternehmen zum Bereitstellen von Shared und Virtual Hosting verwendet, da Apache Web Server standardmäßig verschiedene Hosts unterstützt, die sich auf demselben Rechner befinden. Die Apache Software kann auf Windows, Linux und Unix Systemen genutzt werden.

Microsoft Internet Information Services (IIS)

Microsoft IIS ist ein flexibler Universal-Webserver, der auf Windows-Systemen ausgeführt wird, um angeforderte HTML-Seiten oder -Dateien bereitzustellenIIS ist ein erweiterbarer Webserver, der von Microsoft zur Verwendung mit der Windows NT-Familie erstellt wurde. IIS unterstützt HTTP, HTTP / 2, HTTPS, FTP, FTPS, SMTP und NNTP. Der Webserver ist seit Windows NT 4.0 ein fester Bestandteil der Windows NT-Produktfamilie, obwohl er in einigen Editionen – zum Beispiel der Windows XP Home Edition – nicht vorhanden und standardmäßig nicht aktiv ist.

NGINX

NGINX – ausgesprochen Engine X – ist eine flexible Open-Source-Software für Web-ServingReverse-ProxyingCachingLoad-BalancingMedia-Streaming und mehr. Ursprünglich wurde NGINX als ein Webserver mit maximaler Leistung und Stabilität entwickelt. Neben den HTTP-Serverfunktionen kann NGINX aktuell zudem als Proxyserver für E-Mails (IMAP, POP3 und SMTP) und als Reverse-Proxy und Load-Balancer für HTTP-, TCP- und UDP-Server genutzt werden.

LiteSpeed Web Server (LSWS)

Der LiteSpeed Web Server ist eine proprietäre Webserver-Software. Es ist der vierthäufigste Webserver und wurde im Oktober 2018 von 3,5 % der Webseiten weltweit genutztLSWS wurde entwickelt, um Apache zu ersetzen rund und kann die httpd.conf– und .htaccess -Dateien von Apache zu lesen und ausführen. Dies bedeutet, dass keine Änderungen an der Konfiguration erforderlich sind, wenn User zu LiteSpeed wechseln. Es verwendet vorhandenen Apache-Einstellungen und arbeitet mit den bestehenden Anwendungen einschließlich der Control Panels, die für Apache geschrieben wurden, zusammen.

Google Webserver (GWS)

Google Web Server ist eine proprietäre Webserver-Software, die Google für seine Webinfrastruktur verwendetGWS wird ausschließlich innerhalb des Google-Ökosystems für das Hosting von Websites verwendet. Im Laufe der Jahre wurden nur wenige Informationen veröffentlicht, es wird jedoch angenommen, dass GWS ursprünglich auf der Apache WebserverSoftware basiert und auf einer stark modifizierten Version von Debian Linux läuft.

Im Mai 2015 wurde die GWS nach Apache, NGINX und Microsoft IIS als viertgrößter Web Server im Internet eingestuft. Im Jahr 2018 betrug der Marktanteil laut W3Techs jedoch nur noch rund 1 Prozent. Webseitenanfragen auf den meisten Google-Seiten enthalten „gws“ (ohne Versionsnummer) im HTTP-Header als Hinweis auf die verwendete Webserver-Software.

Weitere Artikel im Blog der Biteno GmbH zum Thema Server und Virtualisierung

Warum das richtige Netzwerk bei Ceph so wichtig ist

Vor der Integration eines Ceph storage-clusters steht jeder Linux-Administrator irgendwann vor der Frage, welches Netzwerk (Ethernet, Infiniband, Omnipath) er verwenden möchte. Das hängt zunächst selbstverständlich vom zu erwartenden Workload und der Anzahl der Clients ab. Allerdings gibt es noch einen wichtigen weiteren Faktor den es zu beachten gibt. Ceph nutzt viele unabhängige Festplatten. RAID Arrays bieten sich nicht an, da die Performance mit  jeder zusätzlichen Festplatte wunderbar linear skaliert. Die vielen einzelnen Festplatten sowie der Aufbau des Ceph Clusters bringen es mit sich, dass alle Datenblöcke auf mehrere Knoten verteilt werden müssen. Je nach implementiertem Regelwerk sogar über Racks oder Rechenzentren hinweg. Das schafft Ausfallsicherheit. Jedoch bedeutet das, dass bei jedem Lese- oder Schreibzugriff eine Kommunikation mit allen Ceph-Nodes über das Netzwerk stattfinden muss, um alle notwendigen Datenblöcke zu erreichen.

Festplattenzugriff = Netzwerkzugriff bei Ceph

Da also jeder Zugriff auf eine der vorhandenen Festplatten auch ein Netzwerkzugriff ist, sollte man unbedingt auf ein 10 GE Netzwerk zurückgreifen um alle Ceph Knoten untereinander zu verbinden. 10 GE stellt hierbei das absolute Minimum dar. Möchten Sie Ceph richtig im produktiven Betrieb mit mehreren clients einsetzen, kommt ein 1 GE Netzwerk wirklich extrem schnell an seine Grenzen. Hier ist nicht nur der Datenverkehr zu den Clients und zwischen den Ceph Knoten bei der konkreten Datenabfrage zu betrachten. Ceph muss schließlich auch alle Replikationen auf den vorhandenen Servern und Festplatten des Clusters verteilen. Im besonderen wenn eine der Festplatten oder ein ganzer Server ausfällt, repliziert Ceph automatisch die Daten bis wieder die gewünschte Anzahl an Repliken vorliegt.

Netzwerkoptimierung

Dieses Verhalten kann durch getrennte Netzwerke optimiert werden. Ein Netzwerk übernimmt dann die Kommunikation zu den clients. Das zweite Netzwerk ist ausschließlich für die OSD Replikationen zuständig.

Die Konfiguration

Um zwei separate Netzwerke zu nutzen, müssen die Netzwerke innerhalb der ceph.conf eingetragen werden. Hierzu genügt es bereits die Netz ID mit entsprechendem Prefix anzugeben.

[global]

public network = 172.10.10.0/24

cluster network = 172.10.11.0/24

Sobald die Ceph Konfiguration auf allen Knoten verteilt wurde und die Services neu gestartet sind, werden die Netzwerke entsprechend verwendet. Damit wurde ein möglicher Flaschenhals in der Architektur  des Clusters optimiert bzw. verhindert.