[Powered by Google Translate] [Week 7, vervolg]
[David J. Malan, Harvard Universiteit]
[Hierdie is CS50.] [CS50.TV]
Alles reg. Welkom terug. Dit is CS50,
en dit is die einde van die week 7.
So een van hierdie stupid klein dingetjies wat gaan oor die Internet
en ons slurp, en dit behoort nou 'n bietjie van geeky sin vir jou maak.
Wel, dit was snaakser aan hierdie man as wat dit was vir julle ouens.
Praat van, wel, ouens,
vandag is Nate se verjaarsdag.
Gee jou 'n gevoel van hoe goed Nate en ek is
op die web-ontwikkeling wat gebaseer is op Maandag se klas en wat gebaseer is nou op hierdie,
Ek het gedink ek wil trek Nate se tuisblad, indien jy dit nog nie gesien het nie.
Dit is hier ia Nate se HTML.
So sien sy bronkode as jy wil om te sien hoe om dit te doen, en Nate,
as ons kan jy net kortliks embarass, die personeel het jy 'n bietjie iets
as jy wil 'n nagereg te deel met 'n paar van die kinders in die klas hier.
As jy wil om op neer te kom.
Julle almal verwelkom en is baie mooi, maar niemand sit oral naby Nate,
vir een of ander rede, in die rug sone.
So miskien kan jy sommige mense vind dit te geniet met.
Happy Birthday, Nate.
>> Bykomende hellos: Ons het 'n paar clips van ons CS50x studente.
As jy wil om te sien wie anders is dit in die wêreld
wat die volgende saam, kan jou kop na hierdie URL,
waar Josef, een van ons TFS, het saam 'n montage van spesies
van almal wat die indiening van hierdie video's, onder hulle Rick Astley.
En as jy blaai deur middel van hierdie, dit is regtig baie inspirerende
die diversiteit van die lande en stede waaruit mense afkomstig te sien.
So as jy wil 'n blik op te neem, sal deur middel van die einde van die semester.
Vandag is ons voortgaan om ons blik op die web, web ontwikkeling, HTML en dies meer,
en ons het ook middagete kom hierdie Vrydag
as jy wil, en in die besonder, nog nie gedoen het voor.
Hierdie Vrydag se tema sal Nate se verjaarsdag,
so as jy wil verjaarsdag middagete te hê met Nate
en die ander, sommige van ons vriende uit die industrie,
asseblief kop tot dat die URL daar.
Ruimte, soos altyd, is beperk. Ook, as jy vergeet het,
besef dat volgende week is die sperdatum vir die probleem gestel 4 aasdier jag,
waardeur ná al van daardie JPEG card.raw,
jy en jou artikel maats, as jy wil, kan probeer om te fotografeer
soveel van die rekenaar wetenskaplikes van daardie geheue kaart as moontlik,
en jy en jou artikel sal dan 'n fantastiese prys te wen.
Verwys terug na pset 4 se spesifikasie as wat om te dien en wanneer.
Ook, as jy graag wil hê jou handewerk verewig
op die kursus se webwerf en sy geskiedenis van klere,
weet dat jy nou is welkom om te begin met die indiening van ontwerpe
vir hierdie jaar se T-hemde en sweetpakke en dies meer.
Ons sal ons bes doen om so veel as wat ons kan te sluit,
maar ons sal 'n paar lede van die personeel oorsig van die ontwerpe
om seker te maak hulle is in ooreenstemming met die spesifikasies,
en ons dan oor die algemeen kies 'n handjievol van hulle uitgestal word.
So as jy die ontwerp tipe, weet net dat die vereistes
graphics is PNG, minstens 200 dpi,
hulle moet nie meer as 4000 x 4000 pixels,
en nie meer as 10 MB, maar jy is welkom om dinge te gebruik soos
Photoshop of GIMP of verskillende grafiese programme,
alles wat jy het tot jou beskikking.
>> Ook op die horison is die finale projek. Die finale projek is werklik die hoogtepunt van 50,
waardeur van al die opdragte in die kursus,
dit is jou geleentheid regtig om jou eie ding te doen.
En dit kan net wees om iets te doen vir die pret,
dit kan wees om 'n paar dringende probleem op te los jou studentegroep het,
vir 'n paar nuwe webwerf, 'n paar nuwe versameling meganisme vir die data.
Dit kan 'n mobiele aansoek vir Android, vir IOS.
Regtig, die hemel is die limiet, en oor die volgende paar weke,
as ons oorgang vanaf C na hierdie hoër vlak tale soos PHP en JavaScript,
jy vind jouself al hoe meer vertroud met 'n paar werklike wêreld tegnieke,
Sommige werklike wêreld gereedskap, en vul dat
weet dat die kursus het 'n geskiedenis van seminare,
waardeur oor die volgende paar weke, 'n paar van die doserende personeel
en vriende van ons op die kampus sal bied opsionele seminare
wat bo en behalwe wat tipies in artikel gedoen gaan
om u bekend te stel aan dinge soos Android programmering,
om u bekend te stel aan dinge soos IOS programmering
of meer gevorderde web-ontwikkeling tegnieke.
Daar is 'n hele geskiedenis van hierdie reeds aanlyn is.
As jy na cs50.net/seminars, het ons om dit te doen vir 'n paar jaar,
en jy sal sien dat hier die argief met PDF-lêers en video's en dies meer
is 'n paar dosyn video's van seminare.
Verlede jaar, byvoorbeeld, ons het 'n seminaar oor die acing van jou tegniese onderhoude,
As jy op soek om te gaan uit en doen 'n internskap of voltydse gig.
Windows Mobile-ontwikkeling, Android ontwikkeling, Google Maps,
API, CSS, ontwikkel vir die BlackBerry, Emacs.
Regtig, is jy welkom om te neem 'n blik op enige van hierdie seminare op jou gemak.
En ons sal hou n paar nuwes hierdie semester, as well.
>> So, wat is voor met die finale projek?
Wel, die eerste, hoewel hierdie datum nie is ietwat dreigende,
Hierdie is eintlik net 'n geleentheid om denke oor die finale projek te baie realisties begin.
Ons weet net die begin van 'n paar van wat ons sal steeds wees wat in die kursus,
HTML, PHP en dies meer, maar jy vertroud is met die web,
en ek vooroordeel net omdat hierdie gesprek na die Web
die meeste mense beland Web-gebaseerde finale projekte te doen,
maar dit is geensins vereiste.
Die gebruik van C is fyn, objektiewe C, Java,
enige ander taal wat jy dalk weet of wil weet is baie fyn.
Maar die sappe vloei aanvanklik te kry, sal ons verwag dat die indiening van 'n preproposal
wat, volgens die PDF op die webwerf, wat is nou op cs50.net
en in die boonste linkerkantste jy sal sien finale projek
is die spesifikasie vir die finale projek,
en daar is besonderhede oor die preproposal en die wil.
Dit pretty much kom neer op 'n e-pos aan jou onderrig mede
net om te staak 'n gesprek met hom of haar oor wat jy dink.
Op projects.cs50.net is 'n bewaarplek van die idees van die mense op die kampus
as jy sukkel om te kom met 'n idee,
en manual.cs50.net/APIs is 'n bewaarplek van skakels na API's.
>> Wat is, is 'n API?
Wat is 'n API? Ek het gesê dit ten minste twee keer,
volgens die transkripsies van die afgelope paar weke.
Wat is dit? [Student, onverstaanbaar]
>> Goed. So iets programming interface.
Application Programming Interface, en dit kan verskeie vorms aanneem,
maar wat dit werklik kom neer op is die kode
dat iemand anders hs geskrewe of data wat iemand anders versamel
wat aan u beskikbaar gestel word in sommige programmatiese manier.
Jy kan skryf kode in C, PHP, Python, Ruby,
ongeag die taal van jou keuse is tipies,
en jy kan op een of ander manier bou op iemand anders se funksionaliteit
of iemand anders se datastel.
Byvoorbeeld, as ek gaan na hierdie skakel hier,
en jy sal sien 'n paar van die skakels op die daaropvolgende bladsy
waardeur ons CS50 se eie API's, wat baie Harvard-sentriese, en dan 'n derde-party API's.
Onder die derde-party API's is werklik nuttige dinge
soos om kan SMS aan mense te stuur,
in staat is om sms-boodskappe te ontvang van mense.
En sulke dinge wat jy dalk nie 'n idee hoe om jouself te implementeer,
maar te danke aan dienste, gratis en 'n paar kommersiële,
jy kan bou bo-op hierdie en doen iets van belang vir jou.
Onder CS50 die API's is hierdie kampus-sentriese dinge soos
Harvard kursusse, energie, gebeure, voedsel, kaarte, nuus, tweets en Shuttleboy se eie,
en dit is APIs wat lyk 'n bietjie iets soos hierdie.
>> Laat my trek die HarvardFood API.
As jy al ooit aan HUD se webwerf, het jy waarskynlik is daar
om net te sien wat is vir aandete of om te sien wat die ure vir 'n paar d-saal.
Wel, dit is nie baie maklik om te navigeer,
en so wat ons het 'n tyd gelede het ons geskryf sagteware,
dit gebeur om te wees in PHP, wat eintlik skerm skraap die geheel van HUD se webwerf.
Skraap om iets te sif beteken om 'n program te skryf in 'n taal soos PHP
wat voorgee om 'n leser te wees, selfs al het jy dit kan hardloop by 'n opdrag prompt,
wat voorgee om 'n leser te wees, verbind aan 'n webwerf,
downloads sy HTML, die taal waarin dit geskryf is,
en lees dan is dit, of meer spesifiek, ontleed dit
van bo na onder, links na regs.
En wat ons gedoen het, was ons ons kode geskryf het in so 'n manier dat
enige tyd wat ons gesien het iets in daardie HTML wat lyk soos iets op die spyskaart,
soos 'n hamburger, sou ons dan dat in ons eie databasis invoer.
En enige tyd het ons gesien voedingswaarde, sou ons invoer wat in ons eie databasis.
En wat ons gedoen het, was die invloed van die feit dat HUD se webwerf,
selfs al is dit dalk 'n bietjie van 'n uitdaging vir ons mense om te navigeer
onder die kap, word al die HTML gegenereer deur hul eie rekenaar programme.
So was dan al van hul HTML, selfs al is dit dalk lyk slordig,
soos die meeste webwerwe onder die enjinkap is dit volg 'n patroon.
Sodat ons net spandeer 'n paar uur die uitzoeken van die patroon
sodat in die einde, het ons weggooi al die morsige HTML,
al die estetika van vet belegsel en kursief en dies meer,
en wat ons is dan in staat om dit te doen is bloot dat dieselfde data.
Byvoorbeeld, op hierdie manier.
Sodat ons, volgens die dokumentasie hier,
het die wêreld dat as u 'n URL
wat lyk soos hierdie, food.cs50.net / iets,
en jy bied sekere parameters, wat ons sal praat oor vandag,
soos einde datum, tyd, start datum, maaltyd en so meer,
wat ons bedieners sal na julle terugkeer, byvoorbeeld,
'n CSV-lêer, komma separted waardes soos 'n Excel-lêer,
met alles wat vir die ontbyt op hierdie spesifieke datum in Maart verlede jaar
toe ek gebeur het om hierdie dokumentasie te skryf.
>> Vir diegene wat vertroud is, CSV is nie die enigste lêer formaat.
Daar is 'n ander formaat wat al die meer veelsydige
genoem into, JavaScript Object Notasie.
Die data kan terug kom in daardie formaat.
So het die afhaal hier is dat of jy duik in hierdie API
of enige ander van CS50 of iets daar buite op die internet,
of glad nie besef dat die wêreld toenemend begin te standaardiseer
hoe masjiene omgaan.
Ons gebruik standaard data formate soos CSV of JSON.
En wat beteken dit vir jou is kan jy die interessante deel van 'n program skryf
wat kan jou gebruikers soek 'n eetsaal menu,
waarmee hulle lys van gunstelinge waarmee hulle kry teks Aanduidings van werke skep
wanneer hul gunsteling maaltyd is om bedien te word in 'n paar d-saal
deur die gebruik van iemand anders se datastelle en gebou op die top van hul API.
Sodat meer op wat in die vorm van seminare en die dokumentasie wat jy hier aanlyn.
Sodat diegene, dan, is API's.
>> Dit bring ons terug na HTML. Vinnige recap.
Wat is HTML?
[Student, onverstaanbaar] >> Goeie. HyperText Markup Language.
Iemand anders, wat is Hypertext Markup Language?
HyperText Markup Language.
Okay. So HTML, HyperText.
HyperText verwys net na die Web, vir die grootste deel.
Markup beteken dat dit nie eintlik 'n programmeertaal, HTML.
Dit is nie 'n taal wat jy logika kan uitdruk.
Dit hoef nie loops. Dit hoef nie voorwaardes.
Dit hoef nie funksies, per se.
Inteendeel, dit het hierdie dinge tags genoem, of meer korrek, elemente.
En hierdie elemente het begin tags en einde tags,
of oop tags en geslote tags, en wat daardie tags in die algemeen beteken vir 'n leser is,
begin om iets te doen en dan stop om iets te doen, maar daar is uitsonderings op hierdie.
Soms is dit net 'sit 'n lyn breek hier, byvoorbeeld.
En ons het voorbeelde van wat die ander dag, tussen vet belegsel,
lyn breek, en dan 'n paar van die ander tags.
So HTML is die taal waarin webblaaie geskryf word.
So as ek gaan iets soos Google.com
en trek net hul tuisblad,
onthou dat as jy regs kliek of beheer kliek
en kyk na View Page Source, tipies
dit is 'n volledige gemors deesdae onder die kap, maar dit is omdat
rekenaars omgee nie oor wit ruimte, sodat dit nie om te kyk mooi.
Maar as ons zoom in op dele van dit,
agterkom dat Chrome, net lekker wees, kleurgekodeerde dinge.
Trouens, dit is die heel eerste tag wat ons gesien het in 'n web bladsy.
En weer, HTML 5, die nuutste weergawe van hierdie taal,
hierdie ding aan die begin,
<DOCTYPE HTML, of onderkas of hoofletters,
maar dit is net 'n soort van 'n standaard wat sê, hey wêreld hier kom 'n HTML-lêer in weergawe 5.
>> Begin die interessante deel hier. So <html, en dan was daar twee kinders
van die HTML-elemente laaste tyd.
Wat was daardie twee hoof kinders?
Kop en liggaam, net soos die man met die tattoo 'n oomblik gelede.
Daar is twee gedeeltes van die web bladsy, die kop en lyf,
en onthou, dan, dat dit dalk die eenvoudigste webblad wat ons kan maak lyk soos hierdie.
En ek het ingekeep dit net om te soort van netjies en skoon met my kode,
maar wat werklik belangrik is hier is dat daar 'n hiërargie te.
En enige tag wat ek oopgemaak Ek het gesluit en dat daar is dus hierdie simmetrie
aan al die opmaak wat ek gemaak het.
So die laaste keer het ons begin met die skryf van web-bladsye op my eie laptop.
Ek oopgemaak teks edit, ek gered die lêer as hello.html,
Ek dan die lêer op my browser gesleep, en voila, ek het 'n bladsy op die internet.
Nou, dit is nie heeltemal die geval, ek het 'n bladsy op my harde skyf,
en ek was letterlik die enigste persoon in die wêreld wat web bladsy sal sien in 'n leser.
>> So vandag, stel ons 'n werklike webbediener
en die idee van die werklikheid te dien inhoud op die internet
en hoe dit alles begin om saam te pas.
So dit blyk dat al die tyd in die CS50 toestel
jy het 'n web bediener op jou rekenaar.
Ons het, in regverdigheid slegs gebruik dit vir gedit, klang, vir GDB en dies meer,
maar ook deur ons geïnstalleer vir jou in die toestel is 'n web bediener,
en dat die webbediener gebeur om vry te wees, 'n oop bron,
een van die mees gewilde in die wêreld, het Apache.
Sy meer tegniese naam is httpd, d vir daemon hier,
wat is 'n tegniese woord vir 'n bediener.
So in die CS50 toestel geïnstalleer is 'n web-bediener, en wat beteken dit?
Wel, 'n web bediener is, konseptueel, n bediener op die Internet wat dien web inhoud.
Toe hy gevra is vir 'n lêer, spoeg dit uit die HTML-kode wat daardie lêer komponeer, en voila.
Jy sien n paar webwerf se tuisblad.
Maar 'n bediener is meer presies, 'n stukkie van die sagteware.
Dit nie hoef te wees op 'n fisiese masjien, dit het net na 'n stukkie van die sagteware.
So het die CS50 toestel, natuurlik, is 'n stuk sagteware
selfs al is dit soort van voorgee om 'n masjien te wees.
Dit voorgee om 'n rekenaar binnekant van 'n rekenaar,
maar dit beteken net dat die toestel kan hardloop dinge soos web bedieners.
Dit kan eintlik hardloop e-pos stuur.
Ons kon 'n kitsboodskap-bediener in die toestel hardloop as ons wou,
en inderdaad, ons loop 'n ander tipe van bediener, bekend as 'n databasis bediener, MySQL.
Maar meer op wat volgende week.
Dit beteken dat ek eintlik kan besoek webblaaie
binnekant van my toestel deur die gebruik van 'n leser die binnekant van die toestel
of selfs op my eie laptop, my Mac of my PC.
So, wat beteken dit? Dit blyk dat enige tyd as jy 'n Linux-rekenaar loop,
sy bynaam is "local host."
Dit hoef nie 'n domein naam, want ons het nie 'n domein naam gekoop
vir iets soos die toestel, sodat die standaard naam is plaaslike gasheer.
>> Maar om die toestel te kry om te begin dien web bladsye,
ons het hulle om eers te skep.
So laat doen. Laat my gaan hier in 'n terminale venster
en let op dat ek op my tipies John Harvard prompt.
Laat my gaan voort en tik ls, en ons sal sien 'n paar bekende dinge van hierdie semester,
desktop, downloads, Dropbox en so meer,
maar nou begin ons ons aandag na 'n paar draai.
Op baie Linux webservers daar is hierdie gids genoem openbare html,
maar ons gaan daardie een te slaan vir nou en fokus op hierdie vhosts.
Iemand weet wat 'n vhost is?
Net dom jargon vir virtuele gasheer,
en wat dit beteken, is dat op 'n tipiese bediener
jy kan eintlik bied verskeie websites.
Jy kan 'n domein naam soos foo.com koop, en jy kan bied dit op 'n bediener.
Maar jy kan ook koop bar.com en bied dit op dieselfde server.
Die rede hiervoor is blaaiers is slim genoeg om die bediener te lig
wanneer 'n gebruiker 'n paar webblad vra, watter domein naam die gebruiker wil die tuisblad vir.
So, wat is mooi oor hierdie is wat jy nodig het nie een fisiese bediener
of een CS50 toestel vir elke webwerf wat jy dalk wil om te skep.
Kan jy dieselfde server te gebruik en te ontwikkel 'n honderd verskillende webtuistes.
En inderdaad, as jy is 'n persoon wat probeer om 'n webwerf te begin,
hetsy vir die pret of vir besigheid, gewoonlik sal jy uitgaan op die internet,
en jy betaal iemand tien dollar 'n maand, 'n honderd dollar 'n maand
jou webwerf aan te bied vir jou.
En die manier wat hulle ander mense laai
tien dollar 'n maand of 'n honderd dollar 'n maand
ander mense se websites op hul dieselfde bediener aan te bied.
Die rede waarom hulle dit kan doen, is as gevolg van hierdie funksie met die naam bhosts,
maar meer op dat wanneer dit tyd is vir die finale projekte.
>> Vir nou, laat ons net duik daar. So cd vhosts, en as ek tik ls nou,
agterkom dat daar is 'n gids daar genoem plaaslike host.
Dit is omdat, by verstek, die toestel syfers
wat jy ooit gaan om 'n webwerf uit te voer op 'n toestel.
Dit is nie regtig die werklike wêreld, dit is nie 'n werklike wêreld webbediener.
So laat my gaan in die plaaslike gasheer, en nou sal ons sien daar
'n laaste directory genaamd HTML.
So dit is 'n bietjie diep, die hiërargie, maar indien en wanneer
jy besluit om te begin met die ontwikkeling van verskeie websites oor die volgende n maande of jare,
hierdie soort van lêergidsstruktuur is geneig om behulpsaam te wees.
Nou, laat ons gaan in HTML, soos ek nou net gedoen het,
tipe ls, en niks is daar.
So nou, laat ons gaan voort en doen dit. Laat my oopmaak Chrome
binnekant van die toestel, en laat my gaan na http://localhost.
So letterlik die naam vir my toestel, betree, en ek kry indeks van /.
Dit is nie regtig wat my iets van belang,
maar dit blyk dat dit wat ons sien is dat die gids, HTML.
Daar is niks in die gids op die oomblik,
so in plaas daarvan, wat ek gaan te hê om te doen is om eers 'n lêer.
Skep 'n HTML-lêer soos ons gedoen het op Maandag, maar hierdie keer het dit binnekant van die toestel.
Vir dié van julle wat probeer om te volg nou saam met skootrekenaars,
laat my nie een weg wat sal gedek word in die web-gebaseerde pset,
maar in orde te kry om dit te werk vir die heel eerste keer,
jy gaan hê om hierdie opdrag uit te voer: sudo diens httpd begin.
En dit weer sal herhaal word in die laaste pset,
maar as jy speel nou saam by die huis, die webbediener
in die toestel afgeskakel is, en dit is so dat dit nie tap up RAM
en geheue vir 7 weke uit van die semester wanneer ons nodig het nie.
Sodat jy nodig het om hierdie opdrag te hardloop, en jy sal 'n produksie soos dit kry.
Dan moet jy in staat wees om saam te speel hier.
Nou, laat ons gaan terug in hierdie gids.
Hierdie gids is leeg, so laat my begin met die skep van 'n lêer,
gedit hello.html.
>> Alles reg. Gedit is 'n oop, soos gewoonlik. Laat my doen DOCTYPE, html,
html, laat my voor my en begin met die sluiting van my tags in advance.
Nou het ek die kop. Laat my voort te gaan en maak die kop,
laat my nou die titel van die bladsy, hello wêreld soos die vorige keer,
beslote titel, laat my nou doen om 'n liggaam.
Hier, ek sal sê hello, wêreld met 'n paar exclams
duidelik te maak dat dit is 'n ander string.
Close liggaam, en laat my nou voort te gaan en lêer stoor.
Laat my terug te gaan na my terminale venster, en as ek tik ls,
Ek sou waarskynlik, sien hello.html. En ek doen.
So nou, laat ons gaan terug na my browser, kliek herlaai,
en jy kan sien ons inderdaad binnekant van die HTML-gids.
Ek nie sien nie 'n webblad nie, dit is Apache, die webbediener,
net wat my die lys inhoud van hierdie gids.
Net soos die Mac OS of Windows sou tipies doen op jou eie plaaslike hardeskyf.
So as ek wil om hierdie bladsy te sien, kan ek kliek op hierdie klein skakel hier, hello.html,
en inderdaad, dit is wat ek verwag het om te sien.
Nou, weer, dit is nie 'n URL wat enige van julle kan nou besoek,
want vir julle is, plaaslike gasheer, as jy 'n laptop hier,
Dit verwys na jou eie geval van die toestel.
Dit is op my eie persoonlike toestel,
maar dit is 'n soort van stom vir my te hê, om te hê
'n gebruiker soos ek op hello.html om werklik te kyk na die inhoud van hierdie bladsy.
Dit blyk dat die web bedieners soos Apache laat jy 'n standaard lêer vir enige webbediener.
Kennisgewing hier ons het hello.html.
Wat is die opdrag in Linux om 'n lêer te hernoem?
>> MV, vir skuif. So laat my dit doen,
en laat my hernoem hello.html index.html.
Laat my tik ls te bevestig dit is nou herdoop.
Nou is dit gaan - as ek gaan terug na plaaslike host,
agterkom dat ek nou outomaties ek sien dat die webblad.
Dit is identies aan my eintlik doen / index.html
maar die lekker ding is nou dat die webbediener se besyfering,
oh, as jy 'n lêer wat deur menslike konvensies genoem index.html
laat ek jou wys die gebruiker dat lêer by verstek
eerder as 'n dom Directory Listing, wat nie op alle gebruiker-vriendelike.
Trouens, die meeste webwerwe wat jy besoek op die internet nie 'n lys van lêers te klik op,
hulle net wys dat jy die inhoud. So dit is hoe ons dat index.html kan doen.
So, dit is al die pret en 'n goeie, maar dit is 'n redelik eenvoudige webblad.
Laat my gaan voort en oopmaak index.html in my vhosts,
plaaslike leërskare, html gids, en laat ons voeg iets van groter belang.
So is daar 'hello world, laat ons eerder sê: "Dit is CS50, Harvard College se. . '
So het die begin van die kursus katalogus beskrywing van 'n soort daar.
Nou as ek herlaai, moet ek sien dit in my home page.
Goed, en ek sien dat, maar veronderstel dat ek wil nou n lys van 'n paar meer inhoud in hierdie lêer.
Ek kon gaan hier neer en sê, voorvereistes niemand,
alhoewel sommige van julle hou waarskynlik, "Ha ha ha, geen voorvereistes nie."
Maar - amptelik. So herlaai, en nou het ons dieselfde flater dat ons die laaste keer gesien het.
Maar hoekom is dit? Dit was 'n eenvoudige fix.
Hoekom is hierdie bladsy gebreek?
[Student, onverstaanbaar] >> Ja, het ons opgelos dit voor
deur uitdruklik vertel die leser 'sit 'n lyn breek hier. "
En dit is omdat, weer, 'n leser is net gaan om te doen
uitdruklik wat die opmaak taal vertel om dit te doen,
so selfs al is jy dalk getref het een of twee keer of selfs tien keer betree,
dit gaan te kombineer in 'n enkele ruimte, net deur die konvensie.
So as jy regtig wil 'n lyn breek, moet jy die Br-tag om te gebruik,
en nou kennisgewing, soos Maandag, Ek het die binnekant van hierdie tag /
net omdat dit net nie reg voel nie
'n lyn breek om te begin en stop dit dan met niks tussen in.
>> So het die konvensie in HTML is om oop te maak en sluit 'n tag gelyktydig.
As 'n eenkant, sal jy sien 'n baie van die webwerwe in boeke nie om dit te doen.
Dit korrek is om te doen of nie te doen nie, maar ons wil argumenteer
dat die ontwerp-wyse en stilisties, dit is net beter
want dan elke tag is beide geopen en gesluit op een of ander manier.
So nou, laat stoor en oproep. Gaan terug na die leser, okay.
Nou het ons 'n mate van vordering, maar dit is nie heeltemal genoeg.
Kom ons gaan voort en begin tik in sommige langer liggaam van die teks.
So kom ons sê, "'n vinnige bruin jakkals spring oor 'n lui hond."
En nou, laat my net kopieer en plak dit 'n paar keer
sodat ons 'n paragraaf van die teks.
Laat my terug te gaan oor hier. Sodat dit nie lyk baie goed.
Ek het 'n line break, so dis oukei,
maar nou, sodra ons om tot die punt van 'n web bladsy
wat het baie van die inhoud en nie net enkele lyne te demonstreer HTML,
ons kan begin om te dink van hierdie dinge as 'n werklike paragrawe.
En ons kan begin om ons webblad om 'n bietjie meer skoon te struktureer.
En inderdaad, wat ek kan doen is om te gaan hier binnekant van my liggaam tag,
en jy weet wat, indien "Dit is CS50. . ' regtig demarks die begin van 'n paragraaf,
Wel, laat ons merk dit as sulks.
Laat my streepje die teks, net deur die konvensie, laat my sê
dat hierdie paragraaf eindig hier,
en dan eerder as hierdie lyn breek, laat ek net sê
dat dit hoort daar en as 'n nuwe paragraaf,
en Ek sal vinnig net streepje deur net beuken al hierdie dinge.
>> So nou het ons 'n ingekeepte paragraaf,
en nou is ons opmaak begin om 'n bietjie meer te kry
semanties in ooreenstemming met wat ons probeer om te doen.
Ons het 'n paragraaf, so kom ons noem dit 'n paragraaf met die p-tag.
Ons het 'n tweede paragraaf, so kom ons noem dit 'n paragraaf met die p-tag.
En nou, wat die leser sal tipies doen
is net soos in 'n Engelse boek of opstel,
waar jy gewoonlik sien 'n paar lyn breek tussen paragrawe.
Browsers sal doen wat vir jou outomaties.
So nou het ons twee paragrawe en ons kan voortgaan.
Maar, natuurlik, wanneer jy op die web, liggame van die teks
dit is nie tipies net groot druppels van die teks.
Daar is dikwels hyperlinks daar.
So as ons wil, byvoorbeeld, sluit 'n paar skakels daar,
veronderstel wat dalk van belang in watter web bladsy wat ek hier skep, is -
laat my gaan na Google.com,
en laat my soek vir 'n vinnige bruin jakkals.
Gaan na Google Images, en, hoe oor - dit is 'n oulike.
Ons gaan met hierdie. So hier is ons het 'n vinnige bruin jakkals spring oor 'n lui hond.
So wat ek gaan doen, net ter wille van die demonstrasie,
is veronderstel dat hierdie beeld was op my server,
en ek het hierdie beelde te skep.
Wat ek het net reg is klik of kliek op die beeld te beheer,
en wat jy sien in die meeste blaaiers is 'n bietjie menu -
ophou om dit te doen - 'n bietjie menu wat jou toelaat Kopieer Link plek of afskrif URL te kies.
So laat my terug te gaan nou na my HTML, en dink dat ek wil hê
hyperlink hierdie na 'n ander web bladsy.
>> Wat was die tag wat vir daardie?
[Student, onverstaanbaar] >> Ja. So 'n href vir hiper verwysing.
Laat my gaan voort en plak dat.
Dit is 'n redelik lang URL, so laat my terug uitzoomen.
Close hakies, so moet julle nou sien ek hier
omdat die URL gebeur redelik lank te wees.
Laat my scroll oor hier aan die einde van die vinnige bruin jakkals,
en laat my dan hierdie merker sluit met </ a,
waar ek net die naam van die tag gesluit.
Laat My dan nou voort te gaan en stoor die lêer herlaai die web bladsy,
en nou, by verstek, wat gaan in blou onderstreep word vir my,
maar wel, ek kan nou op hierdie en voila. Daar is daardie beeld.
En dit het nie om 'n beeld te wees, kan dit gekoppel het
aan 'n ander ewekansige webwerf op die internet.
Ek kon dit doen, byvoorbeeld, met CS50, so 'n laaste voorbeeld hier.
"Dit is CS50 kan sin maak om te gaan 'n href =
http://www.cs50.net, naby kwotasie, naby anker.
So nou wat is 'n nog korter URL, en hierdie keer gaan ons nie om te skakel na 'n beeld.
Ons plaas gaan om te skakel na 'n ander bladsy.
Nou, ons het 'n beeld hier.
Ek voel soos ons kan doen om 'n bietjie beter as net 'n skakel na 'n beeld.
Wat as ons wil dit eintlik beliggaam in ons eie webblad?
>> Wel, wat kan ek hier doen, eerder as skakel na hierdie grafiese,
laat my plaas sny die URL, en ons sal ontslae te raak van daardie hyperlink en om dit skoon.
En ons sal afgaan hier en ontslae te raak van hierdie.
Ons hoef nie regtig al hierdie sinne nou, so laat my die bladsy verkort om 'n bietjie.
En dan af hier laat my voort te gaan in 'n nuwe paragraaf,
sê dat ek nie wil hê dat die teks nou nie, ek wil 'n beeld waarvan die bron gaan wees dat die URL.
'N beeld, soos 'n lyn breek, is daar of dit is nie.
So laat my dadelik dat tag sluit.
Laat my nou voort te gaan en maak die paragraaf wat ek binne is,
en as alles goed gaan met hello, wêreld, as ek nou herlaai,
Ek, inderdaad, 'n beeld sien reg binne-in my eie web bladsy.
So nou het ons 'n beeld tag, 'n anker tag en dies meer,
en vir 'n goeie maatreël, laat my doen 'n ander ding wat dikwels verwaarloos
op webtuistes hierdie dae: Laat ons 'n paar beskrywende teks vir hierdie beeld
vir mense wat op 'n mobiele toestel
en daarom nie in staat wees om hierdie beeld te baie vinnig aflaai,
vir die volk wat blind is en dalk nie in staat wees om die beeld te sien
maar hulle kan 'n skerm leser wat vertel hulle wat hierdie beeld is.
En om dit te doen, daar is 'n ander kenmerk van die beeld tags
genoem alt, vir alternatiewe teks.
En wat ek hier kan doen is om te sê, "Dit is 'n vinnige bruin jakkals.
Sodat selfs die mens nie kan sien nie die beeld op die skerm,
hy of sy ten minste kan hoor, as met 'n stuk van sagteware,
wat is eintlik daar op die skerm.
>> Dit sal nie die estetika van die bladsy verander,
maar dit is beslis goeie praktyk vir die gebruikers.
Alles reg, maar ons laat hierdie webblad in sy huidige vorm,
maar laat ons kyk of ons kan nou nie voer
'n beter benaderings tot die skryf van hierdie web bladsye,
n paar lesse wat gaan ons sowel as ons bladsye kry meer en meer kompleks te dien.
Wat ons nie van plan om te doen oor die volgende paar weke
is loop jy deur die hele van die paar dosyn HTML tags wat daar is.
Graag in kras terug in week 0, sal dit waarskynlik voldoende
'n hoë-vlak oorsig van sommige van die konsepte te gee,
'n vinnige toer van 'n paar van die blokke wat jy was waarskynlik in staat,
redelik gemaklik te opgevolg op jou eie, die verskillende stukke van die legkaart.
En dit gaan weer gebeur nie in HTML, waarskynlik,
waardeur daar is genoeg hulpbronne op die Web dat ons jou sal wys op,
verskillende handboeke, as jy verkies om 'n handboek te lees,
wat sal loop jy deur al die verskillende dinge wat jy kan doen met HTML,
maar regtig, het ons tot dusver gesien het die meeste van die fundamentele konsepte in HTML.
Ons het die idee van tags wat dit oopgemaak word, word tags gesluit.
Sommige tags wat beide geopen en gesluit
in die sin dat hulle leeg; daar moet niks binnekant van hulle
soos 'n beeld tag of 'n lyn breek, wat net daar.
Ons het ook gekyk reeds by die idee van 'n eienskap, soos alt of bron.
Let daarop dat hierdie woorde is geneig om, deur die konvensie, moet kort en bondig.
>> Ons het nie oordeel oor wat hierdie dinge genoem word,
iemand anders wat HTML uitgevind vorendag gekom met hierdie name.
So jy moet net om te begin om te weet of te kyk, enige tyd wat jy nodig het,
wat die name is vir hierdie tags en eienskappe.
In die geval van hierdie eienskappe, skryf in die algemeen
verander die gedrag van sommige tag.
In hierdie geval, die bron kenmerk vertel die beeld tag
wat die bron van die beeld moet wees.
Die href kenmerk vertel die anker tag wat dit eintlik moet koppel word.
Maar in terme van die struktuur van 'n web bladsy, hoewel Facebook
en Google en dies meer lyk soos 'n volledige gemors
onder die kap met die eerste oogopslag, as jy begin om te lees deur dit
meer metodies, het hulle almal hierdie basiese, basiese struktuur volg.
Maar ons kan die verbetering van die stilering van hierdie dinge.
So laat my gaan na 'n paar voorbeelde wat ek vooraf voorberei.
Laat my gaan voort en kopieer dit uit 'n ander gids hier
en sit hulle in hierdie gids.
In advance, wat ek gedoen het was om 'n paar lêers voor te berei:
search0, SEARCH1, search2 en search3 en 4.
Laat my gaan voort en maak die eerste van hierdie lêers,
en laat ons kyk of ons kan nie begin om ons eie soektog te skep.
Op die top van hierdie lêer, soos gewoonlik die geval in die klas nie, net 'n klomp van die kommentaar.
In HTML, al is, die manier waarop jy begin a comment
<- en dan is jy binnekant van 'n opmerking, 'n multi-line comment!
Wanneer jy gereed is om kommentaar te stop, kan jy ->.
So alles by die top in die blou is net 'n comment.
>> Dit is my DOCTYPE verklaring, wat weer,
jy kan net kopieer en plak op geloof, vir nou.
Dit vertel net die leser, "Hier kom 'n paar HTML 5.
Hieronder wat on line 14, is die eerste van my werklike tags,
en dit sê net, soos voorheen, sommige HTML kom hier,
hier kom die hoof van my bladsy, hier kom die titel,
en dan, omgekeer, wat is dit vir die titel, wat is dit vir die kop.
Hier kom nou die liggaam van my bladsy.
So 'n paar nuwe tags: h1 staan ​​vir rubriek 1.
Daar is 'n tradisie in HTML vir baie jare terug
met verskillende groottes van die teks.
En terug in die dag, elkeen bedoel, in die algemeen, net groot en vet.
Maar daar is ook h2, wat is groot, maar nie so groot en vet.
Daar is h3, wat is 'n soort van die groot, maar nie naastenby so groot en vet,
en so meer, al die pad af na h6.
Hierdie dae, al is, is regtig H1, H2 en H3 bedoel
meer semantiese betekenis aan hulle te hê,
waardeur h1 is regtig 'n opskrif: die opskrif van 'n web bladsy,
die opskrif van 'n kolom of iets soos dié van die teks.
Daarom het ek doelbewus sê h1 CS50 soek> h1
specifiy dat dit werklik is die opskrif, die titel van my bladsy.
Nie die titel in die titelbalk sin,
maar die titel wat jy sien in die webblad self, in die liggaam.
Nou hierdie, kan jy waarskynlik raai wat dit is,
selfs al het ons het 'n paar nuwe stukke van die sintaksis.
Dit is 'n vorm. So die web regtig interessant raak
wanneer webwerwe insette van gebruikers.
In hierdie klas, in die probleem op die web programmering,
Ons gaan nie 'n webwerf, per se te maak,
met statiese inhoud wat toon foto's wat jy geneem het,
of dit is my CV, en dinge oor my,
want hierdie dinge is relatief maklik om saam te stel.
Dit is moeilik om te maak dinge mooi op die web,
maar ten minste die opstel van inhoud is redelik triviaal.
Maar dinge regtig interessant wanneer iemand jou webwerf besoek
en insette lewer en kan vorms invul,
blok kan kyk en kan interaksie met jou webwerf.
En inderdaad, waarskynlik elke webwerf wat jy omgee
hierdie dae, in enige detail, is een of ander manier interaktief.
Facebook, Google, en dies meer, wat 'n toevoer van die gebruiker
en persoonlike uitset.
>> So laat ons begin om dit te doen nou. Kom se oorgang nou
van net die gebruik van HTML-kode vir winsgrens van statiese inhoud
as plaas 'n leweringsmeganisme vir dinamiese inhoud.
En die rigting van die einde, laat ons ons eie soektog te implementeer.
Kom ons doen dit soos volg. Hier is die vorm tag.
Die aksie attribuut bepaal dat wanneer die gebruiker vul hierdie vorm
met die sleutelbord, sal dit voorgelê word aan hierdie URL hier.
So ek is soort van bedrog. Dit gaan ons 'n bietjie langer neem
as een klas die hele soektog uit te voer,
so ons sal net doen die voorkant, om so te praat.
Ons sal die deel waarmee die gebruiker soek doen, en ons sal soort van punt na Google
die harde deel van die vind van die resultate,
maar spesifiek, ek gaan om te praat met Google se web-bediener
met behulp van een van twee baie gewilde metodes.
Een wat kry, ander, dat ons uiteindelik sal sien, post,
maar daar is ander wat minder dikwels gebruik word.
So kry net roep die idee van, ek wil inhoud te kry, kry 'n paar resultate.
Hierdie, kan jy dalk raai wat dit doen.
Dit is 'n soort van die insette, is dit in werklikheid gaan om te kyk soos 'n teks-veld,
en die naam van die insette, die naam van die veranderlike, om so te praat,
gaan word q vir navraag deur konvensie.
En weer, is die tipe van hierdie insette nie gaan om 'n boks te wees;
dit gaan nie om 'n spyskaart te wees, dit gaan om 'n teks-veld
soos aangedui deur hierdie kenmerk hier, en hierdie teks boks,
soos 'n lyn breek, is óf daar is of nie.
So ons het 'n leë element met die streep binne daardie merker.
Dan gaan ek 'n lyn breek te sit, en jy kan dalk raai wat dit gaan doen.
Dit is 'n ander soort van vorm insette.
>> Hierdie een gaan om gebruik te word vir die indiening van die vorm.
So dit gaan om die groot-knoppie wat die gebruiker kan kliek om die vorm in te dien,
en die etiket op die knoppie gaan wees CS50 Soek. "
Close vorm, beslote liggaam, naby HTML.
Kom ons kyk wat ons het in die vorm van hierdie web bladsy.
So laat ek gaan na my browser,
laat my gaan, nog steeds aan die plaaslike gasheer.
Dit is nog steeds index.html, so as ek wil om te sien van hierdie lêer genaamd search0,
Ek kan net doen / search0.html, tree -
en die eerste van my foute.
What's going on? Ek duidelik het nie toestemming om
om hierdie lêer oop te maak, om die een of ander rede.
Maar dit is omdat, in teenstelling met die werk het ons tot dusver gedoen het in C,
waar die programme wat jy skryf, word aanvaar dat die draaibaar deur u,
uitvoerbare deur u, dit is nie regtig die geval op die web,
waardeur soms moet jy dalk wil lêers te skep op 'n bediener,
maar jy nie wil hê dat die hele wêreld in staat te wees om hulle te sien.
Nee, jy wil die wêreld 'n paar lêers te sien
maar nie ander nie, net vir privaatheid se onthalwe.
So dit is meer van 'n opt-in basis wanneer jy dinge doen op die web.
En laat my daarom eintlik ls hier tik,
en jy sien die lêers wat ek het, maar onthou dat as ek dit doen ls-l vir 'n lang,
Ek kry 'n langer lys wat gee my 'n paar meer besonderhede oor hierdie lêers
wat is nou regtig, vir die eerste keer op ons betrekking het.
Let daarop dat op die ver regs is die name van my lêers,
en dan is die tyd wat hulle was laas verander of kopieer.
Hierdie getal hier is wat? Onthou jy?
Die grootte in grepe, hoe groot die lêer is.
>> So dit lyk asof ek 'n soort van die logo hier te hê wat groter is as al die ander lêers.
Dit is wie ek is, dit is wat ek is en watter groep ek.
Maar dan, hier aan die linkerkant is 'n bietjie van kriptiese volgorde,
en ons het gepraat, dink ek, kortliks hieroor in die verlede,
maar dit het te doen met permissies.
En selfs indien dit is 'n bietjie vaag,
RW beteken waarskynlik lees & skryf.
So dit blyk dat hierdie koppeltekens dui verskillende stelle regte vir verskillende mense.
En die patroon is, in wese, soos volg.
Wanneer jy sien 'n volgorde van koppeltekens, hulle lyk soos volg.
Daar is 'n stamp, dan is daar drie koppeltekens,
dan is daar nog drie, dan is daar nog drie.
Die eerste een is 'n bietjie of dit se advertensie vir directory.
Sodat 'n mens is redelik maklik. As dit is 'n gids, dit sê d, anders is dit 'n koppelteken.
Daar is 'n paar ander gevalle, maar vir nou sal ons net omgee vir lêers en directories.
Hierdie volgende drie koppeltekens - en ek het kunsmatig ingevoeg die spasies in.
Hulle was natuurlik nie daar toe ons sien dat hulle 'n oomblik gelede.
Dit is die lêer eienaar se regte,
en onthou van 'n tweede gelede dat dit lees & skryf.
Dit was omdat ek, as die persoon wat die lêer geskep het 'n oomblik gelede,
Ek, net by verstek, op 'n Linux-rekenaar,
het die vermoë om voort te gaan lees en skryf dat 'n lêer.
>> So die bedryfstelsel gee net my RW outomaties.
Die middel wat verband hou met my groep, dat van die studente,
wat is 'n soort van betekenisloos op die toestel, want ek is die enigste persoon wat die gebruik van die toestel.
So laat my net waai my hande vir nou.
Maar die laaste is baie belangrik vir die Web.
Dit is almal anders in die wêreld, en die feit
dat --- beteken dat niemand anders in die wêreld
het enige regte tot hierdie lêer.
Duidelik 'n probleem nie, so ek nodig het om dit op te los
deur die een of ander manier om die wêreld wat? Lees & skryf?
Dit is waarskynlik dom, reg? Ek wil nie enigiemand op die web
om te gaan om my blad te besoek en op een of ander manier om die lêer te verander,
selfs al is hulle werklik kon nie met 'n HTML-lêer,
maar net in beginsel, waarskynlik net wil hê hulle moet in staat wees om dit te lees.
Wat beteken dit om dit te lees? Dit beteken nie hulle gaan omgee oor die werklike HTML,
maar die leser moet in staat wees om daardie opmaak taal te ontleed,
van bo na onder, links na regs.
So iemand op die web moet in staat wees om dit te lees nie, so ek minimaal nodig het om te gee dit 'r.
Ek kan dit doen in 'n paar verskillende maniere, maar miskien
die eenvoudigste is om hierdie opdrag om hier te hardloop.
Chmod, verandering af, dan 'n + r so almal, almal in die wêreld + lees,
en dan die naam van die lêer search0.html.
>> Maar as ek doen ls-l weer opmerk dat dat die lêer verander is,
en inderdaad, ek het op 'n r vir almal.
Ek het ook het dit vir my groep, maar dit is fyn,
want as ek draai in my groep is vir almal, 'n subset van daardie.
So dit is fyn. Dit beteken net die rekenaar nou het dit leesbaar.
Nou laat my gaan terug na my browser, kliek herlaai.
Ah-ha. Ons nou het CS50 Soek.
Ek het in 'n bietjie kunsmatig - pretty afskuwelike soektog vergrote.
Maar laat ons kyk of dit regtig werk.
Eerste, laat my doen 'n vinnige gesonde verstand tjek, laat my beheer kliek en sien bladsy bron.
Let daarop dat binne Chrome ons nou sien dieselfde HTML-dat ek myself geskep.
Nie hier kry verwar, though. Ek kan nie begin om die kode te verander,
omdat die leser 'n lees-alleen die lig van hierdie kode.
Die blaaier het net gevra om plaaslike gasheer vir 'n lêer genaamd search0.html.
Dit is nou toevallig dat die toestel
gebeur te wees op dieselfde rekenaar as my browser.
Ek kon net gelykerwys, getik in www.facebook.com/search0.html,
en as Facebook het 'n lêer met die naam dat ek sal dan sien hulle HTML.
En, natuurlik, kan ek nie verander nie die lêer wat kom terug van Facebook, nie.
So nou is ons soort van vervaag die lyne.
Die toestel is beide 'n bediener, die versorging van web bladsye,
maar dit is ook 'n kliënt in die sin dat ek 'n leser is die gebruik van
om werklik te praat met die bediener.
So laat ons sien as my Google-soektog werk.
Laat my voort te gaan en te deursoek vir 'n vinnige bruin jakkals, betree.
En voila, ek het nou my eie soektog.
>> Maar hoe werk dit?
N bietjie van 'n rek, maar - en nou kan jy nie sien nie, juis die deel wat van belang is.
Let op wat gebeur.
Let op die URL. Dit blyk dat hierdie metode,
genoem kry, is 'n super-eenvoudig.
As jy spesifiseer in 'n vorm wat jy wil 'get' resultate van 'n paar bediener,
wat dit gaan doen, vat wat jy getik in die vorm
en sit dit in die URL.
Dit gaan hoe dit kry in die URL soos volg te standaardiseer.
Let daarop dat hierdie is die URL wat die waarde van my optrede kenmerk.
Dit is waar ek wou die vorm aan die einde.
Maar dan agterkom hierdie vraagteken.
Dit is 'n konvensie op die web waardeur die toevoer van die gebruiker te voorsien
na 'n webwerf, kan jy voeg aan die URL in 'n vraagteken,
en dan moet jy 'n hele klomp van die sleutel-waarde pare.
Die naam van 'n sleutel, andersins bekend as 'n parameter in die web,
dan moet jy 'n gelyke teken, dan moet jy die waarde van die parameter.
So dit is in wese 'n veranderlike naam en 'n veranderlike waarde,
maar dié veranderlike se name en waardes van die HTML-vorm gekom het.
Waarom is die plus punte daar, dink jy?
Want ek het nie tik + tussen my woorde.
[Student, onverstaanbaar]
>> Ja, dit is net vir die spasiëring. Kans is, wanneer jy 'n URL gesien,
daar is nooit enige spasies in dit, indien net omdat
as daar was, kan jy nie regtig kopieer en plak dit
in 'n IM of in 'n e-pos, want dit sou breek.
Jy wil die hele ding om een ​​aaneenlopende string karakters.
>> Sodat die leser is slim genoeg om te besef, uh-uh.
Moenie net sit daar 'n ruimte. Laat my enkodeer die ruimte in 'n standaard manier.
Een van die konvensies om dit te doen is om die leser te hê
outomaties 'n + waar jy andersins sou 'n spasie.
So nou, kennisgewing Google soort van gebruikers-vriendelike.
Ek het beslis nie hierdie webblad skep,
maar hulle het ingestuur hul eie teks veld
met presies wat ek getik.
Gestel ek wil om te soek vir iets anders, soos 'n lui hond.
Ek kan tik net hier, re-soek.
Let daarop dat die URL verander hier,
maar dan sien dat ek eintlik kan soek vir enigiets wat ek wil
net deur te verstaan ​​hoe URL's werk.
Ek lui kat kan doen, betree,
en nou merk ek kry 'n baie lui - moet ons? Ek voel soos ons behoort.
Ek kry 'n baie lui kat.
Alles reg. Dit is een van die domste dinge wat ons gedoen het.
Maar dit is 'n lui kat.
Anyhow, wat is die sleutel afhaal hier?
Nou het ons is soort van speel in die wêreld van die HTTP.
HTML is net hierdie opmaak taal, oop tag, naby tag,
wat vertel 'n leser hoe om inhoud te lewer op 'n web bladsy.
Maar wanneer jy begin met die oordrag van data oor die Internet
tussen webblaaier en bediener, dit is waar hierdie protokol
bekend as die HyperText Transfer Protocol oorneem.
Dit is die soort van menslike konvensie; wanneer Sam en ek het hande geskud op Maandag,
die begin van 'n verband en dan die sluiting van 'n verbinding, dieselfde idee hier.
Hoe Google se resultate terug kom na my toe?
Hoe is my vorm voorlegging gaan na Google?
Wel, onthou van die ander dag dat wat werklik aangaan
onder die kap wanneer jy 'n webblad versoek is,
jou browser is die stuur van 'n ietwat kriptiese boodskap soos
KRY / HTTP/1.1 vir die standaard tuisblad.
>> Of, in hierdie geval, omdat ek spesifiek versoek vroeër
search0.html, dit sou dan die ietwat kriptiese boodskap
dat my browser stuur na die toestel.
Of, in hierdie geval van Google, is eintlik wat gestuur
is 'n versoek aan / soek, en dan q =? lui kat, met 'n plus daar.
So hierdie boodskap, dat ek, die mens is nooit te tik,
maar word gestuur deur my browser, dit is hoe HTTP gebeur.
Dit is die ekwivalent van ons hand geskud.
Dit is die versoek, en die bediener is oor 'n reaksie te stuur.
So laat ons neem 'n blik op hierdie onder die kap.
Soos voorheen, kan ons oop te stel hierdie spesiale veld in 'n leser.
Sien bladsy, inspekteer elemente.
So onder inspekteer element, sien dat wat gebeur het in Chrome,
en IE en Firefox het soortgelyke meganismes,
ons het hierdie ontwikkelaar gereedskap toeganklik vir ons.
Normale mense gebruik nie hierdie tabs.
Maar nadat ons, nou, belangstel in wat gaan aan
onder die kap op die netwerk.
So as ek trek die netwerk vlak,
laat my voort te gaan en uit te brei hierdie venster,
oop te maak hierdie inligting ingesleutel is hier, en kyk na die headers.
So, wat gebeur wanneer ek 'n lêer van 'n web-bediener
is my browser stuur 'n hele klomp van die dinge.
En laat my Bekyk bronteks. So onder versoek headers,
en dit is net Chrome wat my 'n paar diagnostiese opbrengs,
soort van soos 'n debugger van een of ander aard,
agterkom dat wat ek hier uitgelig is presies wat
Chrome is na die bediener stuur ten einde 'n lêer genaamd search0.html aan te vra.
Dit is die bediener vertel wat hulle dink sy naam is,
te danke aan hierdie leërmag kolon veld, dan is daar is 'n paar
mooi esoteriese dinge hier, soos iets wat te doen het met die datums en tye,
iets te doen het met die tale wat die leser verstaan,
maar die werklik belangrike lyne is die eerste twee hier.
>> Wat beteken die bediener reageer met? Wel, as ons scroll down hier
en sien die bron van hierdie ding, sien dat die bediener
het gereageer met 'n ietwat kriptiese boodskap as 304 nie verander nie.
Dit is 'n bietjie vreemd, laat my eintlik probeer om dit op te los.
Laat my af te hou en skuif en klik herlaai hier
die leser te dwing om werklik te maak dit versoek vir die eerste keer.
Laat my dan zoom in, en ons sal nou sien dat die bediener se reaksie,
want Ek het verskuiwing, is 200 OK.
So jy het waarskynlik nog nooit gesien dat die getal 200
in die konteks van die web, maar wat getalle
het jy soms onverwags gesien vanaf 'n bediener?
404, lêer nie gevind nie; 403, verbode; 500, bediener fout.
So is daar hierdie numeriese kodes wat die wêreld gebruik in die Web
foute, net soos C funksies aan te dui
kan terugkeer foute en hoof uitgang kodes kan terugkeer.
200, maar jy selde sien, want dit beteken dat alles goed gaan.
En 304 het jy waarskynlik nooit sien nie, want wat is dit dui?
Dat niks het - laat ons kyk of ons kan simuleer dit weer -
O, nou is dit nie saamwerk nie. 304 gesê nie verander,
so waarom die bediener is selfs reageer?
Wel, vir doeltreffendheid, 'n web bediener outomaties vir jou,
indien die lêer nie verander het nie, sal dit nie weer te stuur die hele HTML-lêer.
Dit sal net vertel die leser dit het nie verander nie.
Net gebruik maak van die kopie wat jy reeds het.
So daar is hierdie idee van caching op die web
vir prestasie, sodat jy mors nie tyd en afval bandwydte
die aflaai van lêers weer en weer onnodig.
>> Maar hierdie webblad, was nou, super-eenvoudige,
en dit het vir my gewys net die HTML wat terug gekom het.
Kom ons eintlik gebruik die netwerk blad nou 'n Google-soektog te doen soos vinnige bruin jakkals.
Laat my dan kliek op CS50 soek,
en nou, let op in die onderste hier om 'n hele klomp van die dinge kom terug
want as Ek besoeking doen 'n webwerf soos Google.com,
hulle het beelde, teks, hulle het 'n taal genaamd JavaScript daar.
Sodat elke ry in die tabel hier onder
iets wat Google spoeg uit in reaksie op my enkel versoek.
Die een wat ek omgee, al is, is die eerste een.
En as Ek gegaan na die soek, versoek, kliek Bekyk bronteks hier,
Let op dat, inderdaad, die kriptiese boodskap wat my browser gestuur
na Google hierdie twee lyne was hier,
gevolg deur sommige arcane inligting hier onder, wat sal ons ignoreer vir nou.
Maar kennisgewing, te, wat Chrome is redelik handig met,
dit is ook wat my die query string wat gestuur is.
So eerder as my hierdie, wat letterlik gestuur,
as ek dit sien gedekodeer, Chrome, net vir ontfouting doeleindes,
dit is vir ontwikkelaars soos ons, net wat vir my 'n mens-vriendelike weergawe van die -
dit is nie hoe jy dit spel jakkals, blykbaar.
Ek is net merk dit nou - maar dit wys jou wat ek glo, getik.
Intussen het die reaksie wat terug gekom het van die bediener is weer 200 OK.
Maar ingesluit in daardie antwoord, natuurlik,
as ons werklik sien die bladsy se HTML -
Jammer, hierdie is 'n klein sleutel kombenasie verkeerd geloop vandag.
>> Ek sal later gaan met hierdie. So as ons eintlik sien die bladsy se bron,
wat ek hier kan doen deur te kliek reaksie,
dit is wat eintlik terug spoeg in bykomend tot daardie kriptiese 200 OK boodskap van die bediener.
'N bietjie kripties, maar waar is al hierdie kom uit?
Wel, laat ons 'n ander ding doen hier. Nog 'n ietwat kripties opdrag,
maar hierdie een se soort van netjies in die sin dat dit wys vir ons presies wat gaan aan onder die enjinkap.
Dus is ek terug op my Mac, ek het verbind
deur middel van 'n program met die naam van SSH, Secure Shell, na 'n ander bediener
omdat die meeste van Harvard se rekenaars blok die opdrag wat ons is oor om te hardloop
want daar is hierdie opdrag op sommige bedieners genoem trace route
wat u toelaat om die roete tussen die punte a en b op te spoor,
en tot dusver het ons heeltemal neem as vanselfsprekend aanvaar
dat ek kan tik in Google.com en op een of ander manier kry data terug
van halfpad oor die land of halfpad oor die hele wêreld.
Met trace ons kan eintlik duik in 'n bietjie dieper
hoe die Internet werk, en kyk wat gaan aan onder die enjinkap.
So laat ons gaan voort en arbitrêr spoor om 'n roete te sê, Stanford.edu,
wat regoor die land, en druk enter.
Hierdie opdrag kan wees super-vinnige of super-stadige,
maar wat ons nou sien, reël vir reël,
is elkeen van die stappe of hoep tussen ons en Palo Alto, of Stanford,
waar hulle hul webbediener.
So wat beteken elk van hierdie lyne verteenwoordig meer konkreet, al is?
'N stukkie van die jargon van die Internet? [Student, onverstaanbaar]
>> Wat is dit? [Student, onverstaanbaar]
>> O, so daar is tye, maar wat elke ry nie - wat beteken dat ek nie deur hop?
>> Wel, daar is hierdie dinge op die internet genoem routers.
En routers, soos die naam aandui, roete-inligting vanaf punt A na punt B.
Maar daar is 'n paar punte buite a en b.
Daar is c en d en e en f tussen ry 1,
wat gebeur met my rekenaar se IP-adres,
of my numeriese adres, wat uniek my rekenaar identifiseer,
en stap 15, wat eintlik die sesde webbediener,
glo, wat ek afleidings van hierdie, of weergawe 6 van hulle webbediener by Stanford.
Maar wat is soort van netjies is, kan ons sien die pad
dat my 0 en 1 se neem van my rekenaar na Stanford.
So stap 1 is my eie rekenaar se adres.
Elke rekenaar op die Internet het 'n unieke identifikasienommer wat lyk soos hierdie.
Number.number.number.number.
Iewers op hierdie kampus, waarskynlik in die wetenskap sentrum,
word 'n router genoem Core Gateway 2-te83, wat dit ook al beteken,
so dit is een van Harvard se groot fancy routers wat 'n baie van hulle verkeer roetes.
Hier is nog een van Harvard se routers, hierdie een is Border Gateway,
grens betekenis is dit waarskynlik iewers op die rand van die kampus.
Dan is daar nox een, ry 4, wat is Noord Crossroads,
wat 'n groot ISP, Internet Diens Verskaffer,
dat plekke soos Harvard verbind tot.
Maar toe het dinge 'n bietjie interessant in reël 6.
Waar is my stukkies al van 'n skielike? Kansas.
Die wêreld het 'n gewoonte van die lughawe kodes gebruik in 'n baie van hierdie dinge,
of ten minste afkortings vir state of stede,
sodat dit lyk soos, in net 60 ms,
'n pakkie van inligting, 0 en 1 is van my laptop
het al die pad na Kansas, en weer, in 60 ms.
>> Buitendien, ná Kansas, hulle het 'n toer deur middel van Houston, waarskynlik,
soos voorgestel deur die naam van hierdie bediener.
Dus, net soos 'n bediener op die internet moet 'n numeriese adres,
Dit kan ook opsioneel, 'n effens meer mens-vriendelike adres dat mense vorendag gekom met.
Nou, in stap 8, doen ons nie weet wat dit is.
Soms routers net soort van ignoreer jou,
en hulle het net nie die vrae beantwoord nie, so dit is goed.
Die een na stap 8 is blykbaar waar? Griffier:
Kennisgewing in slegs 78 ms, wat neem ons mense soos 6 + ure om fisies te doen,
neem pakkies van inligting op die internet 78 ms om so ver te reis.
Stap 10 in LA is so goed, en stap 11 noord weg blyk te wees, naby Stanford.
Dit is die grens router, of grens router.
'N paar stappe by Stanford wat ignoreer ons,
en laastens, kom ons by die webbediener in net 87 ms.
Nou, al wat van hierdie getalle, as 'n eenkant,
vertel nie net hoe lank dit neem om vir inligting te kry van my
aan elk van hierdie routers, en dit is nie akkumulatiewe.
Wat hierdie program nie, stuur dit die eerste keer 'n boodskap, in wese, tot die eerste router.
Toe het die een na die tweede router, dan een na die derde router,
elke keer te meet. Dus, in teorie, hierdie tye sal groei
of ten minste redelik naby aan mekaar,
en, inderdaad, die kinders wat is reg hier op die kampus is super-klein.
Sodra jy begin gaan regoor die land, wat dit neem om data
'n bietjie langer te reis, nader aan 100 ms, gee of neem.
Maar laat ons nou gaan die ander rigting. Hoe oor die Universiteit van Cambridge in die Verenigde Koninkryk?
Laat my plaas loop trace van www.cam vir Cambridge,
Ac vir akademiese, uk, en druk hier kan insleutel.
Dit was pretty damn vinnig.
My data letterlik na Cambridge, Engeland, in daardie breukdeel van 'n sekonde van die tyd.
>> So laat ons sien die pad wat dit geneem het.
Harvard, Harvard, Harvard, Noord Crossroads,
wat is 'n ISP, en dan is dit Noord Crossroads, en dan bam.
Wat is in die tussen stappe 6 en 7, router 6 en 7?
Die Atlantiese Oseaan. En ons maak afleidings uit die feit dat
ons gaan van 20 ms hier tot 80 ms hier.
So iets het 60 ms, gee of neem, te kry oor.
En dit was waarskynlik 'n groot liggaam van water.
Wat gaan op na daardie? Wel, hier is ons nou in Londen,
net 88 ms later. Meer London, London,
nie seker waar dit is nie, maar ons sal aanneem dit is buite Londen,
Cambridge hier, en uiteindelik het ons - letterlik, Universiteit van Cambridge
Something.net, en uiteindelik, in line 16,
hul web bediener is blykbaar genoem Scorpius
onder die kap, selfs al weet ons dit as die www.
Soort van gedagte-blaas, dink ek. Die eerste keer dat ek dit gedoen het, is dit heeltemal blaas my gedagtes.
Ongelukkig, Harvard blokkeer hierdie soort van die verkeer, tipies op die netwerk.
Sodat jy kan dit nie doen nie super maklik.
Besef, al is, dit is hier moontlik.
Alles reg. Kom ons neem ons 5-minute break hier. Ons sal terug kom en duik dieper.
So ons is terug, en ons het soort van gedrentel oor in 'n paar verskillende rigtings.
So laat se presies wat hier aan die gang te som.
Ons het die gesprek begin praat oor hierdie taal genoem HTML.
Weer, nie 'n programmeertaal. Dit is net 'n opmaak taal
wat is grootliks oor estetika en strukturering van die inhoud in die vorm van 'n webblad.
Maar HTML, dus moet 'n paar soort meganisme
vir reis tussen webblaaier en bediener.
HTML dus soort ritte op die top van hierdie ander taal,
of meer gewoon, 'n protokol, bekend as HTTP.
>> En HTTP, soos ons dit tot dusver gesien het,
is 'n soort van analoog aan hierdie menslike konvensie om hand te skud.
Wanneer 'n leser wil om 'n bladsy uit 'n bediener te versoek,
stuur dit dat "kry" versoek van die leser aan 'n bediener,
en dan die bediener reageer met 'n getal soos 200, alles is okay,
sowel as die HTML-of 'n paar slegte getal soos 404, lêer nie gevind nie.
Maar intussen, HTTP self is nie die Internet, per se.
HTTP is net 'n diens, 'n kenmerk van die Internet
baie soos G-chat is 'n ander diens, baie soos e-pos is 'n ander diens.
Daar is alle vorme van die dinge wat ons kan doen op die internet.
HTTP is net een van dié aansoeke.
Dus, op die top van HTTP is op die top van iets anders
wat ons nie by die naam noem, mag jy dalk gehoor het van by die naam, TCP / IP.
So die storie dat ons net daar vertel is alles oor
hoe data beweeg van punt A na punt B.
En in hierdie geval, ons het op 'n baie lae vlak
router router router te router,
hoe die data is eintlik gestuur word.
Maar langs die pad, is dit aan die gang verskeie struikelblokke te ontmoet.
Behalwe hierdie routers, daar is dinge wat firewalls op die Internet,
en so data, soos wat ons was net die oordrag van
van my aan Stanford, van my aan Cambridge,
gestuur word, op hierdie vlak, iets genaamd 'n IP-adres.
Ons het dit 'n oomblik gelede, en 'n IP-adres
is net 'n numeriese adres van die vorm w.x.y.z,
waar elk van hierdie is tussen, gee of neem, 0 en 255,
maar jy kan nie heeltemal al daardie getalle.
Maar elkeen van hierdie plek houers is 'n getal tussen 0 en 255.
So 'n IP-adres van hierdie dae is 32 bisse.
>> Nou, dit gee ons hoeveel moontlike IP-adresse in die wêreld?
Sowat 4 miljard, want enige tyd ons tel in magte van 2
al die pad tot by 32 van iets, wat ons gee gewoonlik 4 miljard.
So dit is 'n baie van IP-adresse, maar jy kan lees,
of jy kan nou sien in die populêre pers,
roep 'n push na 'n nuwe weergawe van IP IPv6.
Reg nou is ons die gebruik van weergawe 4.
Daar is regtig nie 'n weergawe 5, ons is net spring reg tot 6.
Weergawe 6 is 128 stukkies te gebruik vir die IP-adresse, wat is freaking groot.
Ons moet nie uit vir 'n geruime tyd nou,
maar ons het begin om uit te voer van weergawe 4 IP-adresse,
want almal van ons het nie net dinge soos skootrekenaars en desktops,
baie van ons het selfone, baie van ons het ander toestelle
soos TiVo en die soos wat IP-adresse self.
Harvard self het tien duisende van rekenaars.
Sodat die wêreld is werklik besig om uit te loop van IP-adresse, ten minste van hierdie vorm.
So oor die volgende paar jaar, gaan jy die adresse te sien
op jou eie rekenaars waarskynlik stadig verander
soos meer en meer maatskappye en universiteite begin om die nuwer weergawe te ondersteun.
Maar 'n IP-adres is nie voldoende vir die rekenaar 'n data van die rekenaar b aan te vra.
Omdat rekenaar b 'n bediener kon wees,
en 'n bediener, soos ek vroeër genoem het, kan trosse van dinge doen.
Dit webblaaie kan aanbied, kan dit 'n e-pos bediener,
dit kan 'n Skype-bediener, kan dit 'n G-chat server.
>> Al hierdie verskillende dienste wat voorsien word op 'n bediener
kon al, fisies, op dieselfde masjien.
Dus, in Benewens IP-adresse,
die wêreld het die dinge wat ons hawens op die Internet genoem.
'N hawe is net 'n nommer nie, so daar is 'n unieke nommer vir HTTP.
Sy getal is 80.
HTTP gebruik ook nommer 443, maar meer spesifiek, vir geïnkripteer HTTPS.
Wanneer jy sien die s, vir 'n veilige, dat die gebruik van 'n ander getal.
Daar is ander getalle soos 25, wat gebruik word vir iets genoem SMTP, andersins bekend as e-pos.
Daar is iets genaamd 22 vir SSH,
en daar is 'n hele klomp van die ander hawens daar buite.
Nou, ons mense selde sien hierdie getalle.
Maar, wanneer jy tik in 'n adres soos http://www.facebook.com
die leser is die geheim invoeging 80, omdat jy met behulp van HTTP.
As jy, in plaas tipe HTTPS, dit is die geheim die invoeging van 443.
En ons kan soort van sien dit handmatig as ek trek 'n Brower
en gaan tot http://www.facebook.com:80.
Daarom uitdruklik met verwysing na nie net die naam van die webwerf
maar die poort wat ek wil om te praat, en druk enter.
Let op dit verdwyn, omdat die leser aanvaar,
oh, 80, ek nie eens gaan om te pla toon dat jy.
Maar die rede hiervoor is dat as ek eintlik wou iemand 'n e-pos te stuur,
Ek sou regtig stuur dit aan hulle op poort 25, dat SMTP.
'N bietjie van 'n oorvereenvoudiging, maar sommige van julle het vriende
wat eintlik werk op Facebook, en hulle, op soortgelyke wyse, het bedieners wat e-pos ontvang.
>> Enige tyd wat jy stuur 'n e-pos, wat is gmail vir jou doen
of Outlook of wat ookal program wat jy gebruik,
dit is soort van die geheim invoeging dat die getal, asook, 25, in daardie geval.
Dit is hierdie kombinasie van 'n IP-adres en uniek nommer wat identifiseer
'n rekenaar op die internet en 'n spesifieke diens op die rekenaar.
Nou, natuurlik, die meeste van ons waarskynlik nooit getik handmatig 'n IP-adres.
Miskien het jy in die toestel, maar in die werklike wêreld, nie so erg.
Waarom sou ons geen IP-adresse in die blaaier te tik?
Dit sou werk, in werklikheid, kan ons sien, laat ek jou wys
'n ander bevel wat enige plek werk op Harvard se kampus op 'n Mac of 'n rekenaar.
Daar is hierdie bevel genoem nslookup, name server lookup.
As ek opkyk www.cnn.com, dit blyk dat CNN het - oh, interessante.
CNN het begin met behulp van Amazon Web Services.
Jy dalk weet van Wolk Computing, Amazon is een van die groot spelers in die wolk rekenaar.
Wat ek nou net gedoen het, was, het ek gesê, "Gee my die adres van CNN se web-bediener,
maar dit blyk dat CNN se web-bediener word bestuur deur Amazon,
Amazon Web Services, dit dui daarop.
En die adres van die bediener is dit hier.
So ek is nie seker of dit sal werk, want hulle het nie gebruik Amazon te gebruik.
Maar laat ons probeer om hierdie; http://, IP-adres, betree, en -
dit gaan om te werk?
Ja. Dit gaan om te werk. Internet is super-stadige vandag.
Maar, in 'n oomblik, sal jy sien 'n paar nuus storie.
Daar gaan ons. Bank van Amerika se gedagvaar word. Alles reg.
>> Dit is omdat hierdie IP-adres net gebeur deur sinoniem met www.cnn.com.
Natuurlik, sou dit verskriklik bemarking wees om te sê, besoek ons ​​op die web by 50.112.94.127.
Jy sou nooit onthou nie. So selfs hierdie dae wat jy kan onthou dinge
die wêreld het soos 1-800-COLLECT of geheue hulpjes vir telefoonnommers.
Wat voor selfone, was nogal moeilik om te onthou
totdat jy kan net tik dit in en vergeet oor dit.
So het die Web, ook, het hierdie konvensie van name en IP-adresse,
en daar is hierdie dinge daar buite het DNS-bedieners,
domein naam bedieners, wat vertaal IP-adresse in name en vice versa.
So dit is wat gaan aan onder die enjinkap.
Op die ou end, het ons TCP / IP, wat is hierdie 'n baie lae vlak protokol
dat, regtig, kry net 0 en 1's oor die internet,
en dit doen dit deur hulle in 'n virtuele koevert,
as jy wil, en skryf op die buitekant van die koevert
die IP-adres van die bestemming, asook die numeriese poort nommer
van die diens op die bestemming wat dit wil om te praat met.
Intussen, op die koevert daar is ook iets wat bekend staan ​​as 'n terugkeer adres,
wat is jou IP-adres, sodat wanneer CNN kry 'n pakkie van die inligting van jou,
hierdie virtuele koevert oopmaak, sien dat jy wil hê dat die home page,
hy weet van die sender deel van hierdie virtuele koevert wie die HTML terug te stuur.
So laat ons neem 'n blik op hierdie in 'n bietjie meer detail.
Dit is van 'n maatskappy genaamd Ericson, van 'n paar jaar terug.
En hulle het 'n paar vryhede met hoe die Internet werk,
maar dit verf 'n veel meer visuele prentjie as net kryt hier.
So EK gee julle "'n bietjie van die internet."
>> [Verteller] Vir die eerste keer in die geskiedenis,
mense en masjinerie werk saam, die verwesenliking van 'n droom.
'N verenigende krag wat ken geen geografiese grense.
Sonder inagneming van ras, geloof, of kleur.
'N nuwe era waar kommunikasie werklik mense saam bring.
Dit is
Die aanbreek van die Net.
Wil jy om te weet hoe dit werk? Kliek hier om jou reis om te begin in die Net.
Nou, presies wat gebeur wanneer jy op die skakel gekliek?
Jy begin met 'n vloei van inligting.
Hierdie inligting reis in jou eie persoonlike postkamer
waar mnr. IP pakkette, etikette, en stuur dit op sy manier.
Elke pakkie is beperk in sy grootte.
Die e-pos-kamer moet besluit hoe om die inligting te verdeel
en hoe om dit te verpak.
Nou, die pakket moet 'n etiket wat belangrike inligting bevat
soos afsender se adres, die ontvanger se adres, en die tipe van die pakkie is dit.
Omdat hierdie spesifieke pakkie gaan uit op die Internet,
dit kry ook 'n adres vir die proxy server,
wat het 'n spesiale funksie, soos ons later sal sien.
Die pakkie is nou van stapel gestuur op jou plaaslike area netwerk of LAN.
Hierdie netwerk word gebruik om al die plaaslike rekenaars aan te sluit '
routers, drukkers, ensovoorts, vir die uitruil van inligting binne die fisiese mure van die gebou.
Die LAN is 'n mooi onbeheerde plek, en ongelukkig,
ongelukke kan gebeur.
Die grootpad van die LAN is gepak met alle vorme van inligting.
Dit is IP pakkies, Novell pakkies, Apple Talk pakkies.
Hulle gaan teen die verkeer, soos gewoonlik.
Die plaaslike router lees die adres en, indien nodig,
lig die pakkie na 'n ander netwerk.
Ag, die router. 'N simbool van beheer in 'n oënskynlik ongeorganiseerd wêreld.
[Router gemompel en praat vir homself]
>> [Verteller] Daar is hy, sistematiese, liefdeloos, metodiese,
konserwatief, en soms nie heeltemal te bespoedig.
Maar ten minste het hy is presies, vir die grootste deel.
As die pakkies die router verlaat, hulle maak hul pad in die korporatiewe Internet
en hoof vir die router skakelaar.
'N bietjie meer doeltreffend as die router, die router skakelaar speel vinnig en los met 'n IP pakkies,
behendig routing hulle langs die pad.
'N digitale Pinball Wizard, "as jy wil.
[Router skakelaar vir homself praat]
[Verteller] As pakkies op hul bestemming aankom,
hulle is opgetel deur die netwerk koppelvlak,
gereed om te gestuur word na die volgende vlak.
In hierdie geval, die gevolmagtigde.
Die volmag deur baie maatskappye gebruik as 'n soort van 'n middeljarige man
ten einde die las op die Internet verbinding te verminder
en vir sekuriteit redes, as well.
Soos jy kan sien, die pakkies is al van verskillende groottes, afhangende van die inhoud daarvan.
Die gevolmagtigde maak die pakkie oop en kyk vir die web adres of URL.
Afhangende van of die adres aanvaarbaar is,
die pakkie is gestuur op die Internet.
Daar is egter 'n paar adresse wat nie voldoen aan met die goedkeuring van die volmag.
Dit is om te sê, korporatiewe of bestuur riglyne.
Dit word summier behandel.
Ons sal nie een van daardie.
Vir diegene wat dit maak, dit is weer op die pad.
>> Next up, die firewall.
Die korporatiewe firewall dien twee doeleindes.
Dit verhoed dat sommige eerder nare dinge van die Internet kom in die Intranet,
en dit kan ook verhoed dat sensitiewe korporatiewe inligting gestuur word op die Internet.
Sodra deur die firewall, 'n router die pakkie optel
en plaas dit op 'n veel nouer pad, of bandwydte, as ons sê.
Natuurlik, die pad is nie breed genoeg is om hulle almal te neem.
Nou, kan jy dalk wonder wat gebeur met al die pakkies wat dit nie maak langs die pad.
Wel, wanneer mnr. IP nie 'n erkenning ontvang nie
dat 'n pakkie op die regte tyd ontvang is,
stuur hy net 'n plaasvervanger pakkie.
Ons is nou gereed om die wêreld van die Internet in te voer.
'N spinnerak van onderling netwerke wat ons hele wêreld strek.
Hier, routers en switches skakels tussen netwerke.
Nou, die Net is 'n heeltemal ander omgewing as wat jy sal vind
binne die beskermende mure van jou LAN.
Hier, dis die Wilde Weste.
Baie van die ruimte, baie geleenthede,
baie van die dinge om te verken en plekke om te gaan.
Te danke aan baie min beheer en regulering,
nuwe idees vrugbare grond om die koevert te stoot van hul moontlikhede.
Maar as gevolg van hierdie vryheid, ook sekere gevare loer.
Jy weet nooit wanneer jy voldoen aan die gevreesde ping van die dood,
'n spesiale weergawe van 'n normale versoek ping,
wat 'n idioot het gedink tot gemors niksvermoedende die leërskare.
Die pad wat ons pakkies neem kan via satelliet,
telefoonlyne, draadloos, of selfs oceaan kabel.
Hulle nie altyd die vinnigste of kortste roetes moontlik,
maar hulle sal daar uiteindelik kry.
Miskien is dit waarom dit soms genoem "The World Wide Wag."
Maar wanneer alles vlot,
jy die wêreld kan vyf keer oor omseil by die druppel van 'n hoed, letterlik.
En vir die koste van 'n plaaslike oproep of minder.
Naby die einde van ons bestemming, ons kry nog 'n firewall.
>> Afhangende van jou perspektief as 'n data pakkie,
die firewall kan 'n bastion van sekuriteit of 'n gevreesde teenstander wees.
Dit hang alles af van watter kant jy is en wat jou bedoelings is.
Die firewall is ontwerp om jou te laat in slegs daardie pakkies wat voldoen aan die kriteria.
Hierdie firewall poorte 80 en 25.
Alle pogings om in te gaan deur die ander hawens gesluit is vir besigheidsdoeleindes.
Port 25 is wat gebruik word vir die pos pakkies,
terwyl poort 80 is die ingang vir pakkies van die Internet die webbediener.
Binne die firewall, word pakkies meer deeglik gekeur.
Sommige pakkies maak dit maklik deur die doeane,
terwyl ander kyk net 'n bietjie twyfelagtige.
Nou, is die firewall beampte nie maklik geflous,
soos wanneer hierdie ping van die dood pakkie probeer om homself te vermom as 'n normale ping pakkie.
[Firewall beampte te praat pakkies]
[Verteller] Vir diegene pakkies gelukkig genoeg is om dit so ver,
die reis is byna verby.
Dit is net 'n lyn op die koppelvlak om opgeneem te word in die web-bediener.
Vandag, kan 'n web bediener hardloop oor baie dinge,
van 'n mainframe na 'n web cam op die rekenaar op jou lessenaar.
Waarom nie jou yskas?
Met die regte setup, kan jy vind uit of jy het '
vir Chicken Cacciatore, of as jy het om te gaan inkopies doen.
Onthou, dit is die begin van die Net.
Byna enigiets is moontlik.
Een vir een, is die pakkies ontvang,
oopgemaak word, en uitgepak.
Die inligting wat hulle bevat, dit is jou versoek vir inligting,
gestuur word na die web bediener aansoek.
Die pakkie self herwin,
gereed om weer te gebruik, en gevul met jou gevraagde inligting,
aangespreek is, en uitgestuur op sy pad terug na jou.
Terug verby die firewall, routers, en deur tot die Internet.
Terug deur jou korporatiewe firewall
en op jou interface,
gereed om jou webblaaier met die inligting wat u versoek het, te voorsien.
Dit is hierdie film.
Tevrede met hul pogings, en vertrou die beter wêreld,
ons betroubare data pakkies ry salig in die sonsondergang van 'n ander dag,
wetende dat ten volle hulle hul meesters gedien het goed.
Nou, is dit nie 'n gelukkige einde?
[Malan] Okay, dis genoeg. Ons sal jou volgende week sien.
[CS50.TV]