Lesson 1

Introduktion

4

Första kapitlet är, som det heter, en introduktion, med lite grundläggande historia om internet, vad det är, och hur det uppkom. I nästa börjar vi koda direkt!

Internet

Google Chrome, Safari, Firefox, Opera, Internet Explorer och Netscape Navigator är alla webbläsare (eng. browsers). De läser webben, engelska för "nätet". "Inter" är en latinsk preposition för "bland" och "mellan". Internet betyder alltså "mellan nät", och syftar på anslutningar mellan nätverk av datorer. Så när du är uppkopplad till internet, så kan du alltså i princip nå ut till alla andra datorer och mobiler som också är det, och de kan nå dig.


Rättare sagt, de kan ringa din dator, och dess telefonnummer kallas IP-nummer (Internet Protocol). Men IP-numret är olika i de olika delnätverken. På en skola till exempel, så kopplar du upp dig till en router som fördelar internettillgången till alla datorer inom dess räckvidd (första delnätverket). Den ger dig även ett nytt IP-nummer, som den använder för att kommunicera med dig. Alla skolans routrar (vanligtvis en i varje rum) är sedan kopplade till en så kallad switch som fördelar signalen som den får, vidare till alla dessa routrar. Signalen får den från en ISP (Internet Service Provider), som Telia, AT&T, Verizon och Telenor för att nämna några. ISP:n har sedan ett eget IP-nummer på switchen (andra delnätverket), och alla ISP:arna är ihopkopplade i ännu ett nätverk. Det finns till och med gigantiska fiberkablar över Atlanten mellan Europa och USA, så att en dator i Sverige ska kunna kommunicera med en på andra sidan jorden.


Visualisering av en del av internet år 2005 av The Opte Project, opte.org. Linjerna är mellan två IP-nummer som har haft kontakt, och längden på dem är tiden det tog för signalen att komma fram.


Information Interchange

Kommunikationen mellan alla dessa datorer består av information kodad i bas två; ettor och nollor i form av till exempel ström på/av i kopparkablar, eller ljus på/av i fiberkablar.


En etta eller nolla kallar man för en bit. \partial tta bitar kallar man för en byte. Om du inte känner till olika talsystem så rekommenderar jag att du läser på om det, men kortfattat kan man säga att 10 i bas två är lika med 21=22^1=2 i bas tio, 100 i bas två är 22=42^2=4 i bas tio, och att 101 i bas två är 22+20=4+1=52^2+2^0=4+1=5 i bas tio. Därmed är det största värdet en byte kan ha 11111111 i bas två, vilket är... 27+26+25+24+23+22+21+202^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0 =128+64+32+16+8+4+2+1=128+64+32+16+8+4+2+1 =255=255 i bas tio.


Men för att det här ska kunna bli text så kom amerikanerna överens om ASCII, American Standard Code for Information Interchange. Vilket helt enkelt är en tabell som säger vad varje tal ska motsvara för tecken!


En ASCII tabell som följde med en skrivare år 1972. Först kommer en mängd kontrollkoder, som de för att göra en ny rad, flytta markören, pipa, eller ta bort ett tecken. Koden för mellanslag är 32, sedan följer tecken, siffror (0 är 48, 2^5+2^4), tecken, versaler (A är 65, 2^6+1), mer tecken, gemener (a är 193, 2^6+2^5+1), fler tecken, och sist, DEL, på position 1111111. 


Som du märker så består tabellen av 272^7 = 128 celler, och inte 256, vilket har den simpla anledningen att man bara använde 7 bitar för varje tecken när man skapade ASCII. Dessutom finns inte å, ä och ö med!!! Nu har vi gått över till en annan tabell, teckenuppsättning: Unicode. Teckenkodningen, mellanhanden mellan ettor & nollorna och teckenuppsättningen, har också bytts till UTF-8, vilket du kommer få höra mer om senare. Denna kan variera antalet bytes (ett till fyra stycken) som representerar ett tecken, vilket gör att UTF-8 kan representera alla tecken i Unicode, vilket inte är 128, utan över en miljon stycken! Där får både å, ä, ö, och en inte allt för liten mängd tecken till plats... ??ven emoji!!

The World Wide Web

Denna information som skickades var i början endast text. Epost helt enkelt. Men snart började man vilja dela artiklar. Vilket var svårare.


Detta löste Tim Berners-Lee i början av 1990-talet. Han införde begreppet och idéen om The World Wide Web, www eller w3. Idéen var filer och dokument på internet som var sammanlänkande med länkar och URL:er, vilka visades med en webläsare. Innan fanns det ingen standardiserad koppling mellan alla dessa dokument som fanns, endast en mängd IP-nummer.


Han var även med och införde HTTP, Hyper Text Transmit Protocol. En överenskommelse om hur "hyper-text" ska överföras. I princip gick det ut på att man skulle skicka texten "GET /mapp/minfil.txt HTTP/1.1" till ett IP-nummer om man ville ha filen med namnet "minfil.txt" i mappen "mapp". Då borde man få tillbaka koden 200, följt av filens innehåll, eller till exempel koden 404 om filen inte kunde hittas.


