1. InledningDen här sidan innehöll tidigare ett resonemang kring Ajax. Det har jag flyttat till en ny sida, som du hittar här » Den här sidan bygger vidare och fördjupar det jag skrivit på de tidigare sidorna "Introduktion till Internet" och "Mer om Internet", samt sidorna om den nya webben (Web 2.0). Först berättar jag lite mer om vad Http är och går sedan in på den nya sortens dynamiska webbsidor med XMLHttpRequest. 2. HttpSom du kanske vet (om du läst mina tidigare sidor om internet) möjliggörs mycket av trafiken på nätet av olika protokoll. Det hela går att jämföra med att handla en bokhylla på postorder: Du beställer bokhyllan och den anländer intakt till rätt adress, i rätt antal och det är den modell och färg du valde. Allt detta sköter protokollet TCP/IP. Jag skrev lite om det på förra sidan. Gå dit » Det som Http-protokollet sköter om är följande: du öppnar paketet och bruksanvisningen är korrekt och på rätt språk. Du vet var du skall börja läsa och kan följa alla instruktioner i rätt ordning. Webbläsarens uppgift är sedan att sätta ihop bokhyllan, skulle man kunna säga. Http är en kortform för "HyperText Transfer Protocol". Http-protokollet arbetar "ovanför" TCP/IP på så vis att det utgör regler för för hur filer och delar av filer förhåller sig till varandra. Http talar om vad som är text, bilder och ljud. Webbläsaren använder Http för att hålla i sär de olika sakerna, som oftast ligger i olika filer. Tack vare att Http har regler för all information kan man med länkar koppla samman olika dokument med varandra. Http använder ett adresseringssystem, URL, som innebär att alla filer har en unik adress. URL står ju för "Uniform Resource Locator" och används alltså för att lokalisera filer. När du skriver in adressen till min eller någon annan sajt vet webbläsaren, tack vare Http, vilka filer som hänger ihop. Begäran skickas till servern, som tack vare Http skickar rätt filer tillbaka. Detta kan t.ex jämföras med ett annat protokoll, Ftp, som inte fungerar på samma sätt. Ftp använder också URL, men skickar enbart den fil man begär och vet inte vilka ytterligare filer som hänger samman med denna. Det traditionella sättet att använda Http har varit att klienten (webbläsaren) skickar en förfrågan med en kort textsträng till en server (via TCP/IP). Vanligtvis används port 80. Hur textsträngen ser ut kan man läsa om i W3Cs specifikation, som jag länkar till längst ner på sidan. Informationen till servern är dels hur kommunikationen skall gå till (t.ex vilken Http-version som skall användas) och dels vilken information (t.ex vilka filer) som efterfrågas. Servern svarar genom att skicka den efterfrågade informationen. Om den inte finns skickas i stället ett felmeddelande. Klienten tar därefter emot informationen och stänger förbindelsen. Vanliga typer av förfrågningar, som du känner igen från formulär i Html, är GET och POST. Alla förfrågningar är dock inte säkra så därför har man utvecklat olika tillägg. Https använder inte port 80 utan någon annan port, vilket gör det svårare att spåra trafiken. Med Https kan överföringen blott ske om man använder rätt certifikat. Detta måste installeras i webbläsaren och verifierar att överföringen kan ske på ett säkert sätt. 3. XMLHttpRequestEtt problem med Http är att varje gång man klickar på en länk så laddas hela sidan på nytt. Problemet uppstår eftersom en webbsida alltid måste skapas på nytt. Med frames undviker man delvis detta, men frames har stora nackdelar, som jag berättar om i sektionen om Html. Gå dit » Istället har man försökt hitta andra sätt att komma runt problemet. Ett sådant är Ajax, som står för "Asynchronous JavaScript And Xml". Du kan läsa mer om Ajax här » Ajax är en metod som gör det möjligt att uppdatera endast vissa delar av en webbsida, t.ex sådana som besökaren efterfrågar genom att klicka på dem. Grunden som Ajax bygger på är fortfarande Html och CSS, kompletterat med JavaScript och Xml. Man utnyttjar en DOM och dessutom använder man något som kallas XMLHttpRequest, som jag berättar mer om i nästa avsnitt. Du kan läsa mer om DOM och XML på en särskild sektion. Läs mer » XMLHttpRequest utvecklades av Microsoft för Internet Explorer 5. Det är en metod för att skicka och på olika sätt manipulera XML-baserad data till och från en webbserver. Man kan använda JavaScript, JScript, VBScript och andra språk. XMLHttpRequest standardiserades och kom i en fastslagen version utvecklad hos W3C i april 2006. heter som det gör för att skilja det från vanliga Http-förfrågningar. Bilderna nedan visar hur dessa två metoder fungerar:
En XMLHttpRequest innebär alltså fler steg, men principen är fortfarande densamma. Webbläsaren ställer en fråga via Http till webbservern och får svar i form av webbsidor. Det som är speciellt här är att man använder JavaScript till att ställa en specifik fråga som genererar XML-data. Denna omvandlas till lämpligt webbformat med hjälp av någon slags applikation, t.ex en plugin i webbläsaren. Det asynkrona innebär helt enkelt att Ajax-applikationen sköter sig själv och inte är beroende av vad webbservern skickar för svar. Kommer inget svar ligger den gamla informationen kvar. Synkron kommunikation gällde emellertid för den vanliga Http-kommunikationen. Kommer inte svar från servern visas ett felmeddelande. XMLHttpRequest är därmed en väldigt viktig del av webbutvecklingen mot Ajax och motsvarande tekniker. Med denna metod kan man skapa väldigt dynamiska sidor. Och den data som levereras kan också vara speciellt anpassad, eftersom XML är ett så fritt format. Du kan läsa mer om XML i en särskild sektion. Gå dit » 4. LänkarNedan följer ett urval av de länka jag använt mig av och som kan vara lämpliga för vidareläsning inom just detta område. Http
XMLHttpRequest |
||||||||