Begriffe für Webentwickler (Teil 2 / 2)
Teil 1: Abkürzungen für Webentwickler » Teil 2: Begriffe für Webentwickler «
Im zweiten Teil konzentriere ich mich auf die Erklärung einiger Begriffe, die einem als Webentwickler des öfteren unterkommen. Wenn man nach solch einem Begriff gefragt wird, sollte man in diesem Umfeld eine Antwort parat haben. Ich habe mir Mühe gegeben, die Begriffe mit möglichst einfachen Worten zu erklären, um das Thema nicht komplizierter zu machen als es ist! :-)
Netzwerk und Infrastruktur
Server
Ein Computer der ständig mit dem Internet verbunden ist. Er beherbergt z.B. komplette Webseiten die er über Hintergrundprogramme (z.B. Apache HTTP Server) im Internet zur Verfügung stellt. Auf einem Server können viele Webseiten liegen, es ist nicht für jede Webseite ein eigener, physikalisch vorhandener Computer notwendig (siehe Webhost).
Client
Stellt üblicherweise den Computer des Endanwenders dar, der zum Server verbindet. Beispielsweise verbindet sich ein Browser (Client) zum Apache (Server) um sich den Inhalt einer Webseite abzuholen.
Provider
Übersetzt heißt das Anbieter oder Versorger. Im Internet-Bereich steht dies meist für einen Internetdienstleister, der Internetanbindungen herstellt, oder auch Webserver zur Verfügung stellt.
Webhost
Ein Speicherplatz auf einem Server, auf dem man eine Webseite ablegen kann, die dann über eine Domain (oder Subdomain vom Webhost-Provider) erreichbar ist. Meist ist der Server sehr leistungsfähig, damit der Provider möglichst viele Webhosts (bis zu mehreren Tausend) darauf laufen lassen kann um Kosten zu sparen.
Root Server (auch Dedicated Server)
Ein Server der permanent Internet angeschlossen ist und an eine Person vermietet wird. Im Vergleich zu Webhosts oder Virtuellen Servern teilt man sich den Server nicht mit anderen Kunden. Wird meist mit einem Administrationstool verkauft, damit man sich eigene Webhosts auf seinem Root Server einrichten kann. Mit einem Root Server darf man normalerweise auch Webhosts weiterverkaufen.
Virtueller Server (auch vServer)
Er sieht für den Kunden aus wie ein Root Server. Man hat die gleichen Rechte, kann selbst Webhosts darauf erstellen und ihn nach belieben selbst administrieren. Tatsächlich teilt man sich den Server allerdings mit weiteren Kunden (rund 100), jedoch nicht mit so vielen wie bei den Webhosts.
Programmierung und Systeme
CMS
Ein Content Management System läuft im Hintergrund einer Webseite und dient der Bearbeitung von Inhalten auf einer Administrationsoberfläche. Es gibt quelloffene CMS die man frei verwenden darf (z.B. Joomla! oder Typo3) sowie kostenpflichtige Systeme die meist von Firmen als Komplettwebseiten verkauft werden.
Backend
Die Administrationsoberfläche eines CMS, in welchem man Inhalte einer Webseite und sonstige Daten bearbeiten kann. Es ist im Normalfall durch ein Login abgesichert.
Frontend
Der öffentliche Teil einer CMS-Webseite, der für jeden sichtbar ist.
SQL-Query
Ein Befehl der an einen SQL-Server geschickt wird und ausgeführt werden soll. Wenn man mit PHP eine Query abschickt, erhält man ein SQL-Result.
SQL-Result
Ein Ergebnis, das man von einer SQL-Query zurückbekommt. Das können Datensätze aus einer Datenbanktabelle sein, oder ein Ergebnis, ob die SQL-Query ausgeführt werden konnte oder nicht.
Syntax
In der Programmierung spricht man von den Regeln, wie Code zu schreiben ist, damit keine offensichtlichen Fehler auftreten. Dabei handelt es sich nicht um den Inhalt des Codes, sondern vielmehr um die Setzung von (Steuer-) Zeichen. Zum Beispiel dass in PHP alle Befehle mit einem Semikolon (;) enden müssen, oder dass bei einer Variablenzuweisung erst die Variable, dann ein Gleichheitszeichen, gefolgt von dem Zuweisungswert stehen muss.
Debug / Debugging
Bezeichnet das Suchen eines Fehlers in einem Programm. Üblicherweise versucht man Schritt für Schritt zu überprüfen, zu welchem Zeitpunkt welcher Wert in den Variablen steht. Im Normalfall findet man dann die Stelle, an der sich der Fehler versteckt.
Sicherheit
SQL-Injection
Wenn Daten vom Client (z.B aus einem Formular) unbedacht in einer SQL-Query verwendet werden, kann dies zu einem Sicherheitsriko werden. Ein böswilliger Client kann unter Umständen eigenen SQL-Code einschleusen und somit die Datenbank manipulieren oder löschen. Diese Thematik wird später in einem separaten Beitrag behandelt.
Cross-Site-Scripting (auch XSS)
Wenn Inhalte mit JavaScript Code in einem Formular von einem Benutzer eingegeben werden, die später auf der Webseite wieder ausgegeben werden (z.B. in einem Gästebuch) kann dies zu einer Sicherheitslücke führen, wenn der Webseitenbetreiber nicht darauf achtet, die eingegebenen Daten vor der Ausgabe korrekt zu behandeln. In einem Gästebuch wäre kann dies verhindert werden, indem man die Einträge vor der Ausgabe mit der PHP-Funktion htmlspecialchars behandelt. Somit wird der JavaScript Code normal ausgegeben und nicht mehr ausgeführt. Beispiele möglicher Ziele von XSS Attacken sind das Entführen von Benutzer-Sessions anderer Website-Besucher, einstellen negativer Inhalte sowie Phishing Attacken. Diese Thematik wird später in einem separaten Beitrag behandelt.
Phishing
Durch Phishing versuchen böswillige Webseitenbetreiber an Zugangsdaten von anderen Benutzern zu kommen. Um dies zu erreichen werden beispielsweise Webseiten von Banken 1 zu 1 nachgebaut, sodass sie genau gleich aussehen. Wenn dann Kunden auf diese falsche Webseite kommen und sich in das falsche Internetbanking-Konto einloggen wollen, werden die Logindaten an den Phishing Webseitenbetreiber übermittelt, welcher die Daten abspeichern kann und somit die Logindaten für die echte Internetbanking-Seite besitzt. Gelegentlich wird einem auch auf einer speziellen Seite vorgegaukelt, dass man aufgrund von Datensicherheit oder ähnlichem seine Logindaten neu eingeben soll.
Markus