%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Kopfzeile
\ihead{Netzwerktechnik}
\chead{}
\ohead{http://kohnlehome.de/netz/http.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
HTTP (Hypertext Transfer Protocol)
\end{center}


\section{Kommunikation}
\begin{verbatim}
Client --- HTTP-REQUEST ----> Server
       <---HTTP-RESPONSE ----
\end{verbatim}

\section{HTTP-REQUEST}
\subsection{Request-Format}
\paragraph{Request-Line}
\begin{verbatim}
POST     /datei.php     HTTP/1.1
 |            |            |
Methode      URI     HTTP-Version
\end{verbatim}

\paragraph{Request-Header}
\begin{verbatim}
Host: kohnlehome.de
User-Agent: Mozilla...
...
\end{verbatim}

\paragraph{Request-Body}
\begin{verbatim}
var1=wert1&var2=wert2
\end{verbatim}


\subsection{Request-Methoden}
\begin{verbatim}
GET   (kein Body)
POST
PUT
...
\end{verbatim}


\section{HTTP-RESPONSE}
\subsection{Response-Format}
\paragraph{Response-Line}
\begin{verbatim}
HTTP/1.1     200 OK
 |              |
Version    Statuscode
\end{verbatim}

\paragraph{Response-Header}
\begin{verbatim}
Date: ...
Server: Apache
Content-Type: text/html
...
\end{verbatim}

\paragraph{Response-Body}
\begin{verbatim}
<html>
...
</html>
\end{verbatim}

\subsection{Response-Statuscodes}
\begin{verbatim}
200 OK
403 Forbidden
404 Not Found
500 Internal Server Error
...
\end{verbatim}


\section{HTML-Formular $\Rightarrow$ PHP}


\begin{tabular}{p{2.3cm} | p{6.5cm} | p{6.5cm}}

\begin{verbatim} 
   Client
formular.html
\end{verbatim}

&

\begin{verbatim} 
<form action="datei.php">
   <input type="text" name="var1" />
   <input type="text" name="var2" />
   <input type="submit" />
</form>
\end{verbatim} 

&

\begin{verbatim} 
<form action="datei.php" method="post">
   <input type="text" name="var1" />
   <input type="text" name="var2" />
   <input type="submit" />
</form>
\end{verbatim} 

\\ \hline\hline

\begin{verbatim} 
Request-Line
\end{verbatim}

&

\begin{verbatim}
GET /datei.php?var1=wert1&var2=wert2
\end{verbatim} 

&
\begin{verbatim}
POST /datei.php
\end{verbatim}

\\ \hline


\begin{verbatim} 
Request-Body
\end{verbatim}


&

\begin{verbatim} 
fehlt
\end{verbatim} 

&
\begin{verbatim}
var1=wert1&var2=wert2
\end{verbatim}

\\ \hline\hline

\begin{verbatim} 
 Server
datei.php
\end{verbatim}

&

\begin{verbatim}
$_GET["var1"]
 (enthält wert1)

$_GET["var2"]
 (enthält wert2)
\end{verbatim}

&
\begin{verbatim}
$_POST["var1"]
 (enthält wert1)

$_POST["var2"]
 (enthält wert2)
\end{verbatim}

\\

\end{tabular}





\end{document}

