Hur fungerar en webbsida?

2010-10-14

    Det går så klart inte att svara på hur alla webbsidor fungerar, men i stora drag hamnar sidorna på din skärm på nästan samma sätt oavsett vilken webbsida du besöker.

    Eftersom jag vill introducera en massa koncept för den som inte har koll på detta får ni jättegärna ställa frågor med kommentarsfunktionen längst ner på sidan. Ange om ni vill vara anonyma så publicerar jag inte er kommentar. (Men ska självfallet försöka svara på frågan.)

    För att se en webbsida använder man ett program som kallas webbläsare, eller browser på engelska. Det finns flera olika webbläsare, men om du har en Windows-dator finns i princip alltid Internet Explorer installerat.

    Om man av någon anledning inte vill använda Internet Explorer finns det flera alternativ. De tre vanligaste är nog: Chrome, Firefox och Opera.

    Att ta reda på hur internet fungerar överlåter jag som extrauppgift till dig som läser. Låt oss bara anta att datorer kan hitta och ‘prata’ med varandra och strunta i hur det går till just nu. Jag har skrivit om webbhotell och domännamn tidigare, det kan vara bra information att ha i bakhuvudet.

    Så säg till exempel att du vill läsa min blogg. Då skriver du idstam.se/blogg i webbläsarens adressfält. Då kommer din dator leta reda på den dator på internet som heter idstam.se och fråga om den har något som heter blogg. Idstam.se blir i det här exemplet en webbserver.

    blogg är en katalog (mapp) så egentligen borde du se en lista med filer, men jag har talat om för min webbserver att visa ett dokument som heter index.php när någon ber om innehållet i en katalog. Jag återkommer till php strax, men först lite webbhistoria:

    Från början visade webbservrar bara statiska dokument som kunde ha länkar i sig till andra statiska dokument. Alla dessa dokument som publiceras på nätet skrivs med något som heter HTML Det är HTML som talar om för din webbläsare både vilken text som ska synas på skärmen och hur det ska se ut.

    Ganska snart kom folk på att man kan skriva små program som känner av vad användarna ber om för dokument och låta datorn skriva dokumentet. På så sätt kan de till exempel fylla i dagens datum innan dokumentet skickas till webbläsaren, eller så kan man göra en sida som alltid visar dagens schema utan att behöva skapa ett nytt dokument varje dag.

    Dessa program kallas CGI-program eller CGI-script. Från början var man tvungen att skriva dessa små program i ganska komplicerade programmeringsspråk, men med tiden har det utvecklats lättare och lättare sätt att generera webbsidor dynamiskt.

    En viktig, men kanske inte uppenbar, sak att notera är att din webbläsare inte har en aning om huruvida det är ett CGI-script eller en statisk html-sida som ska visas. Oftast låter man filnamnen på statiska sidor sluta med .htm eller .html, men det är ingen regel. Din webbläsare får html från webbservern och ser ingen skillnad på statisk eller dynamisk html. När den väl hamnar hos dig är den in princip statisk.

    Tillbaka till min index.php: När min webbserver ser att den ska visa ett dokument vars namn slutar med php kommer den inte att skicka det dokumentet direkt till din webbläsare, utan låta PHP ta hand om dokumentet. PHP är ett programmeringsspråk som utvecklats för att göra det lättare att skriva CGI-script. Det finns många olika förenklingar av CGI. De vanligaste är förmodligen PHP, ASP, Ruby och ASP.NET.

    För att använda något av dessa programmeringsspråk måste de finnas på din webbserver. Om du har skaffat ett konto hos ett webbhotell finns nästan alltid PHP, men kontrollera för säkerhets skull.

    Det finns hur mycket information som helst på internet om alla nämnda programmeringsspråk så om du vill hålla på med sådan är det bara att använda din favoritsökmotor på internet.

    När PHP läser mitt index.php-dokument kommer det att läsa den kod som är skriven där och tillverka html utifrån de instruktionerna. När PHP är klar med index.php kommer den ‘ge’ en massa html till webbservern som i sin tur skickar vidare html-dokumentet till din webbläsare.

    För att få till de dynamiska webbsidor som man ser på det flesta ställen nu för tiden saknas det två stora delar i den här beskrivningen. Den första är databaser som jag skrivit en del om tidigare och den andra är javascript som jag inte skrivit särskilt mycket om förut. Det kommer snart mer om detta i artiklar i blogg nära dig.

    Frågor och kommentarer mottages tacksamt.