Tim Berners-Lee


Men man var fortfarande tvungen att veta ett IP-nummer på fyra bytes utantill till någon dator och fil man skulle till först, innan man sedan kunde klicka sig vidare med länkarna.


Detta löstes i början med en hostfil. Helt enkelt en fil med rader av ett IP-nummer följt av vad man ville kalla sidan som IP-numret ledde till, så man kunde skriva in det namnet istället för hela IP-numret. Men denna fil lagrades ju bara på ens egen dator, och därför var man själv tvungen att uppdatera den hela tiden. Faktiskt, det finns fortfarande en hostfil på din dator. Om du söker på internet kan du få en guide om hur man kan göra så att om man försöker gå till youtube.com, så kommer man istället till ludu.co!!


Vet inte hur praktiskt just det är, men något som verkligen är det är DNS: Domain Name System. Istället för att man själv tar hand om sin hostfil direkt, så kan man kolla upp vad en URL (Uniform Resource Locator, aka. webbadress som http://ludu.co/user/LeonardPauli) 's domän namn har för IP-numer på en större Domain Name Server som någon annan har koll på. Så nu kan man köpa ett domännamn för cirka 100 kr per år för att få det länkat till ens dators IP-nummer, så att man kan skriva in namnet istället för IP-numret.


Men kommer du ihåg att ens IP-nummer byttes ut lite då och då, och var olika i olika delnärverk? Detta gör ju att DNS inte borde fungera så bra..? Anledningen till att det ändå gör det är att man kan skaffa fasta IP-nummer från sin ISP, som inte byts ut, och att servrarna uppdaterar sig då och då för att även fungera för nummer som byts.


Man bör även tillägga att man brukar kalla en dator, vars huvuduppgift är att köra en programvara för att tillhandahålla filer och tjänster på internet, för en server, när servern egentligen är denna programvara.

Vad är då hemsidor?

Nu börjar det närma sig!!


Kort svar: Filer bestående av mystisk "hyper-text"


Förvirrande svar: Det korta svaret gäller inte längre.


Förklarande svar: Hyper-text syftade på text som var mer en bara vanlig text. Under the World Wide Web's begynnelse använde man så kallade HTML dokument, en förkortning för Hyper Text Markup Language. Ett språk för att märka upp, markera, denna speciella text. Man markerade texten med så kallade taggar, (eng. tags) och i början fanns det endast några få taggar. Några för att markera rubriker och göra listor. Taggar för paragrafer, fet/bold och kursiv/italic text, och den viktigaste av allt, taggen för att göra länkar, vilket i princip var hela grunden för www.


En del av Google.com's källkod (HTML-kod). Testa att högerklicka någonstans på en hemsida och välj "Visa källkod" ("View source code")!


All denna text med sina taggar kunde sedan läsas av en webläsare, som omformaterade texten så att den text som skulle vara rubriker blev större, och så att den text som hade länk-taggar omkring sig blev klickbar.


Nu har det utvecklats, och det går bara snabbare och snabbare. I dag kan man till och med göra avancerade 3D-spel som kan köras direkt i webläsaren. För bara tjugo år sedan kunde man inte göra särskilt mycket mer en de enklaste text dokument, och för bara tio år sedan kunde man fortfarande inte göra särskilt mycket mer, om än så hade lite mer avancerade tekniker börjat införas.


Nu kan en hemsida vara nästan vad som helst, men i grund och botten är det fortfarande ett HTML dokument. Dock så har det tillkommit tre basala extensioner. Den första är av HTML direkt, med fler taggar och funktioner, som bilder och formulär. Men den andra är CSS, Cascading Style Sheets, vilket är ett nytt sorts "språk" som möjliggör helt nya utseender och stilar, där man kan använda färger, specificera storlekar och positionera HTML-elementen som bildas av taggarna. Den tredje är JavaScript, vilket är det egentliga programmeringsspråket som kan få saker att röra på sig och hända.

Denna kurs.

I denna kurs kommer vi alltså arbeta mycket med dessa tre "språk", HTML för strukturen, CSS för stilen, och JavaScript för interaktiviteten och händelserna, vilka alla tre skrivs med ren text och går att skriva i vilken texteditor som helst, i princip, men vi kommer att använda oss av lite roligare program som ger orden färg och som har otroligt kraftfulla funktioner som kan göra kodskrivandet mycket mer effektivt och ge mer tid över till den kreativa biten, för att snabbare få dina idéer att bli verklighet!


Senare under kursen kommer vi även gå in på PHP och MySQL, så att du kan göra din egen bloggplattform, twitter eller facebook från grunden. MySQL är ett databassystem, där man kan spara och hämta data. PHP är ett språk som man kan använda för att spara data i den, för att sedan bygga om HTML sidorna med hjälp av datan.


Vi kommer alltså gå igenom från grunden hur man gör relativt avancerande hemsidor i framtidens standard, som kan hantera och spara data, och sedan avsluta med att visa det sista steget; Hur man till sist släpper den lös på internet och låter den få sitt eget liv.

Exercise

Comments

icon

Be the first to comment!