[Powered by Google Translate] [Viikko 7, jatkuu] [David J. Malan, Harvardin yliopisto] [Tämä on CS50.] [CS50.TV] Selvä. Tervetuloa takaisin. Tämä on CS50, ja tämä on loppuun viikolla 7. Joten yksi näistä tyhmiä pikku asioita, jotka kiertää Internet ja me slurped ylös, ja se pitäisi nyt tehdä hieman geeky järkeä sinulle. No, se oli hauskempi tämä kaveri kuin se oli teille. Puhuminen, hyvin, kaverit, tänään on Naten syntymäpäivä. Antaa sinulle tunteen, kuinka hyvä Nate ja minä www kehitys perustuu maanantain luokka ja perustuu nyt tähän, Ajattelin vetää Nate kotisivu, jos et ole nähnyt sitä vielä. Tämä tässä ia Naten HTML. Joten nähdä hänen lähdekoodin jos haluat nähdä, miten tämä, ja Nate, jos voisimme embarass juuri lyhyesti, henkilökunta on sinulle jotain pientä Jos haluat jakaa joitakin jälkiruoka joidenkin lapset luokassa täällä. Jos haluat tulla alas. Te kaikki suosiota ja ovat erittäin mukava, mutta kukaan ei istu lähellekään Nate, jostain syystä, että takaisin vyöhykkeellä. Joten ehkä löydät joitakin seudullamme nauttia näistä kanssa. Hyvää syntymäpäivää, Nate. Muita hellos: Meillä oli pari leikkeitä meidän CS50x opiskelijoita. Jos haluat nähdä kuka muu se on maailman joka on seuraava pitkin, voit suunnata tätä URL- jossa Joseph, yksi TF, on koonnut montaasi tapaisena kaikille, jotka on esittää näitä videoita, joukossa Rick Astley. Ja jos selaat näitä, se on oikeastaan ​​aika inspiroivaa nähdä erilaisia ​​maita ja kaupunkeja, joissa ihmiset ovat satelliittiseurantajärjestelmillä. Joten jos haluat vilkaista, että se tulee läpi lukukauden loppuun. Tänään jatkamme tarkastella Web, Web-ohjelmointi, HTML ja vastaavat, ja me myös nauttia lounasta tulossa perjantaina jos haluat, ja erityisesti, eivät ole tehneet sitä ennen. Tänä perjantaina teemana on Naten syntymäpäivä, joten jos haluat olla syntymäpäivä lounas Nate ja toiset, jotkut meidän ystäviä Industry, ota pää että URL siellä. Avaruus, kuten aina, on rajallinen. Myös, jos olet unohtanut, ymmärtää, että ensi viikolla on määräaika Harjoitus 4: n raadonsyöjä metsästää, jolloin toivuttuaan kaikki nämä JPEG peräisin card.raw, sinun ja osassa kaverit, jos haluat, voit kokeilla valokuvaus koska monet tietokoneen tiedemiehiä että muistikortilta mahdollisimman ja sinun ja kohta sitten voittaa upea palkinto. Katso takaisin PSET 4 toiveiden mitä tehdä ja milloin. Myös, jos haluat kirjoittaa käsialaa ikuistanut kurssin verkkosivuilla ja sen historiasta vaatteita, tietää, että olet tervetullut nyt alkaa esittää malleja Tämän vuoden T-paidat ja colleget ja vastaavat. Teemme parhaamme mukaan niin monta kuin voimme, mutta meillä on joitakin jäseniä henkilökunnan tarkastella kaikkia malleja varmista, että ne ovat sopusoinnussa eritelmät, ja me sitten valita yleensä kourallinen niitä näytteille. Joten jos olet tyyppiä, vain tietää, että vaatimukset grafiikka ovat PNG, vähintään 200 dpi, niiden pitäisi olla enemmän kuin 4000 x 4000 pikseliä, ja enintään 10 Mt, mutta olet tervetullut käyttää asioita, kuten Photoshop tai GIMP tai erilaisia ​​graafisia ohjelmia, mitä teidän käytettävissänne. Myös näköpiirissä on opinnäytetyön. Opinnäytetyö on todella huipentuma 50, jolloin kaikki tehtävät aikana, se on teidän tilaisuus todella tehdä omia juttuja. Ja se voi olla yksinkertaisesti tehdä jotain hauskaa, se voi olla ratkaista joitakin akuutein ongelma teidän opiskelijaryhmä on, joillekin uusi verkkosivusto, jotkut uuden malliston mekanismi tietojen. Se voi olla mobiilisovellus Android, iOS. Oikeasti, taivas on rajana, ja tulevina viikkoina, kuten siirtyminen C näihin korkeamman tason kieliä kuten PHP ja JavaScript, löydät itsesi yhä perehtynyt joitakin reaalimaailman tekniikoita, joitakin reaalimaailman välineitä, ja täydentää, tietää, että kurssi on ollut seminaareja, jolloin useiden seuraavien viikkojen joitakin opetushenkilöstön ja ystävät meidän päässä kampuksella tarjoaa valinnaisia ​​seminaarit jotka menevät edellä ja sen jälkeen mitä yleensä tehdään jaksossa esitellä sinulle asioita, kuten Android ohjelmointi, esitellä sinulle asioita, kuten iOS ohjelmointi tai kehittyneempiä web-kehitys tekniikoita. On koko historian näistä jo verkossa. Jos menet cs50.net/seminars, olemme tehneet tätä jo vuosia, ja näet, että arkistoidut täällä PDF ja videoita sekä kaltaiset useita kymmeniä videoita seminaareja. Viime vuonna esimerkiksi meillä oli seminaarin acing teidän teknisistä haastattelut, Jos olet todella etsivät mennä pois ja tehdä työharjoitteluun tai kokopäiväisesti keikka. Windows mobile kehittäminen, Android kehittäminen, Google Maps, API, CSS, kehittymässä BlackBerry, Emacs. Oikeasti, olet tervetullut katsomaan jotakin näistä seminaareista milloin sinulle sopii. Ja me järjestämme joitakin uusia tämän lukukauden, samoin. Joten mikä on eteenpäin opinnäytetyön? No, ensinnäkin, vaikka tämä ajankohta on jokseenkin välitön, Tämä on oikeastaan ​​vain mahdollisuuden alkaa miettiä opinnäytetyön varsin realistisesti. Tiedämme vain alkaa joidenkin mitä me vielä kattavat aikana, HTML, PHP ja vastaavat, mutta et kaikkia tuttuja web- ja minä bias tämän keskustelun kohti Web pelkästään useimmat ihmiset päätyvät tekemään web-pohjainen lopullinen hankkeita, mutta tämä ei ole mitenkään vaadittu. Käyttämällä C on hieno, objektiivinen C, Java, muulla kielellä saatat tietää tai tietää varsin hieno. Mutta saada mehut virtaava aluksi, me odotamme jättämistä preproposal joka kohden PDF verkkosivuilla, joka on nyt cs50.net, ja yläreunassa vasemmalla näet opinnäytetyön on eritelmän opinnäytetyön, ja on olemassa yksityiskohtia preproposal ja vastaavat. Se aika paljon kuihtuu lähettämällä sähköpostia opetusta muiden vain löytää jopa keskustella hänen kanssaan siitä, mitä ajattelet. On projects.cs50.net on varasto ideoita ihmiset kampuksella jos olet kamppailee keksiä jonkinlainen käsitys, ja manual.cs50.net/APIs on kokoelma linkkejä API. Mikä kuitenkin on API? Mikä API? Olen sanonut sen ainakin kahdesti, mukaan selostukset aiemmin useita viikkoja. Mikä tuo on? [Student, käsittämättömällä] >> Okei, hyvä. Joten jotain ohjelmointirajapinta. Application Programming Interface, ja tämä voi kestää useita muotoja, mutta mitä tämä oikeastaan ​​pohjimmiltaan kyse on koodin että joku muu HS kirjallisia tai tietoja, jotka joku muu on kerätty joka on saatavilla sinulle joitakin ohjelmallinen tavalla. Voit kirjoittaa koodia C, PHP, Python, Ruby, mitä haluamallasi kielellä tyypillisesti, ja voit jotenkin perustua jonkun toisen toiminnallisuutta tai jonkun muun tietokokonaisuutta. Esimerkiksi, jos menen tätä linkkiä tänne, ja näet pari linkkejä seuraavilta sivuilta jolloin meillä CS50 oma API, jotka ovat hyvin Harvard-centric, ja sitten kolmannen osapuolen API. Niistä kolmannen osapuolen API ovat todella hyödyllisiä asioita kuten voi lähettää tekstiviestejä ihmisille, pysty vastaanottamaan tekstiviestejä ihmisiltä. Ja asioita, kuten että saatat ole aavistustakaan miten toteuttaa itseäsi, mutta kiitos palvelut, joitakin vapaita ja osa kaupallisia, voit rakentaa huipulla ne ja tehdä jotain kiinnostaa sinua. Niistä CS50 n API nämä kampus-centric asioita, kuten Harvard kursseja, energia, tapahtumat, ruoka, kartat, uutiset, tweets ja Shuttleboy oman, ja nämä ovat API, jotka näyttävät hieman jotain tällaista. Saanen nosta HarvardFood API. Jos olet joskus ollut HUD verkkosivuilla, olet todennäköisesti ollut siellä vain nähdä, mitä tänään syötäisiin tai mitä työajat ovat joidenkin d-sali. No, se ei ole erityisen helppo navigoida, ja niin me ei jokin aika sitten oli kirjoitimme ohjelmisto, Se sattuu olemaan PHP, joka todella näytön naarmuilta kokonaisuudessaan HUD verkkosivuilla. Seuloa kaapia jotain merkitsee kirjoittaa ohjelman kieli kuten PHP että teeskentelee olevansa selain, vaikka saatat ajaa sitä komentokehotteesta että teeskentelee olevansa selaimen, yhdistää verkkosivuilla, lataa sen HTML, millä kielellä se on kirjoitettu, ja lukee sitten se, tai tarkemmin sanottuna, jäsentää sen ylhäältä alas, vasemmalta oikealle. Ja mitä teimme oli Kirjoitimme koodin siten, että tahansa näimme jotain että HTML että näytti jotain valikon kuten hampurilainen, me sitten tuoda sen osaksi omaa tietokantaa. Ja tahansa näimme ravitsemuksellista sisältöä, voisimme tuoda sen osaksi omaa tietokantaa. Ja mitä teimme oli hyödyntää että HUD verkkosivuilla, vaikka se saattaa olla hieman haasteellista meille ihmisille navigoida alla huppu, kaikki HTML syntyy oman tietokoneohjelmia. Joten kaikki niiden HTML, vaikka se saattaa näyttää sotkuinen, Kuten useimmat verkkosivustot alla huppu seuraa kaavaa. Joten me juuri viettänyt pari tuntia mietitään, että malli niin että lopulta me heittää pois kaikki sotkuinen HTML, kaikki estetiikka lihavoitu puolella, ja kursiivilla ja vastaavat, ja mitä me sitten voimme tehdä on paljastaa, että samoja tietoja. Esimerkiksi tällä tavalla. Joten me mukaan asiakirjat täällä, ovat ilmoittaneet maailmalle, että jos pyydät URL joka näyttää tältä, food.cs50.net / jotain, ja annat tiettyjä parametreja, jotka me puhumme tänään, kuten päättymispäivän aika, aloitus-päiväys aika, ateria ja niin edelleen, mitä palvelimet palaa teille, esimerkiksi on CSV-tiedosto, pilkku separted arvoista, kuten Excel-tiedoston, sisältää kaiken aamiaista tässä ajankohtana viime vuoden maaliskuussa kun satuin kirjoittamaan tätä asiakirjat. Niille tuttuja, CSV ei ole ainoa tiedostomuoto. On toinen muoto, kaikki monipuolisempi kutsutaan JSON, JavaScript Object Notation. Data voi tulla takaisin tässä muodossa. Joten takeaway tässä on, että onko sinulla sukeltaa tähän API tai mikä tahansa muu CS50: n tai mitään siellä Internetissä, tai ei ollenkaan, ymmärtää, että maailma on yhä alkanut yhdenmukaistaa miten koneiden yhteydessä toisiinsa. Käytämme vakio tiedostomuotoja, kuten CSV-tai JSON. Ja mitä tämä merkitsee sinulle on, voit kirjoittaa mielenkiintoinen osa ohjelman jonka avulla käyttäjän hakea ruokasali valikosta jonka avulla he voivat luoda luetteloita suosikkeja, jonka avulla ne saavat tekstin ilmoituksia kun heidän suosikki aterian ollaan tarjoillaan joissakin d-sali käyttämällä jonkun toisen paikkatietoaineistojen ja rakentaminen päälle heidän API. Joten lisää, että muodossa seminaarien ja asiakirjat, jotka olet täällä verkossa. Joten ne sitten ovat API. Tämä tuo meidät takaisin HTML. Nopea kertaus. Mikä on HTML? [Student, käsittämätön] >> Hyvä. HyperText Markup Language. Joku muu, mikä on Hypertext Markup Language? HyperText Markup Language. Okei. Joten HTML, Hypertext. HyperText vain viittaa Web, suurimmaksi osaksi. Markup tarkoittaa, että se ei oikeastaan ​​ohjelmointikieli, HTML. Se ei ole kieltä, että voit ilmaista logiikan sisään Se ei ole silmukoita. Sillä ei ole edellytyksiä. Se ei ole toimintoja, sinänsä. Pikemminkin se on näitä asioita kutsutaan tagit, tai oikeammin elementtejä. Ja nämä seikat on alku tageja ja loppu tunnisteet, tai auki tageja ja suljettuja tunnisteet, ja mitä nuo koodit yleensä tarkoittaa selain on, alkaa tehdä jotain ja sitten lakata tekemästä jotain, vaikka on olemassa poikkeuksia tähän. Joskus se on vain "laittaa rivinvaihdon täällä," esimerkiksi. Ja me näimme esimerkkejä että toinen päivä, välillä rohkea edessä, rivinvaihdot ja sitten pari muuta tageja. Joten HTML on kieli, jolla web-sivuja on kirjoitettu. Joten jos menen jotain Google.com ja vedä ylös juuri heidän kotisivun, muistuttaa, että jos oikealla painikkeella tai Ctrl-osoittamalla ja tarkastella View sivun lähdekoodia, tyypillisesti se täydellinen sekasotku näinä päivinä alla huppu, mutta se johtuu tietokoneet eivät välitä valkoisen tilan, joten se ei tarvitse näyttää aika. Mutta jos me zoomata osat, huomaa, että Chrome, vain olla mukava, on värikoodattu asioita. Itse asiassa tämä on ensimmäinen tunnisteen että näimme sivun. Ja vielä, HTML 5, uusin versio tällä kielellä, ei ole tätä asiaa alussa, > Joo, olemme ratkaisseet tämän ennen nimenomaisesti kertomalla selaimen laittaa rivinvaihdon täällä. " Ja se johtuu siitä, jälleen, selaimen vain aikoo tehdä nimenomaan mitä kuvauskieli kertoo sen tehdä, joten vaikka olet ehkä painaa enteriä kerran tai kahdesti tai jopa kymmenen kertaa, se tulee yhdistää kaikki yhdeksi tilaan, vain yleissopimuksessa. Joten jos todella haluat rivinvaihdon, sinun on käytettävä br tunnistetta, ja nyt ilmoitus, kuten maanantaina laitoin / sisäpuoli tämän tunnisteen, vain koska tämä ei vain tunnu oikealta aloittaa rivinvaihdon niin lopeta se mitään siltä väliltä. Joten yleissopimuksen HTML on avata ja sulkea tag samanaikaisesti. Sivuhuomautuksena, näet paljon sivustoja kirjoista ei tee sitä. On oikein tehdä tai olla tekemättä sitä, mutta väittäisin että suunnittelu-viisas ja tyylillisesti, tämä on vain parempi koska silloin jokainen tunniste on sekä avata ja sulkea jotenkin. Joten nyt mennään tallentaa ja ladata. Mene takaisin selaimen, okei. Nyt Teemme jonkin verran, mutta se ei aivan riitä. Mennään eteenpäin ja alkaa kirjoittaa joitakin pitempiä tekstiä. Joten sanokaamme, "nopea ruskea kettu hyppää yli laiska koira." Ja nyt haluan vain kopioida ja liittää tämän muutaman kerran niin että meillä on tekstikappale. Saanen palata tänne. Joten se ei ole näyttää hyvältä. Minulla rivinvaihdon, joten se on okei, mutta nyt, kun saamme siihen pisteeseen, jossa web-sivun että on paljon sisältöä eikä vain yksittäisiä linjoja osoittamaan HTML, voimme alkaa ajatella näitä asioita todellisina kohdat. Ja voimme alkaa jäsentää nettisivumme hieman puhtaammin. Ja todellakin, mitä voin tehdä, on mennä täällä sisällä ruumiini tag, ja tiedätkö mitä, jos "Tämä on CS50. . . " todella demarks alkuun kappaleen No, merkitä sitä sellaisena. Saanen luetelmakohdan tekstiä, vain sopimuksen mukaan, sanon että tämä kohta loppuu tähän, ja sitten kuin ei tämä rivinvaihto, sanon vain että tämä kuuluu sinne ja uusi kohta, ja minä vain nopeasti luetelmakohdan mukaan vain clobbering kaikki tätä kamaa. Joten nyt meillä on sisennetty kappale siellä, ja nyt meidän markup on alkanut saada hieman enemmän semanttisesti johdonmukaisia ​​mitä yritämme tehdä. Meillä on kohta, joten kutsukaamme sitä kohtaan, jossa p tag. Meillä on toinen kohta, joten kutsukaamme sitä kohtaan, jossa p tag. Ja nyt, mitä selain tyypillisesti tee on aivan kuten Englanti kirjan tai essee, jossa tyypillisesti nähdä rivinvaihdot kappaleiden väliin. Selaimet tekee sen puolestasi automaattisesti. Joten nyt meillä on kaksi kohtaa, ja voimme jatkaa tätä. Mutta tietenkin, Web, kun olet elinten tekstin se ei ole yleensä vain valtava läiskä tekstin. On usein hyperlinkkejä siellä. Joten jos haluamme esimerkiksi sisältävät joitakin linkkejä siellä, Oletetaan, mikä voisi olla kiinnostava tahansa verkkosivun Luon tässä - anna minun mennä Google.com, ja anna minun etsiä nopea ruskea kettu. Siirry Google kuvia, ja, miten noin - tämä on söpö. Menemme tätä. Joten tässä meillä on nopea ruskea kettu hyppää yli laiska koira. Joten mitä aion tehdä täällä, vain sen vuoksi esittely, on olettaa, että tämä kuva oli minun palvelimelle, ja olin ollut luomassa näitä kuvia. Mitä tein oli oikealla painikkeella tai hallita klikkaa kuvaa, ja mitä näet useimmissa selaimissa on pieni menu - lopettaa tuon - pieni valikon, josta voit valita Kopioi linkin osoite tai Kopioi URL. Joten anna minun mennä takaisin nyt minun HTML, ja oletetaan, että haluan että hyperlinkin tämän toisen sivun. Mikä oli tag vaati, että? [Student, käsittämätön] >> Joo. Joten href hyper viite. Anna minun mennä eteenpäin ja liitä se tuumaa Se on melko pitkä URL, joten saanen zoomaa takaisin ulos. Sulje suluissa, joten nyt huomaa olen niin tänne koska URL sattui olemaan melko pitkä. Saanen siirry tänne loppuun nopea ruskea kettu, ja anna minun sulkea tämän tunnisteen . Joten kaikki yläosassa sinisellä on vain kommentti. Tämä on minun DOCTYPE ilmoitus, joka taas voit vain kopioida ja liittää uskoon, nyt. Tämä vain kertoo selaimen, "Täältä tulee joitakin HTML 5." Alla, että linjalla 14, on ensimmäinen minun todellinen tunnisteet, ja tämä sanoo vain, kuten ennenkin, tässä tulee joitakin HTML, tässä tulee pää sivuni, tässä tulee otsikko, ja sitten päinvastoin, se on se otsikko, joka on se pään. Tässä nyt tulee body-osaan. Joten pari uutta tags nyt: H1 tarkoittaa otsakkeen 1. On perinne HTML monta vuotta taaksepäin ja joilla on eri koot tekstiä. Ja takaisin päivässä, jokainen tarkoitti yleensä vain iso ja rohkea. Mutta on myös H2, joka on iso, mutta ei aivan niin iso ja rohkea. On h3, mikä on tavallaan iso, mutta ei läheskään niin iso ja rohkea, ja niin edelleen, kaikki alas h6. Nykyään kuitenkin, H1, H2 ja H3 ovat todella tarkoitti on enemmän semanttinen merkitys niille, jolloin H1 on todella otsikko: otsikko verkkosivun, otsikko sarakkeen tai jotain tekstiä. Joten olen tarkoituksella sanonut H1 CS50 haku> H1 sen tarkentakaa että tämä on todella otsikon, otsikko sivuni. Ei otsikkoa otsikkopalkissa mielessä, mutta otsikko että voit itse nähdä Web-sivun itse kehossa. Nyt tämä arvata mitä se on, vaikka meillä on muutamia uusia paloja syntaksin. Tämä on muoto. Eli web todella saa mielenkiintoista kun sivustot ottaa käyttäjien syötteitä. Tässä luokassa on ongelma asettaa web-ohjelmointi, emme aio tehdä verkkosivuilla, sinänsä, staattisella sisältö näyttää valokuvia, jotka olet ottanut, tai tämä on minun jatkaa, ja asioita minusta, koska nämä asiat ovat suhteellisen helppo koota. On vaikea tehdä asioita kauniita Webissä, mutta ainakin pystyttämiseen sisältö on melko triviaali. Mutta tilanne muuttuu todella mielenkiintoinen, kun joku voi käydä sivustossasi ja antaa panoksensa ja voi täyttää lomakkeita, voi ruksata valintaruudut ja voivat olla vuorovaikutuksessa sivuston. Ja todellakin, luultavasti jokainen sivusto välität näinä päivinä, on yksityiskohtaisesti, on jotenkin interaktiivinen. Facebook, Google, ja kuten, että ottaa käyttäjä syöttää ja tuottaa räätälöityjä ulostulo. Joten alkaa tehdä sitä nyt. Katsotaanpa siirtyminen nyt alkaen vain käyttämällä HTML markup staattisen sisällön sillä sen sijaan välitysmekanismina dynaamisen sisällön. Ja kohti tätä varten, katsotaanpa toteuttaa oman hakukoneen. Tehdään se seuraavasti. Tässä muodossa tag. Toiminta attribuutti määrittää, että kun käyttäjä täyttää lomakkeen niiden näppäimistö, se toimitetaan tämän URL täällä. Joten olen tavallaan huijausta. Se vie meidät hieman kauemmin kuin yksi luokka toteuttaa koko hakukoneen, niin me vain teemme etupään, niin sanoakseni. Teemme osa, jonka avulla käyttäjä etsiä, ja me tavallaan ruuhi Google kova osa löytää hakutulosten mutta erityisesti aion puhua Googlen web-palvelin käyttämällä yhtä kahdesta erittäin suosittu menetelmiä. Yksi on saada toinen, että me lopulta nähdä, on viesti, vaikka on toisia, joita harvemmin käytetään. Niin saat juuri loihtii ajatus, haluan saada jotain sisältöä, saada hakutulokset. Tällä voit ehkä arvata, mitä tämä tekee. Tämä on jonkinlainen panos, se on, itse asiassa, tulee näyttämään tekstikenttään, ja nimi että tulon nimi muuttujan, niin sanotusti, aiotaan Q kyselyn sopimuksin. Ja vielä, tyyppi tämä panos ei tule olemaan valintaruutu; se ei tule olemaan valikko, se tulee olemaan tekstikenttään kuten merkitty tämän ominaisuuden täällä, ja tämä teksti ruutuun kuten rivinvaihdon, on joko siellä tai ei. Joten meillä on tyhjä elementti slash sisäpuolella tag. Sitten aion laittaa rivinvaihdon, ja voit ehkä arvata, mitä tämä aikoo tehdä. Tämä on toinen eräänlainen muodon tulo. Tämä yksi menee käyttää lomakkeen lähettämistä. Joten tämä tulee olemaan iso painike, napsauttamalla käyttäjä voi lähettää lomakkeen, ja etiketti, että painiketta tulee olemaan "CS50 Etsi". Sulje lomake, sulje body, close HTML. Katsotaan mitä meillä muodossa tällä sivulla. Joten anna minun mennä minun selain, anna minun mennä, hiljaa, paikallinen isäntä. Tämä on vielä index.html, joten jos haluan nähdä tämän tiedoston nimeltä search0, Voin vain tehdä / search0.html, kirjoita - ja ensimmäinen minun virheitä. Mitä on tekeillä? En selvästikään ei ole lupaa Tämän tiedoston avaus, jostain syystä. Mutta se johtuu siitä, toisin kuin työ olemme tehneet tähän mennessä C, jossa ohjelmat kirjoitetaan oletetaan olevan runable sinua, suoritusoikeus, että ei ole oikeastaan ​​kyse Webissä, jolloin joskus saatat haluta luoda tiedostoja palvelimelle, mutta et halua koko maailman voi nähdä niitä. Sen sijaan haluat maailmassa nähdä joitakin tiedostoja mutta ei muita, vain yksityisyyden vuoksi. Joten se on enemmän opt-in pohjalta kun teet asioita Web. Ja niin haluan todellakin kirjoita ls täällä, ja näet tiedostot olen, mutta muistuttaa, että jos en tee ls-l pitkä, Haen pidempi luettelo, joka antaa minulle joitakin lisätietoja näistä tiedostoista jotka ovat nyt todella, ensimmäisen kerran asiaa meille. Huomaa, että äärioikeisto ovat nimet Omat tiedostot, ja sitten aika, jolloin ne viimeksi muutettu tai kopioida. Tämä numero täällä on mitä? Muistatteko? Koko tavuina, kuinka suuri tiedosto on. Joten tuntuu olevan jonkinlainen logo täällä, että on isompi kuin kaikki muut tiedostot. Tämä on kuka olen, tämä on mitä olen ja mitä ryhmässä Olen mukana Mutta sitten, täällä vasemmalla on hieman arvoituksellisesti järjestyksessä, ja puhuimme, luulen, lyhyesti tästä aiemmin, mutta tämä on tekemistä käyttöoikeudet. Ja vaikka se on hieman utuinen, RW tarkoittaa luultavasti lukea ja kirjoittaa. Joten näyttää siltä, ​​että nämä viivat ilmaisevat erilaisia ​​käyttöoikeuksia eri ihmisille. Ja malli on lähinnä seuraavasti. Kun näet sarjan viivoja täällä, ne näyttävät seuraavasti. On viiva, sitten on kolme viivaa, Sitten on vielä kolme, sitten on toinen kolme. Ensimmäinen on joko viiva tai sen mainoksen hakemistoon. Niin että yksi on melko helppoa. Jos se on kansio, se sanoo d, muutoin se on yhdysmerkki. On pari muuta tapausta, mutta nyt me vain välitä tiedostoja ja hakemistoja. Nämä seuraavat kolme viivaa - ja olen keinotekoisesti lisätty välilyöntejä. He olivat ilmeisesti, eikä siellä kun näimme heidät hetki sitten. Nämä ovat tiedoston omistajan oikeudet, ja muistamme hetki sitten, että se oli Read & Write. Se oli sillä minä, joka loi tämän tiedoston hetki sitten, Minä vain oletuksena on Linux-tietokoneen, on kyky jatkaa lukemista ja kirjoittamista tiedoston. Joten käyttöjärjestelmä vain antaa minulle RW automaattisesti. Keskellä niistä liittyvät ryhmäni, että opiskelijat, mikä on tavallaan merkityksetön laitteen päälle, koska olen ainoa henkilö käyttää laitetta. Joten haluan vain heiluttaa käsiäni tuohon nyt. Mutta viimeiset ovat tärkeimpiä Web. Tämä on kaikki muutkin maailmassa, ja se että on --- tarkoittaa, että kukaan muu maailmassa mitään oikeuksia tähän tiedostoon. Selvästikin ongelma, joten minun täytyy korjata jotka jotenkin antamalla maailmalle mitä? Lue ja kirjoita? Se on luultavasti tyhmää, eikö? En halua kenenkään Webissä mennä vierailla sivulle ja jotenkin muuttaa tiedoston, vaikka he todella voisivat olla myös HTML-tiedosto, mutta vain periaatteessa, luultavasti vain halua niitä lukea sitä. Mitä se tarkoittaa lukea sitä? Se ei tarkoita, että he tulevat välitä todellista HTML, mutta selain on voitava jäsentää että kuvauskieli, ylhäältä alas, vasemmalta oikealle. Joten joku Webissä on voitava lukea sitä, joten minun minimaalisesti täytyy antaa se r. Voin tehdä tämän muutamalla eri tavalla, mutta ehkä Yksinkertaisin on tämän komennon täällä. Chmod, muutos-tilassa, sitten + r niin, sillä kaikki maailman + lukea, ja sitten tiedoston nimi, search0.html. Nyt jos teen ls-l uudelleen, huomaa että tiedosto on muuttunut, ja todellakin, olen päällä r kaikille. Olen myös kääntyi sen ryhmäni, mutta se on hienoa, koska jos olen kääntynyt päälle kaikille, ryhmäni on osajoukko siitä. Niin, että sekin sopii. Tämä tarkoittaa vain tietokone on nyt tehnyt luettavissa. Nyt haluan mennä takaisin minun selain, valitse lataa. Ah-ha. Meillä on nyt CS50 Etsi. Olen zoomataan hieman keinotekoisesti - aika hirveä hakukone. Mutta katsotaanpa, jos se todella toimii. Ensinnäkin haluan tehdä nopeasti järki tarkistaa, haluan hallita klikkaa ja tarkastella sivun lähdekoodia. Huomaa, että sisällä Chrome me nyt näemme saman HTML että olen itse luonut. Älä hämmentyä täällä, tosin. En voi alkaa muuttaa koodia tässä koska selain on vain luku-Tämän koodin. Selain on juuri pyytänyt paikallisia isäntä tiedosto nimeltä search0.html. Nyt on puhdasta sattumaa, että laite sattuu olemaan samassa tietokoneessa kuin selaimen. Voisin vain olla, vastaavasti, ovat kirjoittanut www.facebook.com/search0.html, ja jos Facebook on ollut tiedosto nimeltä, että olisin sitten nähdä niiden HTML. Ja tietenkin, en voi muuttaa tiedostoa, joka tulee takaisin Facebook, joko. Joten nyt olemme tavallaan hämärtää linjat. Laite on sekä palvelin, joka palvelee jopa web-sivuja, mutta se on myös asiakkaan mielessä, että olen selaimella todella puhua kyseiselle palvelimelle. Joten onko minun Googlen hakukone toimii. Anna minun mennä eteenpäin ja etsiä nopea ruskea kettu, kirjoita. Ja voila, minulla on nyt oma hakukone. Mutta miten tämä toimii? Hieman venyttää, mutta - ja nyt et voi nähdä nimenomaan osa se kiinnostaa. Huomaa mitä tapahtuu. Huomaa URL. On käynyt ilmi, että menetelmä, kutsutaan päästä, on super-yksinkertainen. Kun määrität sellaisessa muodossa, että haluat "päästä" tuloksia joistakin palvelimelta, mitä se aikoo tehdä, on ottaa mitä kirjoitit muotoon ja laita se URL. Se tulee yhtenäistää miten se saa laittaa URL seuraavasti. Huomaa, että tämä on URL, joka oli arvo minun toimia määritteen. Siellä halusin lomakkeen päätyä. Mutta sitten huomata tämän kysymysmerkki. Tämä on yleissopimuksen Web jonka antaa käyttäjä syöttää on verkkosivusto, voit liittää URL kysymysmerkki, ja sitten on koko joukko avainarvoparisi. Nimen avaimen, joka tunnetaan myös parametri Web, niin sinulla on yhtäläisyysmerkki, niin sinulla on arvo, joka parametrin. Joten se on pohjimmiltaan muuttujan nimi ja muuttujan arvon, mutta nuo muuttujan nimet ja arvot tulivat HTML muodossa. Miksi plussia siellä, luulet? Koska en kirjoita + välillä sanojani. [Student, käsittämättömällä] >> Joo, se on vain väli. Kertoimet ovat, kun olet nähnyt URL- siellä ei ole koskaan mitään välilyöntejä, jos vain koska jos olisi, et voisi todella kopioi ja liitä se osaksi IM tai osaksi sähköpostin, koska se rikkoisi. Haluat koko asia on yksi yhtenäinen merkkijono. Eli selain on fiksu ymmärtää, uh-uh. Älä vain laittaa tilaa siellä. Saanen koodata tilaa standardilla tavalla. Yksi yleissopimusten näin on, selain automaattisesti laittaa + missä muuten on tilaa. Joten nyt ilmoitusta Google on eräänlainen käyttäjäystävällinen. En todellakaan luoda tällä sivulla, mutta ne ovat valmiiksi jo oman tekstikenttään mitä, tarkalleen, olen kirjoittanut tuumaa Oletetaan Haluan etsiä jotain muuta, kuin laiska koira. Voin vain kirjoittaa tämän tänne uudelleen hakuun. Huomaa, että URL muuttuu täällä, mutta huomaa sitten, että voin itse etsiä mitä haluan vain ymmärtämällä miten URL työtä. Voisin tehdä laiska kissa, anna, ja huomaa nyt Saan hyvin laiska - pitäisi? Tunnen meidän pitäisi. Saan hyvin laiska kissa. Selvä. Tämä on yksi typerin mitä olemme tehneet. Mutta se on laiska kissa. Oli miten oli, mitä avain takeaway täällä? Nyt olemme tavallaan pelaavat maailman HTTP. HTML on juuri tämä kuvauskieli, avaa tag, sulje tag, joka kertoo selaimen miten tehdä sisältöä web sivulle. Mutta kun alkaa lähettää dataa Internetiin välillä selaimen ja palvelimen, se on silloin tämä pöytäkirja kutsutaan HTTP-protokolla valtaa. Tämä on eräänlainen ihmisen yleissopimuksen kun Sam ja minä kätteli maanantaina alkaen yhteys ja sitten sulkemalla yhteys, sama ajatus tässä. Miten Googlen tulokset tulevat takaisin minulle? Miten minun lomakkeen lähettäminen menossa Google? No, muistamme toinen päivä, että mitä todella tapahtuu alla huppu kun pyydät web sivu on, selain lähettää hieman-arvoituksellisesti viestin kuten GET / HTTP/1.1 varten oletusarvon kotisivun. Tai tässä tapauksessa, koska olen nimenomaan pyytänyt aiemmin search0.html, tämä sitten olisi hieman-arvoituksellinen viesti että minun selain lähettää laitetta. Tai tässä tapauksessa Google, mitä todella lähetetty on pyyntö / haku, ja sitten? q = laiska kissa, plus siellä. Joten tämä viesti, että minä, ihminen, en koskaan kirjoittaa, mutta on lähetetty minun selain, näin HTTP tapahtuu. Tämä vastaa meidän ottaa ravistaa kättä. Tämä on pyyntö, ja palvelin on noin lähettää vastauksen. Joten katsomaan tämän alla huppu. Kuten ennenkin, voimme avata tätä erityistä kentän selaimessa. Näytä sivu, tarkasta elementtejä. Joten alla tarkastaa elementti, huomaat, että mitä on tapahtunut Chrome, ja IE ja Firefox on samanlaisia ​​mekanismeja, meillä on nämä kehitystyökalut saatavilla meille. Normaalit ihmiset eivät käytä näitä välilehtiä. Mutta me, nyt on kiinnostunut siitä, mitä tapahtuu alla huppu on verkon tasolla. Joten jos vedän ylös verkoston taso täällä, anna minun mennä eteenpäin ja laajentaa tämän ikkunan, avaa tämä merkintä tänne, ja katso otsikot. Mitä tapahtuu, kun pyydän tiedoston web-palvelin on minun selain lähettää koko joukko asioita. Ja anna minun katsella lähde. Joten nojalla pyytää otsikot, Ja tämä on vain Chrome näyttää minulle diagnostiikkalähtö, eräänlainen kuten debuggeri jonkinlaisia, huomaa, että mitä olen korostanut tässä on juuri Chrome lähettää palvelimelle pyytääkseen tiedosto nimeltä search0.html. Se kertoo palvelimen, mitä se ajattelee sen nimi on, kiitos tämän isännän paksusuolen alalla, sitten on joitakin melko esoteerinen tavaraa täällä, kuten jotain tekemistä päivämäärät ja kellonajat, jotenkin kielet selain ymmärtää, mutta todella tärkeät linjat ovat nämä kaksi ensimmäistä täällä. Mitä palvelimen vastata? No, jos me selaa täällä ja katsella lähde tämä asia, huomaat, että palvelin on vastannut hieman arvoituksellisesti viestin samoin, 304 ei ole muutettu. Tuo hieman oudolta, haluan todella yrittää korjata tätä. Saanen pidä shift ja klikkaa lataa tänne pakottaa selaimen todella tehdä tämän pyynnön ensimmäisen kerran. Sitten haluan zoomata, ja näemme nyt, että palvelimen vastaus, koska olen todennut shift, on 200 OK. Joten olet todennäköisesti koskaan nähnyt numero 200 yhteydessä Web, mutta mitä numerot Oletko joskus nähnyt odottamattomasti palvelimelta? 404, tiedostoa ei löytynyt, 403, kielletty, 500, palvelimen virhe. Joten on näitä numeerisia koodeja että maailma käyttää Web- merkiksi virheitä, kuten C funktioiden voivat palauttaa virheitä ja pääasialliset voi palata paluuarvot. 200, vaikka te harvoin nähdä, koska se tarkoittaa, että kaikki on hyvin. Ja 304 luultavasti koskaan näe, koska mitä se merkitsee? Että mitään ei ole - Katsotaan jos voimme simuloida tätä uudestaan ​​- Voi, nyt se ei ole yhteistyötä. 304 sanoi ei muutettu, joten miksi palvelimen edes vastaa? No, tehokkuus, web-palvelin automaattisesti puolestasi, jos tiedosto ei ole muuttunut, se ei uudelleenlähettää koko HTML-tiedosto. Se vain kertoo selaimen se ei ole muuttunut. Vain käyttää kopiota sinulla jo on. Joten ei tämä käsite välimuistiin Webissä suorituskykyä, jotta et tuhlaa aikaa ja jätteen kaistanleveyden lataamalla tiedostoja uudelleen ja uudelleen tarpeettomasti. Mutta tällä sivulla, nyt oli super-yksinkertainen, ja se vain näytti HTML että tuli takaisin. Katsotaanpa itse käyttää verkkoa välilehteä nyt tehdä Google-haun, kuten nopea ruskea kettu. Saanen sitten CS50 haku, ja nyt, huomaat pohjalla täällä koko joukko tavaraa tuli takaisin koska kun vierailen realin verkkosivuilla kuten Google.com, ne ovat kuvia, ne on teksti, niillä on kieli kutsutaan JavaScript siellä. Joten jokainen rivi tässä taulukossa tänne edustaa jotain Google sylkäistä vastaukseksi yhden pyynnön. Yksi välitän, vaikka on tämä ensimmäinen. Ja jos menen etsiä, pyytää, valitse Näytä lähde tästä, huomaa, että todellakin arvoituksellinen viesti että selaimeni lähetetty Google oli nämä kaksi riviä tänne, seurasi jonkin vaikeaselkoisen tiedon tänne joka me sivuuttaa nyt. Mutta ilmoitus, myös mitä Chrome on melko kätevä, se myös osoittaa minulle hakumerkkijono joka lähetettiin sisään Joten sen sijaan näytä tätä, joka kirjaimellisesti lähetti, jos katselen sitä puretaan, Chrome, vain virheenkorjausta varten, kehittäjille, kuten meille, se vain näyttää minulle ihmisen versio - Niin ei kirjoitetaan kettu, ilmeisesti. Olen vain huomannut tätä nyt - mutta se näyttää sinulle mitä minä, ilmeisesti kirjoitettu. Samaan aikaan, vastaus joka tuli takaisin palvelin on jälleen 200 OK. Mutta mukana että vastaus, tietenkin, jos me todella nähdä sivun HTML - Anteeksi, tämä on pieni pikanäppäimen mennyt pieleen tänään. Minä hoidan tämän myöhemmin. Joten jos todella nähdä sivun lähteestä, jonka voin tehdä tänne klikkaamalla vastaus, tämä on mitä todella sylkeä takaisin, sen lisäksi, että kryptisen 200 OK-viestin palvelimelta. Hieman arvoituksellinen, mutta jos tämä kaikki tulee? No, tehdään yksi asia täällä. Toinen hieman-arvoituksellisesti komento, mutta tämä on aika kivaa, että se paljastaa meille, mitä tapahtuu alla huppu. Joten olen takaisin minun Mac täällä, olen kytketty kautta ohjelma nimeltä SSH, Secure Shell, toiselle palvelimelle koska suurin osa Harvardin tietokoneiden estää komennon aiomme ajaa koska tämä komento joitakin palvelimia kutsutaan traceroute jonka avulla voit jäljittää reitin pisteiden a ja b, ja tähän mennessä olemme ottaneet täysin itsestäänselvyytenä että voin kirjoittaa Google.com ja jotenkin saada tiedot takaisin Keskeltä ympäri maata tai toiselle puolen maailmaa. Kanssa traceroute voimme todella sukeltaa hieman syvemmälle siitä, miten internet toimii, ja katso mitä tapahtuu alla huppu. Joten mene eteenpäin ja mielivaltaisesti jäljittää reitin vaikkapa Stanford.edu, joka on eri puolilla maata, ja paina enter. Tämä komento voi olla supernopea tai super-hidas- mutta mitä me näemme nyt, rivi riviltä, on jokainen vaiheet tai humala väliimme ja Palo Alto, tai Stanford, jossa heillä on web-palvelin. Joten mitä rivien edustavat konkreettisemmin, vaikka? Pala ammattikieltä Internetistä? [Student, käsittämättömällä] >> Mikä tuo on? [Student, käsittämättömällä] >> Ai, niin on aikoja, mutta mitä kukin rivi - mitä minä tarkoitan Hop? No, on näitä asioita Internetissä kutsutaan reitittimet. Ja reitittimet, kuten nimestä voi päätellä, reittitiedot pisteestä a pisteeseen b.. Mutta on olemassa useita kohtia pidemmälle ja b. On c ja d ja e ja f välillä rivi 1, joka sattuu olemaan minun tietokoneen IP-osoitteen, tai minun numeerinen osoite, joka yksilöi tietokoneen, ja vaihe 15, joka on itse asiassa kuudes web-palvelin, ilmeisesti, jonka olen päätellyt tästä, versio 6 parin verkkopalvelimen Stanfordissa. Mutta mitä on tavallaan siisti on, voimme nähdä polun että minun 0: n ja 1: n ottavat tietokoneeni Stanfordin. Joten vaihe 1 on oman tietokoneen osoite. Jokainen tietokoneen Internet on yksilöllinen tunnus, joka näyttää tältä. Number.number.number.number. Jossain tällä kampuksella, luultavasti tiedekeskus, on reititin nimeltään Core Gateway 2-te83, mitä se tarkoittaa, niin tämä on yksi Harvardin iso fancy reitittimien reitittää paljon niiden liikennettä. Tässä toinen Harvardin reitittimet, tämä on Border Gateway, raja eli se todennäköisesti kehälle kampuksella jonnekin. Sitten on nox yksi, rivi 4, joka on Pohjois Crossroads, mikä on iso ISP, Internet-palveluntarjoaja, että paikoissa, kuten Harvardin liittää jopa. Mutta sitten asiat saavat hieman mielenkiintoinen linjassa 6. Missä ovat bittejä yhtäkkiä? Kansas. Maailma on tapana käyttää lentoaseman koodeja paljon näitä asioita, tai ainakin lyhenteitä valtioita tai kaupungeissa, niin se näyttää, vain 60 ms, tietopaketti, 0: n ja 1: minun laptop sai aina Kansas, ja jälleen, 60 ms. Lisäksi, kun Kansas, he ottivat kiertueen Houston, todennäköisesti, kuten nimestä tämän palvelimen. Eli aivan kuten Internet-palvelimen on oltava numeerinen osoite, se voi myös mahdollisesti olla hieman ihmisen sopiva osoite, ihmiset keksi. Nyt vaiheessa 8, emme tiedä, mitä tämä on. Joskus reitittimet vain sellainen sivuuttaa sinua, ja he eivät vain vastata kysymyksiin, niin se on hienoa. Yksi toisensa jälkeen askel 8 on ilmeisesti missä? L.A. Ilmoitus vain 78 ms, mikä tekee meistä ihmisiä, kuten 6 + tuntia tehdä fyysisesti, ottaa tietopaketteja Internetissä 78 ms matkustaa niin kauas. Vaihe 10 on LA samoin, ja vaihe 11 näyttää menneen pohjoiseen, jopa lähellä Stanford. Tämä on heidän rajareitittimen tai raja reitittimen. Pari vaiheet Stanfordin jotka unohdetaan meitä, ja lopuksi pääsemme verkkopalvelin vain 87 ms. Nyt kaikki nämä luvut, koska syrjään, vain kertoa teille, kuinka kauan se kestää tietojen saada minulta kuhunkin näistä reitittimet, ja se ei ole kertyvä. Mitä tässä ohjelmassa ei on, se lähettää ensin viestin, lähinnä sitä, miten ensimmäinen reititin. Sitten yksi toiseen reitittimeen, sitten yksi kolmannen reititin, mitataan joka kerta. Joten teoriassa, näinä aikoina on yhä tai ainakin melko lähellä toisiaan, ja todellakin, ne, jotka ovat täällä kampuksella on super-pieni. Heti kun aloitat menossa koko maassa, se vie dataa hieman kauemmin matkustaa, lähemmäs 100 ms, antaa tai ottaa. Mutta mennään toiseen suuntaan nyt. Entä Cambridgen yliopistossa Britanniassa? Saanen sen sijaan ajaa traceroute on www.cam Cambridge, . Ac akateemisia,. Uk ja paina enter täällä. Se oli pirun nopea. Omat tiedot kirjaimellisesti meni Cambridge, Englanti, että sekunnin murto ajan. Joten katsotaanpas polku kesti. Harvard, Harvard, Harvard, Pohjois Crossroads, joka on ISP, ja sitten tämä on Pohjois Crossroads, ja sitten pam. Mikä on eri vaiheiden välillä 6 ja 7, reitittimen 6 ja 7? Atlantin valtameri. Ja me päätellä sen siitä, että menemme 20 ms tästä 80 ms täällä. Joten jotain oli 60 ms, antaa tai ottaa, päästä yli. Ja se oli luultavasti iso vesistö. Mikä menee sen jälkeen? No, täällä ollaan Lontoossa, vain 88 ms myöhemmin. Enemmän London, enemmän London, ei tiedä, mistä tämä on, mutta oletamme se Lontoon ulkopuolelle, Cambridge täällä, ja lopulta me - kirjaimellisesti, University of Cambridge . Something.net, ja sitten lopuksi, linjassa 16, heidän web-palvelin on ilmeisesti nimeltään Scorpius alla huppu, vaikka tiedämme sen www. Kind of häkellyttävä, luulen. Ensimmäistä kertaa olen koskaan tehnyt tätä, se täysin räjäytti tajuntani. Valitettavasti, Harvard estää tällaista liikennettä, tyypillisesti verkkoon. Joten et voi tehdä sitä erittäin helposti. Ymmärtää, vaikka tämä tässä on mahdollista. Selvä. Otetaan meidän 5 minuutin tauon. Palaamme ja sukeltaa syvemmälle. Joten olemme takaisin, ja olemme tavallaan ambled noin muutaman eri suuntiin täällä. Joten yhteenveto tarkalleen, mitä on tekeillä. Aloitimme keskustelun puhua tällä kielellä kutsutaan HTML. Jälleen, ei ohjelmointikieli. Se on vain kuvauskieli että on pitkälti kyse estetiikkaa ja jäsentämistä sisällön muodossa verkkosivun. Mutta HTML siksi tarvitaan jonkinlainen mekanismi matkoilla välillä selaimen ja palvelimen. HTML siis tavallaan ratsastaa päälle tämän toisen kielen, tai oikeammin, protokolla, kutsutaan HTTP. Ja HTTP, kuten olemme nähneet sen tähän asti, on eräänlainen analoginen tämän ihmisen yleissopimuksen kättelee. Kun selain haluaa pyytää sivulle palvelimesta se lähettää että "saa" pyynnön selaimelta palvelimelle, ja sitten palvelin vastaa numero kuten 200, kaikki on kunnossa, samoin kuin HTML tai huonoja numero kuten 404, tiedostoa ei löytynyt. Mutta sillä välin, HTTP itsessään ei ole Internet, sinänsä. HTTP on vain palvelun ominaisuus Internetin aivan kuten G chat on toinen palvelu, aivan kuten sähköposti on toinen palvelu. On kaikenlaisia ​​asioita, joita voimme tehdä Internetissä. HTTP on vain yksi niistä sovelluksista. Joten päälle - HTTP on päällä jotain muuta jota ei mainita nimeltä, olet ehkä kuullut nimen, TCP / IP. Eli tarina me vain kerrottu on kyse miten data kulkee pisteestä a pisteeseen b.. Ja tässä tapauksessa, näimme hyvin alhaisella tasolla reititin reititin reitittimen reitittimeen, miten data todellisuudessa lähetetään. Mutta matkan varrella, se tulee kohtaamaan erilaisia ​​esteitä. Näiden lisäksi reitittimet, on olemassa asioita kutsutaan palomuureja Internetissä, ja niin tiedot, kuten olimme juuri välittää minulta Stanfordin, minulta Cambridge, lähetetään, tällä tasolla, jota kutsutaan IP-osoite. Näimme tämän hetki sitten, ja IP-osoite on vain numeerinen osoite muotoa w.x.y.z, jos jokainen näistä on välillä, antaa tai ottaa, 0 ja 255, vaikka et voi täysin käyttää kaikkia näitä numeroita. Mutta jokainen näistä paikka haltijoiden on numero välillä 0 ja 255. Joten IP-osoite näinä päivinä on 32 bittiä. Nyt, joka antaa meille kuinka monia mahdollisia IP-osoitteita maailmassa? Noin 4 miljardia euroa, koska tahansa olemme laskemalla toimivalta 2 aina jopa 32 jotain, joka yleensä antaa meille 4000000000. Niin, että on paljon IP-osoitteita, mutta ehkä lukenut, tai saatat nyt huomata suosittu lehdistössä, syväl uusi versio IP nimeltään IPV6. Juuri nyt käytämme versiota 4. Ei todellakaan ole ollut versio 5, me vain hyppäämällä oikeus 6. Version 6 aikoo käyttää 128 bittiä IP-osoitteita, joka on freaking valtava. Meidän ei pitäisi lopu jo jonkin aikaa nyt, mutta olemme alkaneet loppunut version 4 IP-osoitteet, koska kaikki meistä eivät ole ainoita asioita, kuten kannettavat tietokoneet ja pöytäkoneet, Monet meistä ovat puhelin, monet meistä ovat muita laitteita kuten TiVo ja vastaavia, jotka ovat IP-osoitteet itsestään. Harvardin itsessään on kymmeniä tuhansia tietokoneita. Joten maailma on todella loppumassa IP-osoitteet, ainakin tässä muodossa. Joten tulevina vuosina, olet menossa nähdä osoitteet oman tietokoneiden todennäköisesti hitaasti muuttaa kun yhä useammat yritykset ja yliopistot alkavat tukea uudempaan versioon. Mutta IP-osoite ei riitä tietokoneen pyytää tietoja tietokoneesta b. Koska tietokone b voisi olla palvelin, ja palvelimen, kuten aiemmin mainitsin, voi tehdä rypäleterttuja asioita. Se voi isännöidä web-sivuja, se voi olla sähköpostipalvelimen, se voi olla Skype palvelin, se voi olla G-chat-palvelimeen. Kaikki nämä eri palvelut, jotka voidaan tarjota palvelimella voisivat kaikki, fyysisesti olla samassa koneessa. Joten lisäksi IP-osoitteet, maailma on asioita kutsutaan portit Internetissä. Portti on vain numero, joten on yksilöllinen numero HTTP. Sen numero on 80. HTTP käyttää myös numero 443, mutta tarkemmin sanoen salatun HTTPS. Aina kun näet s, turvallisen, joka on käytössä eri numero. On olemassa muita numeroita, kuten 25, jota käytetään jotain kutsutaan SMTP, joka tunnetaan myös sähköpostiosoite. Siinä on jotain kutsutaan 22 SSH, ja siellä on koko joukko muita satamia siellä. Nyt, me ihmiset harvoin nähdä nämä numerot. Kuitenkin, kun kirjoitat osoitteen, kuten http://www.facebook.com, selain salaa lisäämällä 80, koska käytät HTTP. Jos sen sijaan, kirjoita HTTPS, se salaa lisäämällä 443. Ja me voi sellaista nähdä tämän manuaalisesti, jos vedän ylös brower ja mene http://www.facebook.com:80. Siksi nimenomaan mainitaan paitsi nimi verkkosivuilla mutta portti haluan puhua, ja paina enter. Huomaa se katoaa, koska selain olettaa, oh, 80, en edes vaivautuisi osoittavat sinulle. Mutta syy tähän on se, että jos halusin lähettää jonkun sähköpostin, Olisin todella lähettää sen heille portista 25, joka on SMTP. Vähän yksinkertaistamista, mutta jotkut teistä ovat ystäviä jotka todella toimivat Facebookissa, ja ne, samoin on palvelimia, jotka saavat sähköpostin. Aina kun lähetät sähköpostia, mitä gmail tekee sinulle tai Outlook tai mitä ohjelmaa käytät, Se on tavallaan salaa lisäämällä, että numero samoin, 25, tässä tapauksessa. Se on tämä yhdistelmä IP osoite ja numero, joka yksilöi tietokoneen Internet ja tietyn palvelun kyseisessä tietokoneessa. Nyt tietenkin, useimmat meistä ovat todennäköisesti koskaan kirjoitettu käsin IP-osoitteen. Ehkä sinulla on laite, mutta todellisessa maailmassa, ei niinkään. Miksi emme kirjoita IP-osoitteita selaimiin? Se toimisi, itse asiassa, voimme nähdä tämän, haluan näyttää sinulle yksi muu komento pitäisi toimia useimpien tahansa Harvardin kampuksella Macissa tai PC. On tämä komento nimeltään nslookup, nimipalvelin lookup. Jos katson ylös www.cnn.com, käy ilmi, että CNN on - oi, mielenkiintoista. CNN on alkanut käyttää Amazon Web Services. Saatat tietää cloud computing, Amazonin yksi suuria toimijoita cloud computing. Mitä tein oli, sanoin, "Anna minulle osoite CNN: n web-palvelin," mutta näyttää siltä, ​​että CNN: n www-palvelin hoitaa Amazon, Amazon Web Services, tämä viittaa. Ja osoite että palvelin on täällä. Joten en ole varma, jos tämä toimii, koska he eivät ole tottuneet käyttämään Amazon. Mutta katsotaanpa kokeilla tätä, http://, IP-osoite, kirjoita, ja - se tulee toimimaan? Kyllä. Se on menossa töihin. Internet on super-hidas tänään. Mutta hetki, näet joitakin uutinen. Siellä mennään. Bank of America on haastettu oikeuteen. Selvä. Tämä johtuu siitä, IP-osoite sattuu by synonyymi www.cnn.com. Tietenkin se olisi kamala markkinointi sanoa, käymään verkossa osoitteessa 50.112.94.127. Et ikinä muistat. Joten vaikka näinä päivinä saatat muistaa asioita kuten 1-800-COLLECT tai muistitekniikka maailma keksi puhelinnumeroita. Joka ennen matkapuhelimet olivat varsin vaikea muistaa kunnes voit vain kirjoittaa se ja unohtaa sen. Niin myös verkosta, on tämän yleissopimuksen nimet ja IP-osoitteet, ja on näitä asioita siellä kutsutaan DNS-palvelimet, verkkotunnus järjestelmien palvelimia, että kääntää IP-osoitteita nimien ja päinvastoin. Niin, että mitä tapahtuu alla huppu. Lopulta meillä on TCP / IP, mikä on tämä hyvin matalan tason protokolla että oikeastaan ​​vain saa 0: n ja 1: n Internetin kautta, ja se tekee niin laittamalla ne virtuaalinen kirjekuoreen, jos haluatte, ja kirjallisesti ulkopuolella kirjekuoren IP-osoite määränpään, samoin kuin numeerinen portin numero sekä palvelun että kohde että haluaa puhua. Samaan kuoreen siellä on myös jotain tunnetaan palautusosoite, mikä on IP-osoite, joten kun CNN saa tietopaketti teiltä, avaa tämä virtuaalinen kirjekuori, näkee, että haluat kotisivun, se tietää lähettäjältä osa virtuaalista kirjekuoren kenelle lähettää HTML takaisin. Joten katsomaan tätä hieman tarkemmin. Tämä on peräisin yritys nimeltä Ericson, muutaman vuoden takaa. Ja he ottivat vapauksia miten Internet todella toimii, mutta se maalaa paljon visuaalinen kuva kuin pelkkä liitu täällä. Joten annan sinulle "Bit of Internet." [Narrator] Ensimmäistä kertaa historiassa, ihmiset ja koneet työskentelevät yhdessä, ymmärtämättä unelma. Kokoava voima, joka ei tunne maantieteellisiä rajoja. Rodusta, uskonnosta tai väriä. Uusi aikakausi joissa kommunikaatio todella yhdistää ihmisiä. Tämä on Dawn of the Net. Haluatko tietää miten se toimii? Klikkaa tästä aloittaaksesi matkalle Net. Nyt, mitä tapahtui, kun olet napsauttanut tätä linkkiä? Aloitit tiedonkulkua. Tämä tieto kulkee alas oman henkilökohtaisen postituksen jossa Mr. IP paketteja sitä, etiketeissä sitä, ja lähettää sen matkalla. Kukin paketti on rajoitettu sen kokoa. Posti huone on päätettävä, miten jakaa tietoa ja miten paketoida sitä. Nyt paketti on tarra sisältää tärkeitä tietoja kuten lähettäjän osoite, vastaanottajan osoite ja tyyppi paketin se on. Koska tämä tietty paketti on menossa ulos päälle Internet, Se saa myös osoite välityspalvelimen, joka on erityinen tehtävä, kuten näemme myöhemmin. Paketti on nyt lanseerattiin lähiverkossa tai LAN. Tätä verkostoa käytetään yhdistämään kaikki paikalliset tietokoneet " reitittimet, tulostimet, jne., tietojen vaihtoa fyysisessä rakennuksen seinät. LAN on melko hallitsematon paikka, ja valitettavasti onnettomuuksia voi tapahtua. Valtatie LAN on täynnä kaiken tyyppistä tietoa. Nämä ovat IP-paketteja, Novell paketit, AppleTalk paketteja. He vastaan ​​liikennettä, kuten tavallista. Paikallinen reititin lukee osoite ja, mikäli tarpeen, nostaa paketin toiseen verkkoon. Ah, reititin. Symboli valvonnan näennäisesti sekavaa maailmaa. [Router mutisten ja puhuu itsestään] [Narrator] Siellä hän on, järjestelmällinen, piittaamaton, suunnitelmallinen, konservatiivinen, ja joskus ei aivan vauhtiin. Mutta ainakin hän on tarkka, suurimmaksi osaksi. Koska paketit lähtevät reititin, he tekevät tiensä yritysten Internet ja pää reitittimen kytkin. Hieman tehokkaampi kuin reititin, reititin kytkin pelaa vilunkia IP-paketteja, deftly reititys heitä heidän matkallaan. Digitaalinen "Pinball Wizard," jos haluatte. [Reititin kytkin puhuu itsensä] [Narrator] Kuten paketteja saapuu määränpäähänsä, he poimima verkkoliitännän valmis lähetettäväksi seuraavalle tasolle. Tässä tapauksessa proxy. Välityspalvelinta käytetään monissa yrityksissä tavallaan keskellä mies Jotta voitaisiin vähentää kuormitusta Internet-yhteyden ja turvallisuussyistä, samoin. Kuten näette, paketit ovat kaikki eri kokoisia riippuen niiden sisällöstä. Proxy avaa paketin ja etsii Web-osoite tai URL. Riippuen siitä, onko osoite on hyväksyttävää, paketti lähetetään internetiin. On kuitenkin joitakin osoitteita, jotka eivät täytä luvalla proxy. Toisin sanoen, yrityksen tai ohjeistukseen. Nämä ovat summittaisesti käsitellään. Me ei käy päinsä. Niille, jotka tekevät sitä, se on taas tien päällä. Seuraavaksi, palomuuri. Yrityksen palomuurin on kaksi tarkoitusta. Se estää joitakin melko ikäviä asioita Internetin tulemasta sisään intranet, ja se voi myös estää arkaluontoisten yritystietojen lähettäminen ulos päälle Internet. Kun palomuurin läpi, reititin poimii paketin ja asettaa sen päälle paljon kapeampi tie, tai kaistanleveys, kuten sanotaan. On selvää, tie ei ole tarpeeksi laaja ottaa ne kaikki. Nyt, saatat ihmetellä mitä tapahtuu kaikille niille paketit, jotka eivät tee sitä matkan varrella. No, kun Mr. IP ei saa kuittausta että paketti on saatu ajoissa, hän yksinkertaisesti lähettää korvaavan paketin. Olemme nyt valmiita siirtymään Internet-maailmassa. Hämähäkinverkko yhteenliitettyjen verkkojen, jotka kattavat koko maapallon. Täällä reitittimet ja kytkimet luoda yhteyksiä verkkoihin. Nyt verkko on täysin erilainen ympäristö kuin huomaat sisällä suojamuurin oman lähiverkon. Täällä, se on Wild West. Runsaasti tilaa, paljon mahdollisuuksia, paljon asioita tutkia ja paikkoja mennä. Kiitos hyvin vähän valvontaa ja sääntelyä, uusia ideoita löytää hedelmällistä maaperää työntää kirjekuoren niiden mahdollisuuksia. Mutta koska tämä vapaus tiettyjä vaaroja myös vaanivat. Et koskaan tiedä, milloin tapaat pelätty Ping of Death, erikoisversion normaalin pyynnön ping, jotka joku idiootti ajatteli jopa sotkea hyväuskoinen isännät. Polku meidän paketit kestää ehkä satelliitin välityksellä, puhelinlinjat, langaton, tai jopa valtamerten kaapeli. He eivät aina nopeimman tai lyhimmän reitit mahdollista, mutta he sinne lopulta. Ehkä siksi se on joskus kutsutaan "World Wide Wait." Mutta kun kaikki sujuu hyvin, Voit kiertää maailmaa viisi kertaa yli klo epäröimättä, kirjaimellisesti. Ja kaikki kustannukset paikallispuhelun tai vähemmän. Lähellä lopussa meidän määränpää, löydämme toisen palomuurin. Riippuen näkökulmasta datapaketin, palomuuri voi olla linnake turvallisuuden tai pelätty vastustaja. Se kaikki riippuu siitä kummalla puolella olet ja mitä aikomukset ovat. Palomuuri on suunniteltu niin vain ne paketit, jotka täyttävät sen vaatimukset. Tämä palomuuri toimii porttien 80 ja 25. Kaikki yritykset päästä läpi muita portteja suljettu liiketoimintaa. Portti 25 on käytetty postin paketteja, kun portti 80 on pääsy pakettien Internetin web-palvelimelle. Sisällä palomuurin, paketit seulotaan tarkemmin. Jotkut paketit tekevät siitä helposti tullin läpi, kun taas toiset näyttävät vain hieman kyseenalainen. Nyt, palomuuri virkamies ei ole helposti lankaan, kuten kun ping kuoleman paketin yrittää naamioida itsensä normaali ping paketti. [Palomuuri upseeri puhuu pakettien] [Narrator] Niille paketit onni tehdä näin pitkälle, matka on melkein ohi. Se on vain riviin liitäntä otetaan ylös web-palvelin. Nykyään web-palvelin voi ajaa monia asioita, mistä keskuskone ja web cam tietokoneeseen työpöydälle. Miksi ei jääkaappi? Asianmukaisen asennuksen, voit selvittää, jos sinulla on makings Chicken Cacciatore, tai jos sinulla on käydä ostoksilla. Muista, että tämä on kynnyksellä Net. Lähes kaikki on mahdollista. Yksi kerrallaan, paketit vastaanotetaan, avattu, ja purkaa. Tietoja ne sisältävät, eli teidän tietopyyntöön, lähetetään web-palvelimelle sovellus. Paketti itsessään on kierrätetty, valmis käytettäväksi uudelleen, ja täytettiin kanssa pyydetyt tiedot, osoitettu, ja lähetti sen takaisin sinulle. Takaisin ohi palomuuri, reitittimet, ja kautta Internetiin. Taaksepäin yrityksen palomuurin ja päälle käyttöliittymä, valmis toimittamaan selaimessasi Pyytämäsi tiedot. Toisin sanoen, tämä elokuva. Tyytyväisiä heidän toimiaan, ja luottaen parempaan maailmaan, meidän luotettava datapaketit ratsastaa autuaana kohti auringonlaskua toisen päivän, tietäen täysin he ovat palvelleet isäntiään hyvin. Nyt ei ole, että onnellinen loppu? [Malan] Okei, se riittää. Nähdään ensi viikolla. [CS50.TV]