4 Technologien von Webanwendungen Flashcards

(25 cards)

1
Q

Was ist das Hypertext Transfer Protocol (HTTP)?

A

HTTP ist ein zustandsloses Protokoll auf der Applikationsschicht, das für den Aufruf von Webseiten im World Wide Web (WWW) benötigt wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie wird eine Webseite im Webbrowser aufgerufen?

A

Der Aufruf einer Webseite: (vorher TCP-Verbindung)

  1. Aufruf einer Webseite in Webbrowser löst HTTP-Anfrage aus, die vom empfangenden Webserver beantwortet wird
  2. Das Protokoll definiert Basisinformationen im Header, die bei der Anfrage und Beantwortung von Webseitenaufrufen geliefert werden
  3. Danach folgt eigentlicher Inhalt der Webseite (z. B. HTML-Dateien, Bilder, Videos, usw.).
  4. Eine Antwort im HTTP-Format liefert immer einen Statuscode (geläufigster: „404 – Not Found“,angeforderte Ressource nicht vorhanden)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind Cookies im Zusammenhang mit HTTP?

A

Da HTTP zustandslos ist, werden Daten nicht über mehrere Anfragen hinweg gespeichert. Cookies werden verwendet, um zeitabhängige Informationen auf Webseiten zwischenzuspeichern, z. B. den Inhalt eines Warenkorbs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist HTML?

A

HTML (Hypertext Markup Language) ist eine Auszeichnungssprache, die dem Browser sagt, wie Inhalte angezeigt werden sollen.

  • Inhalte einer Webseite (z. B. Texte, Bilder, Videos, Links) beschreiben und strukturieren
  • Aufruf einer Webseite führt dazu das als Antwort eine HTML-Datei versendet wird, die über den eigenen Browser wieder grafisch dargestellt wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

HTML und HTTP Unterschied

A

Auszeichnungssprache HTML sagt dem Browser, wie Inhalte angezeigt werden sollen, während Protokolle wie HTTP dafür sorgen, wie die Inhalte übertragen werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der Zweck von CSS?

A

CSS (Cascading Style Sheets) definiert das Design einer Webseite und sorgt für eine einheitliche Darstellung in verschiedenen Webbrowsern. (HTML is Struktur)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Prozess eines Webseitenaufrufs:

A
  • Der Browser sendet eine HTTPS-Anfrage an die URL.
  • DNS wandelt die URL in eine IP-Adresse um.
  • Die Verbindung erfolgt über TCP zum Webserver.
  • Der Server antwortet mit einer HTML-Datei, die der Browser als grafische Webseite anzeigt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Client Side Frameworks

A

Bauen auf JavaScript auf und ermöglichen interaktive und dynamische Funktionen direkt im Browser.

Frameworks wie Angular, React und Bootstrap bieten vorgefertigte Klassen und Module für wiederkehrende Oberflächenelemente und Interaktionen, was die Entwicklung schneller und den Code kompakter macht. Diese Frameworks sind besonders hilfreich für die Gestaltung und Verwaltung dynamischer, responsiver Benutzeroberflächen und optimieren die Nutzererfahrung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Server-Side Frameworks:

A

Unterstützen serverseitige Sprachen wie Python, Ruby und PHP und bieten vorgefertigte Module für zentrale Funktionen wie Datenbankzugriffe, Nutzerauthentifizierung und Session-Management. Frameworks wie Django, Ruby on Rails und Catalyst fördern eine strukturierte, effiziente serverseitige Programmierung und ermöglichen es, komplexe serverseitige Funktionen schneller und mit weniger Code zu implementieren, besonders für dynamische und nutzerabhängige Inhalte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist der Unterschied zwischen client-side und server-side Programmierung?

A

Client-side Programmierung wird im Webbrowser des Nutzers ausgeführt, während server-side Programmierung direkt auf dem Webserver stattfindet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist JavaScript?

A

