WAP-Grundlagen

Binäres WAP-Format

WAP verwendet ein Gateway, über das WAP-Client und Webserver, auf dem die Inhalte abgelegt sind, kommunizieren. Das WAP-Gateway übernimmt dabei eine zentrale Aufgabe: Es wandelt binäre Informationen wie beispielsweise einen Request, der vom WAP-Handy kommt, in webbasierte Kommandos um. Diese werden dann vom Gateway an den Webserver übermittelt. Der Webserver beantwortet die Requests wie gewohnt mit einer Response, leitet seine Antwort an das Gateway, wo sie wieder in das Binärformat konvertiert und an den Client übermittelt wird. Webserver und Gateway tauschen WML-Dokumente aus.

Der Kodiermechanismus filtert dabei aus WML-Dokumenten nicht benötigte Informationen wie Meta-Daten inklusive DTD und konditionalen Abschnitte heraus. Der Kodiermechanismus verwendet eine Kodiertabelle, die WML-Tags eine hexadezimale Zeichenfolge zuweist. So wird beispielsweise das BR-Tag durch den Code 05 ersetzt.

Anhand eines Beispiels wird deutlich, wie Quelle und kodiertes Dokument sich unterscheiden. Das folgende WML-Deck enthält typische Elemente:

<?xml version="1.0"?>
<!DOCTYPE XYZ [
<!ELEMENT XYZ (CARD)+>
<!ELEMENT CARD (#PCDATA | BR)*>
<!ELEMENT BR EMPTY>
<!ENTITY nbsp " ">
]>
<XYZ>
<CARD>
X &amp; Y<BR/>
X&nbsp;=&nbsp;1
</CARD>
</XYZ>

Nach der Konvertierung durch den Encoder ergibt sich folgendes Format in Hexadezimaldarstellung:

02 01 03 00 47 46 03 ' ' 'X' ' ' '&' ' ' 'Y' 00 05 03 ' '
'X'00 02 81 20 03 '='00 02 81 20 03 '1' ' ' 00 01 01

Probleme tauchen auf in der Praxis - wenn auch relativ selten - durch unterschiedliche Implementierungen der Kodiermechanismen. Im schlimmsten Fall sind Inhalte für den End-User unbrauchbar.