User Tools

Site Tools


linuxbog.old:web:wap-apache
Linux - Friheden til egen webserver: Version 2.5.20040516 - 2020-12-31
forrige Kapitel 1. Webserver næste

1.6. Apache som WAP-server

Det seneste år er WAP-telefoner ved at blive en udbredt standard for at hente mobile internet-sider. Siderne er ikke formatteret i HTML, men i WML ( Wireless Markup Language ), som er en XML-variant.

I al sin enkelthed er WAP set fra serverens side blot et nyt filformat; WML. Det der skal tilføjes på din hjemmeside for at understøtte WAP, er så kun de samme data i WML, og så formateret i et format så de kan ses på en meget lille skærm.

Det er snyde nemt af få en Apache webserver til at fungere som en WAP-server. Det kræver basalt set kun at webserveren kan fortolke at filer der ender på.wmlsendes somContent-type: test/vnd.wap.wml. Samtidig skal du måske også have.wbmp-billeder med over, så derfor skal du tilføje disse to linjer til/etc/http/conf/httpd.conf:

# For de almindelige WML-sider
AddType text/vnd.wap.wml     .wml
# For WML indlejret grafik
AddType image/vnd.wap.wbmp   .wbmp

Nu skal du bare genstarte Apache, og du har en WAP-server. Lad os lige tage to eksempler.

Eksempel 1-1. Det første WAP-eksempel

Det enkleste eksempel på en WAP-side er nok denne

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
 <card id='home'>
  <p>
Her kommer teksten på min første WAP-side
  </p>
 </card>
</wml>

Det vigtigste, der skal bemærkes sammenlignet med HTML, er at næsten alle tags skal afsluttes, dvs. <p> skal efterfølges af </p>. Dog skal et billede ikke afsluttet, som det kan ses i næste eksempel

Eksempel 1-2. Et WAP-eksempel med et billede

<img> skal anvendes med / til sidst og alt-tag skal med.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"  "http://www.wapforum.org/DTD/wml_1.1.xml">
 
<wml>
  <card id="demo" title="Peters søn">
    <p>
    Her er min søde søn Frederik
    <img src="F2.wbmp" alt="Frederik"/>
    </p>
  </card>
</wml>

WML er en ret stor standard, som man kan læse mere på på[http://www.wap.com|http://www.wap.com]eller[http://www.wapforum.com|http://www.wapforum.com]. Du kan på[http://www.anywhereyougo.com/ayg/ayg/Content.po?name=wap/Wmlidx|http://www.anywhereyougo.com/ayg/ayg/Content.po?name=wap/Wmlidx]få mere hjælp om de enkelte tags. Har du ingen WAP-telefon kan du med fordel bruge[http://gelon.net/|http://gelon.net]som har en Java-baseret WAP-simulator der er velegnet til test.

Er du interesseret i en kom-i-gang-guide, så prøv at læse[http://www.zend.com/zend/tut/wap.php|http://www.zend.com/zend/tut/wap.php]

I det følgende går vi dog lidt længere, idet vi viser hvordan man også får PHP-understøttelse til WAP. Vi antager at du har installeret Apache og PHP4.

Når et PHP-program starter med at sende data tilbage til modtageren, sender PHP først noget et HTTP-hoved . Hovedet indeholder dato, serverudgave og meget andet, men især hvilken type data der vil blive sendt. Hvis intet er anført i hovedet sendes Content-type: text/html , og dette kan ændres med en enkelt kommando: Content-type: text/vnd.wap.wml . Herunder er eksemplet fra før hvor filen heddertest.phpi stedet fortest.wml, hvorefter Apache vil overgive kontrollen med filen til PHP.

**<?php
   // Filnavn: test.php
   header("Content-type: text/vnd.wap.wml");
?>** <?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"  "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
 <card id='home'>
  <p>
  Dato idag er **<?php echo date("Y-m-d"); ?>** </p>
 </card>
</wml>

I Perl skrives HTTP-hovedet i starten og efterfølges af to '\n'. Dette eksempel skal placeres i/cgi-bin/-kataloget.

#!/usr/bin/perl -w
# Filnavn: test.pl
 
# Bemærk to gange '\n' som afslutter HTTP-hovedet **print "Content-type: text/vnd.wap.wml\n\n";** print "<?xml version=\"1.0\"?>\n";
print "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\"";
print "  \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n";
print "<wml>\n";
print "  <card id='home'>\n";
print "  <p>\n";
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
    = localtime(time);
my $today=sprintf("%04d-%02d-%02d",$year+1900,$mon+1,$mday); **print "  Dato idag er $today\n";** print "  </p>\n";
print "  </card>\n";
print "</wml>\n";

SSLUG har eksempelvis siden november 1999 vist sin kalender i WAP/PHP-format. Kildeteksten findes på[http://www.sslug.dk/adict/wap.phps|http://www.sslug.dk/adict/wap.phps]og kan ses med en almindelig browser. Resultatet af programmet findes på[http://www.sslug.dk/adict/wap.php|http://www.sslug.dk/adict/wap.php], hvor du så skal bede browseren om at gemme indholdet på din disk hvis du prøver med din browser. Alternativt kan[http://gelon.net/|http://gelon.net]bruges til at se WAP-kalenderen.


forrige hjem næste
Apache-udvidelser op Læs mere om Apache
linuxbog.old/web/wap-apache.txt · Last modified: by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

Brug af AI : Al tekst kán være uddrag af AI genereret tekst og kan være fejlbehæftet.
AI kan lave fejl og det kan mennesker også, men al tekst er gennemgået af et menneske for fejl, og personlig bias kan være tilføjet.