1.1 Struktur und Geschichte des Internets
Wie hat sich das Internet in seiner frühen Entwicklung gezeigt, und warum war es nicht zielgerichtet?
Die Entwicklung des Internets verlief nicht zielgerichtet, sondern Schritt für Schritt und oft zufällig. Viele Technologien haben sich über Jahre entwickelt und erst durch die Anwendungen wie das World Wide Web (WWW) wurde das Internet für die breite Öffentlichkeit attraktiv.
Welche Technologie bildete die Grundlage für das Internet und wie profitierte es von seinen Ursprüngen?
Das Internet hat seine Ursprünge in militärischer Technologie, die besonders ausfallsicher sein sollte. Es profitiert bis heute von dieser Verlässlichkeit, indem es bei Problemen Umleitungen bietet, sodass Störungen meist nur geringe Geschwindigkeitseinbußen verursachen.
Wann begann die Nutzung des Internets als Netzwerk und welche Bedingungen ermöglichten diese?
Die Nutzung des Internets als Netzwerk begann in den 1980er-Jahren. Eine Voraussetzung dafür war die Verfügbarkeit relativ günstiger Personal Computer, wie der Apple II und der Commodore C64.
Was ist die Internet Engineering Taskforce (IETF) und wie trägt sie zur Internetentwicklung bei?
Die IETF ist eine technologiegetriebene Organisation, die bis heute kein offizielles Gremium ist. Man kann kein Mitglied werden, sondern einfach durch Beiträge mitwirken. Sie ist ein zentrales Element der Internetentwicklung.
Wer entwickelte das World Wide Web (WWW) und wie unterschied es sich von bisherigen Internetanwendungen?
Das WWW wurde 1991 von Tim Berners-Lee am CERN entwickelt. Es unterschied sich von bisherigen Internetanwendungen, die meist technisch und für Spezialisten waren, durch bunte und benutzerfreundliche Webseiten, die für eine breite Öffentlichkeit zugänglich waren.
Welche Technologien trugen zur Kommerzialisierung des Internets bei?
Die Kommerzialisierung des Internets wurde durch dynamische Webseiten mit JavaScript und die Einführung von Cascading Stylesheets (CSS) ermöglicht. Der Börsengang von Netscape und der E-Commerce durch Amazon markierten wichtige Meilensteine dieser Entwicklung.
Wie hat die Demokratisierung des Internets stattgefunden?
Die Demokratisierung des Internets wurde durch den breiten Zugang zu Hardware wie Laptops, Smartphones und Tablets gefördert. Unterstützt wurde dies durch günstigere und schnellere Internet-Zugänge sowie moderne Mobilfunktechnologien wie LTE und 5G.
Was war die ursprüngliche Funktion von ARPA und wie entwickelte sich der Begriff zu DARPA?
ARPA steht für Advanced Research Projects Agency und war ursprünglich eine Forschungsorganisation des amerikanischen Verteidigungsministeriums. Später wurde "Defense" ergänzt, was den Begriff zu DARPA erweiterte.
1.2 Internetprotokolle und URIs
Was bedeutet das Internet Protocol (IP) und wie ist es in Netzwerkprotokollen eingebettet?
Das Internet Protocol (IP) ist die Grundlage des Internets und sorgt für die Adressierung und das Routing von Datenpaketen. Es ist Teil eines Schichtmodells, wie dem ISO/OSI-Referenzmodell, das Netzwerkprotokolle in verschiedene Ebenen unterteilt. Eine vereinfachte Variante dieses Modells ist das TCP/IP-Referenzmodell.
Was ist das TCP/IP-Referenzmodell und welche Schichten umfasst es?
Das TCP/IP-Referenzmodell ist eine vereinfachte Version des ISO/OSI-Modells und umfasst vier Schichten:
Netzwerkzugriff,
Internet,
Transport,
Anwendung.
Was ist ein Backbone im Internet und welche Rolle spielt er?
Ein Backbone bezeichnet die Hauptkanäle für die Kommunikation im Internet. Er verbindet große Netzwerke miteinander und ermöglicht den Datenaustausch über das sogenannte Peering, das in der Regel kostenlos zwischen den Anbietern erfolgt.
Was ist das Transmission Control Protocol (TCP) und wie unterscheidet es sich von UDP?
TCP ist ein verbindungsorientiertes und zustandsbehaftetes Protokoll, das eine zuverlässige Datenübertragung gewährleistet. Es wird häufig für Webseitenübertragungen genutzt. UDP hingegen ist verbindungslos und schneller, verzichtet aber auf Quittungen, wodurch Daten verloren gehen können. Es wird z. B. für DNS-Abfragen verwendet.
Welche Funktionen hat das HTTP-Protokoll und welche Methoden unterstützt es?
Das HTTP-Protokoll dient zur Übertragung von HTML-Seiten und anderen Ressourcen über TCP. Es unterstützt Methoden wie GET (Abruf von Ressourcen), POST (Erstellung von Daten), PUT (Änderung von Daten) und DELETE (Löschen von Daten).
Was ist eine URL und welche Bestandteile hat sie?
Eine URL (Uniform Resource Locator) dient zur eindeutigen Adressierung von Ressourcen im Internet. Sie besteht aus:
dem Protokoll (z. B. HTTP),
der Domain (Server-Adresse),
dem Pfad (Verzeichnis/Ordner auf dem Server),
dem Query-String (Parameter) und
dem Anchor (Verweis auf eine bestimmte Stelle innerhalb der Seite).
Welche Bedeutung hat das DNS im Zusammenhang mit URLs?
Das Domain Name System (DNS) dient der Zuordnung von Hostnamen zu IP-Adressen. Es wandelt den Domainnamen in eine IP-Adresse um, damit die Ressource im Internet erreichbar ist.
Was ist der Unterschied zwischen der GET- und der POST-Methode im HTTP-Protokoll?
Die GET-Methode wird verwendet, um Ressourcen vom Server abzurufen, während die POST-Methode genutzt wird, um neue Daten zu senden oder zu erstellen. Im Gegensatz zu PUT ist POST nicht idempotent, das heißt, wiederholte Aufrufe können unterschiedliche Ergebnisse erzeugen (z. B. bei der Erstellung von Datensätzen).
Welche neuen Funktionen bietet HTTP/2 im Vergleich zu früheren Versionen von HTTP?
HTTP/2 ermöglicht Multiplexing, bei dem mehrere Datenströme gleichzeitig über eine Verbindung übertragen werden. Außerdem unterstützt es Websockets, die eine bidirektionale Kommunikation zwischen Server und Browser erlauben.
Wofür wird das FTP-Protokoll verwendet und warum wurde es weitgehend durch HTTP ersetzt?
Das File Transfer Protocol (FTP) wird zur Übertragung großer Datenmengen genutzt. Es wurde jedoch weitgehend durch HTTP ersetzt, da HTTP flexibler und sicherer ist.
1.3 Architektur von Webanwendungen
Was beschreibt das World Wide Web im Kontext der Client-Server-Architektur?
Das World Wide Web ist ein typisches Client-Server-Szenario, bei dem ein Client (z. B. ein Browser) Inhalte von einem Server anfordert und darstellt. Zu Beginn gab es vor allem statische HTML-Seiten, später wurden dynamische Webseiten mit Server- und Client-seitiger Intelligenz entwickelt.
Wie haben sich dynamische Webseiten entwickelt und welche Rolle spielen Datenbanken?
Dynamische Webseiten entstanden, um Inhalte flexibel und anpassbar bereitzustellen. Server greifen auf Datenbanken zu, um dynamische Inhalte zu generieren, wie z. B. in Online-Shops. Diese Dynamik wird durch serverseitige Programmierung in Sprachen wie PHP, Java oder Python realisiert.
Welche Rolle spielen Web-Browser in der Client-Server-Architektur?
Web-Browser sind die Hauptclients für Websites. Sie stellen Inhalte dar, die von Servern bereitgestellt werden, und unterstützen dynamische Funktionen wie JavaScript. Beliebte Browser sind Chrome, Safari, Edge und Firefox.
Was ist ein Mouseover-Effekt und warum funktioniert er nicht auf mobilen Geräten?
Ein Mouseover-Effekt wird ausgelöst, wenn der Mauszeiger über ein Element fährt und Aktionen wie Hervorhebungen ausführt. Auf mobilen Geräten funktioniert dieser Effekt nicht, da sie auf Touch-Interaktion basieren.
Was ist WebAssembly und welche Vorteile bietet es gegenüber JavaScript?
WebAssembly ist eine relativ neue Webtechnologie, die deutlich schneller als JavaScript ist. Sie erlaubt die Ausführung von Anwendungen in nahezu nativer Geschwindigkeit, wird aber noch nicht weit verbreitet genutzt.
Welche Rolle spielen Web-Services und Programme wie Visual Studio Code im Web?
Web-Services ermöglichen die Kommunikation von Programmen mit Servern. Programme wie Visual Studio Code basieren auf Web-Technologien wie Browser-Engines, werden aber wie normale Computerprogramme genutzt.
Welche Webserver dominieren heute den Markt und was sind ihre Hauptfunktionen?
Apache, nginx und der Internet Information Server sind die dominierenden Webserver mit einem Marktanteil von etwa 80 %. Sie liefern statische Inhalte aus, sorgen für Load Balancing und arbeiten oft mit dynamischen Application-Servern zusammen.
Was ist ein Content-Distribution-Network (CDN) und wozu wird es verwendet?
Ein CDN verteilt häufig angefragte Inhalte auf mehrere Server, um den Seitenaufbau zu beschleunigen und die Last auf einzelnen Servern zu verringern.
Was versteht man unter dem Templating und dem MVC-Muster in der Webentwicklung?
Templating bezeichnet die Verwendung von Schablonen, um wiederholte Elemente (wie Navigationen) in HTML-Seiten zu vermeiden. Das MVC-Muster (Model-View-Controller) ist ein Entwurfsmuster, das die Komponenten einer Webanwendung strukturiert und Verantwortlichkeiten klar trennt.
Wie funktioniert das Model-View-Controller (MVC)-Muster in der serverseitigen Webentwicklung?
Beim MVC-Muster ist der Controller der Einstiegspunkt, der je nach URL entscheidet, welche Daten aus dem Modell geladen werden. Diese Daten werden an den View weitergegeben, der die HTML-Seite generiert. Der Browser lädt anschließend zusätzliche Ressourcen wie CSS und JavaScript nach.
1.4 Aktuelle Trends
Was ist der Hauptunterschied zwischen traditionellen Websites und Single Page Applications?
Bei traditionellen Websites wird bei jedem Klick eine neue HTML-Seite vom Server geladen, während bei Single Page Applications nur der veränderte Inhalt ausgetauscht wird, wodurch der Datentransfer reduziert und die Geschwindigkeit erhöht wird.
Was war die erste echte Single Page Application?
Gmail war die erste echte Single Page Application.
Was sind Progressive Web Applications (PWAs) und welchen Vorteil bieten sie auf mobilen Geräten?
Progressive Web Applications sind Webseiten, die sich wie native Apps auf mobilen Geräten verhalten. Sie können auf dem Startbildschirm hinzugefügt und offline genutzt werden. PWAs bieten Aktualisierungsmechanismen und sind ideal für eine bessere Kundenbindung.
Was bedeutet „Alles im Browser“ und welches Beispiel zeigt den Beginn dieser Entwicklung?
„Alles im Browser“ beschreibt die zunehmende Nutzung von Browsern als Plattform für vollständige Anwendungen. Gmail war eines der ersten Beispiele für eine Web-Anwendung, die sich wie eine echte Applikation im Browser anfühlte.
Welche Rolle spielt WebAssembly in der modernen Webentwicklung?
WebAssembly ermöglicht es, Programme nahezu in nativer Geschwindigkeit im Browser auszuführen. Es übersetzt Programme in eine Sprache, die vom Browser verarbeitet werden kann, ohne den Quellcode auszuliefern, was die Sicherheit und Performance erhöht.
Was ermöglicht die Technologie von WebAssembly, das vorher nicht möglich war?
WebAssembly erlaubt die Ausführung von Programmen fast so schnell wie herkömmliche Desktop-Anwendungen im Browser. Es ermöglicht zudem das Übersetzen bestehender Programme, wie z. B. LibreOffice, in eine webfähige Version.
Was ist node.js und warum wurde es entwickelt?
Node.js ist ein Framework, das JavaScript um serverseitige Funktionen erweitert und es ermöglicht, JavaScript auch auf der Serverseite zu verwenden. Es entstand aus dem Wunsch, mit möglichst wenigen Programmiersprachen in Web-Applikationen zu arbeiten.
Was sind die Hauptmerkmale von node.js und warum ist es kontrovers in der serverseitigen Entwicklung?
Node.js basiert auf JavaScript und bietet ein großes Ökosystem von Bibliotheken und Paketen. Allerdings ist JavaScript eine dynamisch typisierte Sprache, was in komplexen Serveranwendungen zu Problemen führen kann. Ob node.js geeignet ist, muss von Fall zu Fall entschieden werden.
Was sind Web-Apps und wie unterscheiden sie sich von nativen Apps?
Web-Apps basieren auf HTML-Seiten und werden im Browser ausgeführt. Sie unterscheiden sich von nativen Apps, die auf mobilen Geräten installiert sind und mit anderen Technologien wie Java oder Swift realisiert werden.
Welche technischen Fortschritte haben die Entwicklung von browserbasierten Anwendungen wie Google Docs oder Microsoft Office Online ermöglicht?
Die Fortschritte in Browsertechnologien und Protokollen haben es ermöglicht, dass Anwendungen wie Google Docs und Microsoft Office Online kollaboratives Arbeiten direkt im Browser unterstützen. WebAssembly beschleunigt diese Entwicklung durch höhere Ausführungsgeschwindigkeiten.
Zuletzt geändertvor 2 Monaten