JavaScript ist eine Programmiersprache, die in HTML-Dokumente integriert wird, um Webseiten dynamisch zu gestalten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Erläutern Sie das Zusammenspiel von HTML, CSS und JavaScript zur Erstellung einer Webseite:

A

Die Inhalte einer Webseite werden meist in HTML definiert, d. h. beispielsweise die enthaltenen Texte. Die grafische Aufbereitung dieser Inhalte, also z. B. Schriftart und Design, wird wiederum meist mithilfe von CSS definiert. JavaScript bietet schlussendlich noch die Möglichkeit die Webseite abgesehen von statischen Inhalten mit Funktionalität auszustatten.

HTML: welche Inhalte möchte ich auf meiner Webseite haben?

CSS: wie sollen die Inhalte aussehen?

JavaScript: welche Funktionalität soll meine Webseite haben?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Relationale Datenbanken

A
  • speichern Daten in Tabellen, die miteinander verknüpft sind.
  • Zeilen (Datensätzen) und Spalten (Attributen)
  • Beziehungen durch Primärschlüssel und Fremdschlüssel (Foreign Key)
  • Kardinalität: Beziehung zwischen zwei Tabellen in einer Datenbank
  • Normalisierung: Organisation der Daten in einer Datenbank, um Redundanzen zu minimieren und die Datenintegrität zu maximieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Primärschlüssel

A

o Attribut (Spalte) oder eine Kombination von Attributen, die jeden Datensatz in einer Tabelle eindeutig identifizieren. Ein Primärschlüssel muss eindeutig und darf nicht null sein
o Bsp: Sozialversicherungsnummern, Auftragsnummern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Fremdschlüssel (Foreign Key):

A

o Attribut in einer Tabelle, das auf den Primärschlüssel einer anderen Tabelle verweist
o Zur Herstellung von Beziehungen zwischen Tabellen
o Gewährleisten referenzielle Integrität > die Werte im Fremdschlüssel müssen mit den Werten im Primärschlüssel der referenzierten Tabelle übereinstimmen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Kardinalität

A

o Beziehung zwischen zwei Tabellen in einer Datenbank
o wird durch die Attribute (Schlüssel) hergestellt, die die Verknüpfung ermöglichen
o drei Haupttypen:
 Eins-zu-eins (1:1): Ein Datensatz in Tabelle A ist mit genau einem Datensatz in Tabelle B verknüpft
 Eins-zu-viele (1:N): Ein Datensatz in Tabelle A ist mit mehreren Datensätzen in Tabelle B verknüpft
 Viele-zu-viele (N:M): Mehrere Datensätze in Tabelle A sind mit mehreren Datensätzen in Tabelle B verknüpft (Diese Beziehung wird oft durch eine Zwischentabelle realisiert)

17
Q

Normalisierung

A

