Kapitel 13 - Webbtekniker

13.1 HTML
HTML, HyperText Markup Language, är det språk man använder när man skapar webbsidor i dagsläget. HTML härrör från SGML, men har förenklats för att vara smidigare att använda. Språket bygger på par av taggar, t.ex. <body></body>. Mellan dessa taggar skriver man texten. Taggarna har olika betydelser, och vissa taggar tar även olika inparametrar. T.ex. så tar <img> taggen src, border och några till extra parametrar (men man kan utelämnna vissa).


13.2 CSS
CSS står för Cascading Style Sheets, och brukar även kallas för enbart stylesheets (stilmallar). I dagsläget finns två versioner av CSS; CSS1 och CSS2. Stilmallar är till för att tala om hur en sida skall se ut, utan att behöva använda tabeller och <font> taggar.

Det man kan göra med stilmallar är att tala om att alla sidor skall ha blå bakgrundsfärg och använda Arial 10 punkter som teckensnitt. Man kan också tala om hur stilen skall vara för en viss tag. Om man t.ex. vill ha vit bakgrund på sidorna och Arial 18 pixels som standard, samt att alla stycken (inneslutna i <p> taggar) skall ha Verdana 14 pixels, skriver man en stilmall som ser ut så här:

BODY {
   background-color: white;
   font-famliy: Arial;
   font-size: 18px;
}
P {
   font-family: Verdana;
   font-size: 14px;
}

När man sedan skapar en sida skriver man bara:

<body>Här är lite text med vit bakgrund, Arial 18 pixels.
<p>Här är ett stycke som har Verdana 14 pixels som typsnitt.</p>
</body>

vilket då får följande utseende:

---8<---
Här är lite text med vit bakgrund, Arial 18 pixels.

Här är ett stycke som har Verdana 14 pixels som typsnitt.

---8<---

Fördelen med detta är att man kan ha hela utseendet på en webbsite i en fil, och vill man ändra utseendet ändrar man bara i CSS filen, så ändrar sig hela siten. Det minskar också ner tiden det tar att göra webbsidorna, samt att ändra dem. Ovanstående exempel utan stilmallar skulle t.ex. sett ut så här:

<body bgcolor="#ffffff"><font face="Arial" size="4"> Här är lite text med vit bakgrund, Arial 18 pixels.</font>
<p><font face="Verdana" size="2">Här är ett stycke som har Verdana 14 pixels som typsnitt.</p></font>
</body>

De browsers som stödjer CSS i dagsläger (som jag vet om) är: Microsoft Internet Explorer (version 3 har visst stöd, version 4 och 5 stödjer mer, men inte allt), Netscape Navigator 4 (fast stödjer inte allt) samt Opera 3.50 (fast inte fullt stöd här heller).

Mer info om stilmallar hittar ni på:

Eva von Pepels hemsida
CSS.nu
Index DOT CSS


13.3 DHTML
DHTML, eller Dynamic HTML som är det kompletta namnet, är ett samlingsnamn för HTML 4.0, CSS och Javascript. Med DHTML kan man t.ex. skapa lager som man kan flytta runt med Javascript, eller visa/dölja när man vill det. Det går att göra väldigt mycket med DHTML, och vissa saker är enklare och bättre att göra i DHTML än med t.ex. en applet.

Allting som har med DHTML att göra sker på klientsidan, dvs i den browser som personen surfar med. I dagsläget är Internet Explorer 4+ den enda browsern som har bra stöd för DHTML. Netscape 4+ har stöd för vissa saker, men deras implementation lämnar mycket att önska. Även Opern 3.50+ har stöd för DHTML, men de stödjer ännu mindre än vad Netscape 4 gör.

Jag har gjort ett litet exempel som visar hur DHTML kan användas, och det hittar ni på http://www.algonet.se/~matax/exempel/flyingtext/flyingtext.html. Det finns även med tillsammans med en förklaring i Eva von Pepels bok om HTML 4.0.


13.4 XML
XML, eller extensive markup language, är ett metaspråk. Detta innebär att man själv kan definera olika taggar i språket, och hur det skall presenteras. För tillfället finns ett antal olika egna uppsättningar språk baserade på XML, t.ex. MathML för matematiska formler, ett annat för kemiska formler. Det hela blir mer flexibelt än HTML, eftersomman själv kan skapa mer logiska taggar. T.ex. kan man definera en tag ADRESS, där man skall fylla i adressuppgifter om sig själv. Då kan man ha undertaggar som heter t.ex. GATUADRESS, TELFONNUMMER och NAMN.

XML är precis som HTML baserat på SGML. När man talar om XML brukar även XSL nämnas. Det är ungefär som CSS fast för XML, dvs stilmallar för XML sidor.

En bra introduktion till XML finns på http://www.xml.com/xml/pub/98/10/guide0.html.


13.5 Servlets
Servlets är egentligen CGI skript skrivna i Java, och som körs av webbservern. En fördel med servlets är att det är lätt att programmera i Java, och Java har stöd för många saker redan från början. T.ex. har JDK 1.2 (Java 2) stöd för generering av JPEG bilder. Det går alltså att låta en servlet skapa en bild som den skickar tillbaka on-the-fly. Detta kan vara bra om man t.ex. vill generera diagram som skall visas på en webbsida. Då skickar man bara in diagramdata till servleten, och den skickar tillbaka det färdiga diagrammet som en JPEG bild.


