[Inhalt] Typos; Korrekturen

Typos korrigiert und Inhalt teilweise ergänzt/korrigiert.
This commit is contained in:
Andre Meyering 2017-07-30 17:36:55 +02:00
parent fd9601ec83
commit b4ab50ac3f
6 changed files with 95 additions and 88 deletions

View file

@ -43,82 +43,43 @@ Der \enquote{Hyperlink} ist ein Verweis mit automatischer Verweisauflösung. Er
\item \enquote{Erfinder} des Hyperlinks: Vannevar Bush, 1945
\item siehe \enquote{As we may think}, Atlantic Monthly, 1945
\item siehe Maschine \enquote{memex} (Memory extension)
$\Rightarrow$ Information auf Mikrofilm mit Verweismöglichkeit inkl. Automatischer Verweisauflösung
$\Rightarrow$ Information auf Mikrofilm mit Verweismöglichkeit inkl. automatischer Verweisauflösung
\end{itemize}
\subsection{Zwei Eigenschaften des \acs{WWW} (\enquote{Erfolgsfaktoren})\label{sec:lokations_medienunabhaengigkeit}\index{WWW}}
\begin{enumerate}[noitemsep]
\begin{enumerate}
\item \textbf{Lokationsunabhängigkeit}
$\Rightarrow$ unabhängig von der Lokation der Information und der Suchenden;
die Information kann immer \enquote{auf die gleiche Weise} beschafft werden.
Unabhängig von der Lokation der Information und des Suchenden, kann die
Information immer \enquote{auf die gleiche Weise} beschafft werden.
Beim Design des \acs{WWW} von \href{https://de.wikipedia.org/wiki/Tim_Berners-Lee}{Tim Berners-Lee} geplant
Beim Design des \acs{WWW} von \href{https://de.wikipedia.org/wiki/Tim_Berners-Lee}{Tim Berners-Lee} geplant.
\item \textbf{Medienunabhängigkeit}
$\Rightarrow$ Die Information kann grundsätzlich in verschiedenen Medienformen
\item \textbf{Medienunabhängigkeit} \hfill \newline
Die Information kann grundsätzlich in verschiedenen Medienformen
(Text, Bild, Video, Audio, \ldots ) vorliegen.
Ursprünglich nicht geplant und nicht im Web enthalten. Belege:
\begin{itemize}[noitemsep]
\begin{itemize}
\item HTML: Hyper \textbf{Text} Markup Language
\item HTTP: Hyper \textbf{Text} Transfer Protocol
\item $\Rightarrow$ in ersten Versionen \textbf{nur} Unterstützung von Text vorhanden! (\textbf{Klausurrelevant!})
\item[$\Rightarrow$] in ersten Versionen \textbf{nur} Unterstützung von Text vorhanden! (\textbf{Klausurrelevant!})
\end{itemize}
\end{enumerate}
\bigskip
\bigskip
\bigskip
\bigskip
\bigskip
\bigskip
\bigskip
\begin{table}[h]
\begin{tabular}{c|p{34mm}|p{30mm}|p{75mm}}
Nr. & Deutsch & Englisch & Beschreibung \\
\midrule
7 & Anwendungsschicht & Application Layer & Realisierung des Kommunikationsmodells für die jeweilige Anwendung (Client/Server; Peer-to-Peer) \\
\midrule
6 & Darstellungsschicht & Presentation Layer & Zeichen-/Anwendungskodierung \\
\midrule
5 & Kommunikations-\newline steuerungsschicht (besser nicht: Sitzungsschicht) & Session Layer & Sychronisierung der Anwendung; Transaktionssteuerung; (\zB RPC Protokoll) \\
\midrule
4 & Transportschicht & Transport Layer & Verbindungen; Vollständigkeit/Fehlerfreiheit/Reihenfolge; Port-/Anwendungsadressierung; (\acs{TCP}/\acs{UDP}) \\
\midrule
3 & Vermittlungsschicht & Network Layer & Wegewahl/Routing; Adressierung (mit IP-Adresse) \\
\midrule
2 & Sicherungsschicht & Data Link Layer & \href{https://de.wikipedia.org/wiki/Logical_Link_Control}{LLC}: Logical Link Control (Integritätsüberprüfung) \\
\midrule
& & & \href{https://de.wikipedia.org/wiki/Media_Access_Control}{MAC}: Medium Access Control (Adressierung mit \href{https://de.wikipedia.org/wiki/MAC-Adresse}{MAC-Adresse}); Regelung des Zugangs auf das \enquote{shared-medium} \\
\midrule
1 & Bitübertragungs-\newline schicht & Physical Layer & Signalkodierung ; Stecker/Kabelform
\end{tabular}
\caption{OSI-7-Schichten-Modell}
\label{tbl:osi_7_schichten}
\end{table}
\newpage
\section{ISO-OSI-7-Schichten-Architektur}
Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Architektur} werden in \autoref{tbl:osi_7_schichten} auf Seite \pageref{tbl:osi_7_schichten} dargestellt.
Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Architektur} werden in \autoref{tbl:osi_7_schichten} dargestellt.
\textbf{Hinweis}: Schicht 2 kann unterteilt werden.
\begin{itemize}[noitemsep]
\item Ab der Transportschicht werden nur noch Ende zu Ende Verbindungen betrachtet.
\item \textit{siehe} Wikipedia\footnote{\url{https://de.wikipedia.org/wiki/OSI-Modell}}
\item \textit{siehe} Wikipedia (\url{https://de.wikipedia.org/wiki/OSI-Modell})
\end{itemize}
@ -132,3 +93,38 @@ Die 7 Schichten des ISO-OSI-7-Schichten-Architektur\index{OSI-7-Schichten-Archit
\end{tabular}
\acs{HTTP} als Anwendungsprotokoll des 4-Schichten-Internet-Modells benötigt als unterliegendes Protokoll der Transportschicht \acs{TCP} (\acs{UDP} geht nicht!).
\medskip
\begin{table}[h!]
\hspace*{-6mm}
\begin{tabular}{c|p{33mm}|p{30mm}|p{89mm}}
Nr. & Deutsch & Englisch & Beschreibung \\
\midrule
7 & Anwendungsschicht & Application Layer & Realisierung des Kommunikationsmodells für die jeweilige Anwendung (Client/Server; Peer-to-Peer) \\
\midrule
6 & Darstellungsschicht & Presentation Layer & Zeichen-/Anwendungskodierung \\
\midrule
5 & Kommunikations-\newline steuerungsschicht (besser nicht: Sitzungsschicht) & Session Layer & Sychronisierung der Anwendung; Transaktionssteuerung; (\zB RPC Protokoll) \\
\midrule
4 & Transportschicht & Transport Layer & Verbindungen; \newline Vollständigkeit/Fehlerfreiheit/Reihenfolge; \newline
Port-/Anwendungsadressierung; (\acs{TCP}/\acs{UDP}) \\
\midrule
3 & Vermittlungsschicht & Network Layer & Wegewahl/Routing; Adressierung (mit IP-Adresse) \\
\midrule
2 & Sicherungsschicht & Data Link Layer & \href{https://de.wikipedia.org/wiki/Logical_Link_Control}{LLC}: Logical Link Control (Integritätsüberprüfung) \\
\midrule
& & & \href{https://de.wikipedia.org/wiki/Media_Access_Control}{MAC}: Medium Access Control (Adressierung mit \href{https://de.wikipedia.org/wiki/MAC-Adresse}{MAC-Adresse}); Regelung des Zugangs auf das \enquote{shared-medium} \\
\midrule
1 & Bitübertragungs-\newline schicht & Physical Layer & Signalkodierung; Stecker/Kabelform
\end{tabular}
\caption{OSI-7-Schichten-Modell}
\label{tbl:osi_7_schichten}
\end{table}

View file

@ -1,17 +1,18 @@
\chapter{\acf{HTTP}}\index{HTTP}\label{sec:http}
\textit{Was ist ein Protokoll\index{Protokoll}?} \newline
\textit{\textbf{Was ist ein Protokoll?}} \index{Protokoll} \newline
Ein Protokoll ist verbindliche Vereinbarung (Regeln), wie zwei (oder mehr) Teilnehmer miteinander kommunizieren.
\section{HTTP 0.9 (1991) - Erste Version}\label{http09}
Request: \code{GET /pdf/zur/ressource} \newline
Response: \code{<Inhalt der Ressource>} \newline
Response: \code{<Inhalt der Ressource>}
Problem: Nur Plain-Text und \acs{HTML} (erkennbar am Anfang \html{<html>}) sind erlaubt und möglich. \newline
Problem: Fehler sind nicht sicher erkennbar.
\section{HTTP 1.0 (1992)}\label{sec:http10}
Request: \code{GET /pdf/zur/ressource HTTP/1.0} \newline
Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 <statuscode> <textuelle Beschreibung des statuscodes; Reason String>}
Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 <statuscode> <textuelle Beschreibung des statuscodes; Reason String>}, danach Response-Header.
\subsection{Status Codes}\label{sec:statuscodes}\index{HTTP!Statuscode}
@ -23,7 +24,7 @@ Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 <statuscode> <textuelle
\begin{itemize}[noitemsep]
\item \textbf{\code{1xx}}: Informational Codes \newline
\hspace*{6mm} $\Rightarrow$ Zur Anzeige, dass weitere Daten folgen (Verhinderung von Time-Outs).
\hspace*{6mm} $\Rightarrow$ Zur Anzeige, dass weitere Daten folgen (Verhinderung von Timeouts).
\item \textbf{\code{2xx}}: Successful Client Requests
\begin{itemize}[noitemsep]
@ -44,8 +45,9 @@ Response: beginnt mit einer Statuszeile: \code{HTTP/1.0 <statuscode> <textuelle
\begin{itemize}[noitemsep]
\item \code{400} $\Rightarrow$ Bad Request $\Rightarrow$ Der Request war nicht korrekt.
\item \code{401} $\Rightarrow$ Authorization Required $\Rightarrow$ Eine Autorisierung ist erforderlich.
\item \code{403} $\Rightarrow$ Forbidden $\Rightarrow$ Der Webserver hat \zB keinen Zugriff (auf ein Verzeichnis). Oder man greift auf ein Verzeichnis zu, ohne eine Datei anzugeben (und es gibt keine \pfad{index.html} und das Verzeichnislisting ist deaktiviert). \enquote{Wenn ich eine solche Meldung erhalte, erhält sie jeder!}
\item \code{404} $\Rightarrow$ Not Found; Der Pfad wurde nicht gefunden
\item \code{403} $\Rightarrow$ Forbidden $\Rightarrow$ Der Webserver hat \zB keinen Zugriff (auf ein Verzeichnis). Oder man greift auf ein Verzeichnis zu, ohne eine Datei anzugeben (und es gibt keine \pfad{index.html} und das Verzeichnislisting ist deaktiviert). \newline
\enquote{Wenn ich eine solche Meldung erhalte, erhält sie jeder!}
\item \code{404} $\Rightarrow$ Not Found: Der Pfad wurde nicht gefunden
\end{itemize}
\item \textbf{\code{5xx}}: Server Error
@ -67,18 +69,18 @@ Die Statuszeile wird gefolgt von einer oder mehreren \acs{HTTP}-Header-Zeilen im
\medskip
\begin{description}[noitemsep]
\item[\acf{tlmt}] \index{Media-Type!Top Level} $\Rightarrow$ grundsätzliche Medienform (text, image, video, audio, application, [ multipart])
\item[\acf{slmt}] \index{Media-Type!Sub Level} $\Rightarrow$ Angabe der konkreten Codierung (Anwendungscodierung), \zB \code{text/html }, \code{text/plain}, \code{image/jpeg}, \code{video/mp4}, \ldots
\item[\acf{slmt}] \index{Media-Type!Sub Level} $\Rightarrow$ Angabe der konkreten Codierung (Anwendungscodierung), \zB \code{text/html}, \code{text/plain}, \code{image/jpeg}, \code{video/mp4}, \ldots
\end{description}
\medskip
\item \textbf{Achtung}: Alle \acsp{MIME-Type} sind standardisierte Werte! Dies ist standardisiert von \enquote{IANA} (Teil der \enquote{IETF} ) \newline
\item \textbf{Achtung}: Alle \acsp{MIME-Type} sind standardisierte Werte! Diese werden standardisiert von der \enquote{IANA} (Teil der \enquote{IETF} ) \newline
\textbf{Ausnahme}: \acs{slmt} beginnt mit \enquote{\code{x-}}, \zB \code{application/x-meinespezielleirgendwas}
\item Wird immer mitgegeben, außer man hat \textit{keinen} Content
(\zB bei \code{204} [siehe S.~\pageref{sec:http}])!
\end{itemize}
\item[\code{Content-Length:<Größe in Bytes>}] Größe der Antwort in Bytes
\item[\code{Content-Length: <Größe in Bytes>}] Größe der Antwort in Bytes
\begin{itemize}[noitemsep]
\item Wichtig für Anzeige von Download-Fortschrittsbalken
\item Wichtig für Caches in Browsern und Proxies
@ -96,13 +98,14 @@ Eine Leerzeile beendet die \acs{HTTP}-Header-Zeilen, danach folgt das Dokument.
\subsection{Weitere Request-Typen}\index{HTTP!Requests}
Mit HTTP 1.0 wurden weitere Request Typen eingeführt.
Mit \acs{HTTP} 1.0 wurden weitere Request Typen eingeführt.
\subsubsection{HEAD-Request}
\code{HEAD /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ liefert nur die Statuszeile und \acs{HTTP}-Headerzeile.
\code{HEAD /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ liefert nur die Statuszeile und \acs{HTTP}-Headerzeilen.
\subsubsection{POST-Request}
\code{POST /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ gefolgt von Parametern (signalisiert wie bei einer Response über \acs{HTTP}-Headerzeilen).
\code{POST /pfad/zur/ressource HTTP/1.0} \newline
$\Rightarrow$ gefolgt von Parametern (signalisiert wie bei einer Response über \acs{HTTP}-Headerzeilen).
\subsection{Was funktioniert nicht?}
@ -110,10 +113,12 @@ Mit HTTP 1.0 wurden weitere Request Typen eingeführt.
\acs{HTTP} 1.0 funktioniert gut, aber was funktioniert nicht bzw. was geht besser?
Ist es möglich, mehrere \acs{FQDN} auf eine IP-Adrese zu leiten? \newline
\hspace*{4mm} $\Rightarrow$ FQDN1 und FQDN2 zeigen beide auf \code{1.2.3.4}; per \acs{DNS} möglich und erlaubt! \newline
\hspace*{4mm} $\Rightarrow$ FQDN1 und FQDN2 zeigen beide auf \code{1.2.3.4}; per \acs{DNS} möglich und erlaubt!
\code{GET /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ Problem: Der \acs{FQDN} steht nicht im Request bei \acs{HTTP} 1.0 und wird nicht einmal für den \acs{TCP}-Verbindungsaufbau verwendet $\Rightarrow$ Der Webserver weiss nicht, welche Präsenz angefragt ist!
\code{GET /pfad/zur/ressource HTTP/1.0} $\Rightarrow$ Problem: Der \acs{FQDN} steht nicht im Request bei \acs{HTTP} 1.0 und wird nicht einmal für den \acs{TCP}-Verbindungsaufbau verwendet \newline
$\Rightarrow$ \textit{Der Webserver weiß nicht, welche Präsenz angefragt ist!}
\medskip
\begin{Achtung}
\acs{HTTP} 1.0 kann nicht erkennen, von welchem \acs{FQDN} der Request kommt! Siehe \autoref{sec:multi_präsenzen} für Möglichkeiten, dennoch verschiedene Webpräsenzen zu unterscheiden.
\end{Achtung}
@ -123,8 +128,8 @@ Pflicht-Header im Request:
\qquad \code{Host: $\underbrace{\text{www.dhbw-karlsruhe.de}}_{\text{angefragter FQDN}}$}
Jetzt gibt es persistene Verbindungen, \dash eine \acs{TCP}-Verbindung wird nacheinander für meherere Request/Response-Paare zwischen Client und Server genutzt. \newline
$\Rightarrow$ Es muss nicht jeweils eine neue Verbindung aufgebaut werden. Bereits vorher bei \acs{HTTP} 1.0 gab es ähnliches, nämlich den \enquote{Connection: Keepalive}-Header. Dieser ist nicht standard-konform und nur teilweise implementiert!
Jetzt gibt es persistente Verbindungen, \dash eine \acs{TCP}-Verbindung wird nacheinander für meherere Request/Response-Paare zwischen Client und Server genutzt. \newline
Es muss somit nicht jeweils eine neue Verbindung aufgebaut werden. Bereits vorher bei \acs{HTTP} 1.0 gab es ähnliches, nämlich den \enquote{Connection: Keepalive}-Header. Dieser ist jedoch nicht standard-konform und nur teilweise implementiert!
\begin{figure}[h]
\begin{center}
@ -171,7 +176,7 @@ Siehe Wikipedia: \url{https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#
\item per \acf{FQDN}\index{FQDN} \enquote{Rechner} oder \enquote{Domain}-Name, welche per DNS auf eine IP-Adresse umgesetzt werden (A-Record oder Alias-Eintrag), \newline
\zB \code{http://dhbw-karlsruhe.de}, \code{http://www.uni-karlsruhe.de} $\Rightarrow$ Dies gilt als professionell
\begin{enumerate}[noitemsep]
\item mehrere IP-Adressen (je eine eigene IP Adresse pro \acs{FQDN})
\item mehrere IP-Adressen (je eine eigene IP-Adresse pro \acs{FQDN})
\begin{enumerate}[noitemsep]
\item mehrere Netzwerkkarten
\begin{itemize}[noitemsep]
@ -187,5 +192,8 @@ Siehe Wikipedia: \url{https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#
\end{itemize}
\end{enumerate}
\item mehere \acs{FQDN} für eine IP-Adresse:
Unterscheidung durch \code{Host}-Header im Request (ab \acs{HTTP} Version 1.1).
\end{enumerate}
\end{enumerate}

View file

@ -18,7 +18,7 @@ Bei einer IPv4\index{IPv4} \code{a.b.c.d} mit $a,b,c,d \in {0,...,255}$ (oder an
\end{tabular}
\item Außerdem sind in jedem Teilnetz die erste und die letzte Adresse als Netzwerkadresse bzw. Broadcast-Adresse reserviert. \newline
$\Rightarrow$ ingesamt stehen deshalb weniger als 4 Mrd. Adressen zur Verfügung.
$\Rightarrow$ insgesamt stehen deshalb weniger als 4 Mrd. Adressen zur Verfügung.
\item Außerdem: IP-Adressen sind äußerst ungerecht auf der Welt verteilt:
\begin{itemize}[noitemsep]
@ -30,6 +30,7 @@ Bei einer IPv4\index{IPv4} \code{a.b.c.d} mit $a,b,c,d \in {0,...,255}$ (oder an
\item Außerdem: immer mehr Geräte der Haushalts- und Unterhaltungselektronik sind \enquote{internetfähig} (haben einen Webserver).
\end{itemize}
\bigskip
\begin{Tipp}
\textbf{Grobe Berechnung von 2er Potenzen}

View file

@ -97,7 +97,7 @@
\begin{itemize}[noitemsep]
\item Tabellen
\item (Java-)Applets
\item \uwave{Textfluss} um Grafiken (vorher waren Grafiken \enquote{inline} und der Zeilenabstand wurde vergrößert, sodass die Grafik in die Zeile passte. Alternativ konnte man noch Zeilenumbrüche verwenden)
\item \uwave{Textfluss} um Grafiken (vorher waren Grafiken \enquote{inline} und der Zeilenabstand wurde vergrößert, sodass die Grafik in die Zeile passte. Alternativ konnte man noch \mbox{Zeilenumbrüche} verwenden) % mbox gegen die komische Silbentrennung von LaTeX: Zeile-numbrüche
\end{itemize}
\item[1997] HTML 4.0
@ -142,7 +142,7 @@
\item viele syntaktische/grammatikalische Vereinfachungen sind nun erlaubt:
\begin{itemize}[noitemsep]
\item kein End-Tag (bei leeren Tags, falls der nachfolgende Tag den vorherigen Tag implizit schließt)
\item kein Start-Tag, falls der Tag bedeutet, dass vorher ein anderes Tag geöffnet werden muss (\zB \html{<title>}, bevor der \html{< head>} geöffnet wurde)
\item kein Start-Tag, falls der Tag bedeutet, dass vorher ein anderes Tag geöffnet werden muss (\zB \html{<title>}, bevor der \html{<head>} geöffnet wurde)
\item Anführungszeichen bei Attributwerten können weggelassen werden (sofern keine Trennzeichen enthalten sind, \zB \html{<p id=test>})
\item Attributwerte (bei Attributen mit Wahrheits- oder booleschen Werten) können weggelassen werden (\zB \html{<input type="text" disabled[="disabled"]>})
\end{itemize}
@ -154,7 +154,7 @@
\end{itemize}
\end{enumerate}
\begin{Hinweis}
\begin{Hinweis}[frametitle={Hinweis zur Klausur}]
In der Klausur sollten keine Vereinfachungen verwendet werden! Zu hoher Wahrscheinlichkeit wird sowieso \acs{XHTML} gefordert!
\end{Hinweis}
@ -183,7 +183,7 @@
\begin{description}
\item[\code{PUBLIC}] Es handelt sich um einen öffentlichen Standard. \newline
Alternativ gibt es noch \code{SYSTEM} oder \code{PRIVATE} für selbst definierte Grammatiken mit (oder ohne) Angabe der \acs{DTD}
Alternativ gibt es noch \code{SYSTEM} oder \code{PRIVATE} für selbst definierte Grammatiken mit (oder ohne) Angabe der \acs{DTD}.
\item[\enquote{Public-ID}] Textuelle, exakt festgelegte \enquote{Beschreibung des Standards}, \zB \code{-//W3C//DTD XHTML 1.1//EN} bei XHTML 1.1
@ -265,8 +265,8 @@
\begin{itemize}[noitemsep]
\item die Datenmenge muss dennoch komplett geladen werden
\item erhöhter Speicherplatzverbrauch im Web-Browser (Arbeitsspeicher! Es ist nicht der Cache gemeint)
\item die Qualität der Skalierung im Browser ist (meist) schlechter als bei Bildverarbeitungsprogrammen
\item erhöhter Speicherplatzverbrauch im Web-Browser (Arbeitsspeicher! Es ist nicht der Cache gemeint!)
\item die Qualität der Skalierung im Browser ist (meist) schlechter als bei Bildbearbeitungsprogrammen
\end{itemize}
@ -309,13 +309,6 @@ Die Anzahl der Spalten (und Zeilen) wird nicht vorab definiert. Eine unterschied
\label{tbl:html_tabelle_anzahl_felder}
\end{table}
\begin{figure}[h]
\centering
\includegraphics[scale=0.92]{Bilder/HTML_rowspan_colspan.png}
\caption{HTML-Tabelle mit zusammengefügten Feldern}
\label{fig:html_table_colspan_row}
\end{figure}
Statt \html{<td>} kann auch überall \html{<th>} verwendet werden, um eine Art Metadaten (Beschreibung der Tabelleninhalte) anzeigen zu lassen.
Seit \acs{HTML} 4 kann \html{<table>} zusätzlich gegliedert werden in:
@ -335,6 +328,14 @@ Optionale Attribute in \html{<td>} und \html{<th>}:
Die überdeckten \html{<td>}/\html{<th>} müssen im Quelltext gestrichen/ausgelassen werden. Ein Beispiel für die Ausgabe zeigt \autoref{fig:html_table_colspan_row} mit dem dazu gehörigen \acs{HTML}-Quelltext in \autoref{lst:table_col_row_span} auf Seite~\pageref{lst:table_col_row_span}.
\bigskip
\begin{figure}[h!]
\centering
\includegraphics[scale=0.9]{Bilder/HTML_rowspan_colspan.png}
\caption{HTML-Tabelle mit zusammengefügten Feldern}
\label{fig:html_table_colspan_row}
\end{figure}
\newpage
\begin{lstlisting}[language=HTML5,caption=Tabelle -- \code{colspan} und \code{rowspan},label=lst:table_col_row_span]
<table border="1">

View file

@ -7,7 +7,7 @@
Beispiel für URL (und damit auch für URI): \pfad{http://www.dhbw-karlsruhe.de/}
\item[\acs{URI}] Gibt Informationen, wie eine Ressource erreicht werden kann. \newline
Beispiel für URI (aber nicht für eine URL): mailto:xyz@dhbw-karlsruhe.de
Beispiel für URI (aber nicht für eine URL): \pfad{mailto:xyz@dhbw-karlsruhe.de}
\end{description}
@ -57,7 +57,7 @@ Format einer \acs{URL}:\newline
\end{Achtung}
\subsection{Relative URLs}\label{sec:relative_url}
Es können auch relative \acsp{URL} angegeben werden, die jedoch mithilfe der vollständigen \acs{URL} des enthaltenden Dokuments ebenfalls zu einer vollständigen (absoluten) URL gemacht werden! Es wird zwischen folgenden relativen URLs unterschieden:
Es können auch relative \acsp{URL} angegeben werden, die jedoch mithilfe der vollständigen \acs{URL} des enthaltenden Dokuments ebenfalls zu einer vollständigen (absoluten) \acs{URL} gemacht werden! Es wird zwischen folgenden relativen URLs unterschieden:
\begin{description}
\item[Protokoll-relative URL] beginnt mit \pfad{//...}, \pfad{host/...} (\zB HTTPS)\index{URL!Protokoll-relativ}
@ -81,7 +81,8 @@ Anwendung von vollständigen (Host-absoluten) URLs
\item Verweis auf den eigenen Server mit anderem Protokoll (HTTP $\Leftrightarrow$ HTTPS $\Leftrightarrow$ FTP)
\end{itemize}
Spezielle Verzeichnisnamen, welche speziell bei relativen URLs wichtig sind:
\newpage
Spezielle Verzeichnisnamen, welche speziell bei relativen \acsp{URL} wichtig sind:
\begin{description}[noitemsep]
\item[\pfad{..}] das übergeordnete Verzeichnis (im Falle des Wurzelverzeichnisses wiederum das Wurzelverzeichnis).

View file

@ -114,7 +114,7 @@ $\Rightarrow$ Gesamtbreite: 60mm, da padding, border-width und margin doppelt ge
Falls es keine explizite Angabe durch den Autor der Seite gibt, so wird folgendes verwendet:
\begin{itemize}[noitemsep]
\item default-Vorgabe (\code{user-agent})
\item Default-Vorgabe (\code{user-agent})
\item dynamische Anpassung (hier an den Inhalt)
\end{itemize}
@ -159,7 +159,7 @@ Die tatsächliche \enquote{Position} wird angegeben mittels \code{top}, \code{bo
\code{width}, \code{right}, \code{margin}, \code{top}, \ldots erwarten Längenangaben als Werte. Diese können sein:
\begin{itemize}[noitemsep]
\begin{itemize}
\item absolute Werte, \zB $50mm$, $3in$, $2pt$ (\enquote{Punkt der Schriftsetzer}) $\Rightarrow$ werden selten verwendet
\item relative Werte, \zB \medskip
@ -338,7 +338,7 @@ Deswegen ist folgendes besser: \css{ol \{ list-style-type: decimal; \}}
\subsubsection{Kontextselektoren}\index{Selektoren!Kontext}
\begin{tabular}{ll}
\code{ol li \{\ldots \}} & $\Rightarrow$ gilt für alle \html{<li>}-Nachfolger eines \html{<ol>} \\
\code{ol li \{\ldots \}} & $\Rightarrow$ gilt für \textit{alle} \html{<li>}-Kinder eines \html{<ol>} \\
\code{ol > li \{\ldots \}} & $\Rightarrow$ gilt für alle \textit{direkten} \html{<li>}-Kinder eines \html{<ol>} (keine Kindeskinder) \\
\code{h1 \circa{} p \{\ldots \}} & $\Rightarrow$ gilt für \html{<p>}, wenn es einen vorangegangenen Geschwisterknoten \html{<h1>} gibt. \\
\code{h1 + p \{ \ldots \}} & $\Rightarrow$ gilt für alle \html{<p>}, die einen direkten Vorgänger \html{<h1>} haben. \\
@ -358,7 +358,7 @@ Kontextselektoren sind spezifischer als Selektoren ohne Kontext!
\code{a[href\^{}="http"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, deren \code{href}-Attribut mit \enquote{http} beginnt \\
\code{a[href\^{}="http://"], a[href\^{}="https://"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf externe Seiten verlinken. \\
\code{a[href\$=".pdf"] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf eine PDF verweisen.\\
\code{a[href*="google."] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf Google verweisen (bzw. die \code{google.} enthalten.\\
\code{a[href*="google."] \{\ldots \}} & $\Rightarrow$ & gilt für alle \html{<a>}-Tags, die auf Google verweisen (bzw. die \code{google.} enthalten).\\
\end{tabular}