o Organisation der Daten in einer Datenbank, um Redundanzen zu minimieren und die Datenintegrität zu maximieren.
 Erste Normalform (1NF): Alle Attributwerte sind atomar (Attributwert kann nicht weiter unterteilt werden, Jeder Wert in einer Zelle ist ein einzelner, unteilbarer Wert
 Zweite Normalform (2NF): Die Tabelle ist in 1NF und alle nicht-schlüssel Attribute sind voll funktional abhängig vom Primärschlüssel
 Dritte Normalform (3NF): Die Tabelle ist in 2NF und keine nicht-schlüssel Attribute sind transitiv von einem anderen nicht-schlüssel Attribut abhängig
* (transitiv: ein Attribut ist indirekt von einem anderen Attribut abhängig. Attribut A von Attribut B abhängig, und Attribut B von Attribut C, dann ist Attribut A transitiv von Attribut C abhängig.)
* Ziel einer erfolgreichen Normalisierung in einem relationalen Datenbankmodell.
* verhindert Anomalien und Redundanzen in Datensätzen und bietet genügend Performance für SQL-Abfragen.
o Durch die Normalisierung wird die Datenbankstruktur effizienter und konsistenter, was die Verwaltung und Abfrage der Daten erleichtert

18
Q

Problematik bei objektorientierten Programmiersprachen und relationalen Datenbanken:

A

Relationale Datenbanken speichern Daten in Tabellen mit Attributen und Datensätzen, während objektorientierte Sprachen mit Objekten und Klassen arbeiten, die Zustände und Vererbungshierarchien nutzen, die sich nicht direkt in Tabellen abbilden lassen.

19
Q

Was sind Object-Relational Mappers (ORM)?

A

ORMs lösen den Widerspruch zwischen objektorientierten Programmiersprachen und relationalen Datenbanken auf, indem sie Objektdaten in relationale Daten umwandeln.

20
Q

Was sind NoSQL-Datenbanken?

A

NoSQL-Datenbanken speichern Daten nicht in Tabellen, sondern in verschiedenen Formaten wie Dokumenten, Graphen oder Schlüssel-Wert-Paaren.

21
Q

NoSQL-Datenbanken Typen

A
  • Objektorientierte Datenbanken: Speichern Daten als Objekte, ähnlich wie in objektorientierten Programmiersprachen, wobei Objekte mit ihren Attributen und Methoden direkt gespeichert werden können.
  • Graph-Datenbanken: Modellieren Daten in Knoten und Kanten, um komplexe Beziehungen darzustellen, ideal für Anwendungen, die stark vernetzte Daten (z. B. soziale Netzwerke) erfordern.
  • Key-Value-Datenbanken: Speichern Daten in einem einfachen Schlüssel-Wert-Paar, wobei der Schlüssel den Zugriff auf den Wert ermöglicht, optimal für einfache, schnelle Abfragen ohne komplexe Beziehungen.
22
Q

Was sind die Risiken unzureichender Sicherheitsmaßnahmen bei Webanwendungen?

A
  • Ausfall der Webseite,
  • Diebstahl/Missbrauch von Unternehmens- und Kundendaten,
  • negative Außendarstellung durch publik gewordene Sicherheitslücken oder Daten,
  • Verstoß gegen Gesetze.
23
Q

Was sind die Ziele bei der Entwicklung sicherer Webanwendungen?

A
  • Vermeidung von Sicherheitslücken
  • bessere Planbarkeit von Sicherheitsmaßnahmen
  • Erhöhung des Sicherheitsniveaus.

Sicherheitsprinzipien sollten daher im gesamten Entwicklungsprozess beachtet werden, um unautorisierte Zugriffe auf Daten und Funktionen zu verhindern und den Nutzern sicheren, jederzeitigen Zugang zu gewährleisten.

24
Q

Datenschutz und DSGVO in Webanwendungen:

A

Die DSGVO regelt den Umgang mit personenbezogenen Daten und schützt Nutzer vor unrechtmäßiger Datenverarbeitung.

verlangt von Organisationen strikte Einhaltung von Datenschutzprinzipien

bei Verstößen hohe Strafen zur Folge

erhöht die Komplexität der Webentwicklung, da Datenschutzanforderungen umfassend in den Entwicklungsprozess integriert werden müssen.

25
Was ist zu beachten beim Wechsel zu einem Cloud-Anbieter?
Daten der Anwendung nicht mehr unter eigener Kontrolle, sondern befinden sich auf einem Server des Cloud-Dienstleisters - Datenschutzprobleme o Personenbezogene Daten? (ja/nein) o Wo hält Cloud-Dienstleister die Daten (Rechenzentrum in Deutschland, in der EU, in den USA?) o Im Einzelfall muss überprüft werden, ob der Cloud-Anbieter die geltenden Datenschutzgesetze einhält. - Sicherheitsprobleme o prüfen, welche technischen und organisatorischen Maßnahmen der Cloud-Anbieter etabliert hat, um Sicherheitsrisiken zu minimieren o relevante Zertifizierung, z. B. ISO27001 bzw. ISO27018