13.6 ASP
ASP, Active Server Pages, är ett sätt att skapa dynamiska webbsidor på WWW servern. Det går att skriva sidorna med VBScript eller Javascript, och dessa parsas sedan av webbservern innan sidorna skickas tillbaka till klienten. Något som är väldigt användbart är att koppla en databas till webbservern, och låta ASP sidorna hämta information från databasen och skapa sidor utifrån det.

Andra saker som man kan göra är att t.ex. att ta reda på vilken webbrowser som man använder, och baserat på det kanske visa en speciell sida, eller en sida med vissa saker bortplockade.

ASP går att köra i Microsofts webbserver, Internet Information Server (eller Personal Web Server om man kör Win9x eller Windows NT workstation), eller med en plugin till Apache, t.ex. ChiliASP.


13.7 PHP
PHP är i stort sett samma sak som ASP, men språket liknar mer C. PHP är helt fritt och finns som plugin till Apache.


13.8 ColdFusion
Även detta är ett serverskriptspråk liknande ASP och PHP. Jag har inte tittat något på det ännu, så jag kan inte beskriva det djupare. ColdFusions är framtaget av Allaire, som även gjort HomeSite. Mer info kommer när jag titta på det lite mer.


13.9 Javascript
Javascript togs fram av Netscape för att kunna skriva skript som kördes på klientsidan (dvs i browsern). Sedan dess har mycket hänt, och man kan nu skriva ASP sidor i ett språk som liknar JavaScript. JavaScript har inget med Java att göra, namnet till trots. Språket liknar C/C++, och är objektorienterat. Det kan användas t.ex. för att kontrollera ett formulär som man fyllt i innan man skickar det, eller göra olika effekter på sina sidor. Internet Explorer, Netscape och Opera är några av de browsers som har stöd för JavaScript på klientsidan. För mer info, se avsnittet om JavaScript i FAQ:en.


13.10 VBScript
VBScript är en förkortning för Visual Basic Script, och är precis som JavaScript ett skriptspråk. VBScript på klientsidan kan bara köras i Internet Explorer. Språket används oftast i ASP sidor på serversidan.


13.11 Applets
Applets är små program, skrivna i Java, som körs i webbrowsern. Språket är plattformsoberoende, vilket innebär att de kan köras på alla plattformar utan att behöva kompileras om. Applets blir en egen liten ruta på webbsida, och kan göra en massa roliga saker. T.ex. kan man skriva spel i Java och köra dem som applets. Applets körs i en egen sandlåda (den s.k. säkerhetsmodellen), och har inte rättigheter att göra allt för mycket på klientdatorn. Detta gör det säkert mot angrepp (t.ex. virus eller trojanska hästar). För mer info, se avsnittet om Java i FAQ:en.


13.12 ActiveX
ActiveX är en sak som Microsoft uppfann efter att Java slagit igenom. ActiveX är inte plattformsoberoende, och ActiveX på klientsidan kan bara köras i Internet Explorer. De fungerar ungefär som applets, med den skillanden att det är en körbar fil som kan göra i stort vad som helst på klientdatorn (det har bl.a. funnits virus och trojanska hästar som spridits denna väg). Microsofts lösning på problemet var att sätta certifikat på ActiveX komponenterna, men det talar bara om vem som gjort den. Det kan vara ett virus för det. Låt er inte förskräckas över detta. Det är givetvis en liten del som är virus, men jag vill ändå varna folk för att vara försiktiga när sidor innehåller ActiveX komponenter. Kör bara dem om du litar på siten i fråga.

Det finns även ActiveX komponenter för serversidan, som då körs där, och gör olika saker. Bl.a används ActiveX (COM) objekt i ASP sidor för att skicka mail.


13.13 WAP
WAP, Wireless Application Protocol, är ett protokoll för att binda samman mobiltelefoner med Internet (för att uttrycka det enkelt). Tekniken är väldigt ny, men bl.a. Expressen använder det för att låta folk med t.ex. en PalmPilot läsa nyheter från deras site. Mer info om WAP kan du hitta på t.ex. http://www.wapforum.org.


13.14 Pushteknik
Pushteknik är ett sätt att skicka ut information till en klient automatiskt, ungefär som en prenumeration, eller när man hämta news från någon newsgroup. Tekniken går ut på att man prenumerar på ett antal kanaler, och när man kopplar upp sig skickas allt nytt i de kanalerna till en.

Givetvis använder inte Netscape och Internet Explorer samma teknik för att realisera pushtekniken, vilket leder till att man får ha två olika varianter av pushteknik om man vill stödja båda webbläsarna.

Netscape använder Marimba's Castanet, och Internet Explorer använder PointCast.


13.15 CGI skript
CGI, Common Gateway Interface, och CGI skript är skript som körs på webbservern och kan användas till mycket. Några vanliga användningsområden är skript för att skicka mail eller uppdatera en gästbok. CGI skript kan skrivas i många olika språk. Vanligast är dock Perl.