[Powered by Google Translate] [Semajno 7, daŭrigis] [Davido J. Malan, Harvard University] [Jen CS50.] [CS50.TV] Bone. Bonvenon Back. Ĉi tiu estas CS50, kaj ĉi tiu estas la fino de semajno 7. Do unu el tiuj stultaj iom aĵoj kiu iras ĉirkaŭ la Interreto kaj ni slurped supren, kaj tio devus nun fari iom da geeky senco al vi. Nu, tio estis amuza al tiu ulo ol estis al vi guys. Parolante pri, nu, infanoj, hodiaŭ estas Nate naskiĝtago. Doni al vi la senton de kiom bona Nate kaj mi estas ĉe retejo disvolviĝo surbaze de lundo la klaso kaj bazita nun pri tio, Mi pensis mi elsxiros Nate ĉefpaĝon, se vi ne vidis ĝin ankoraŭ. Ĉi tie ia Nate HTML. Do vidu lian fontkodojn se vi ŝatus vidi kiel fari tion, kaj Nate, se ni povus embarass vi ĵus mallonge, la personaro got you iom ion se vi ŝatus dividi iuj deserto kun iu el la infanoj en la klaso tie. Se vi ŝatus venu malsupren. Vi ĉiuj aplaŭdas kaj estas tre bela, sed neniu sidas ie proksime Nate, ial, en tiu reen zono. Do eble vi povas trovi iujn ulojn por ĝui ĉi tiuj kun. Happy Birthday, Nate. Pliaj hellos: Ni montris paron klipoj el nia CS50x studentoj. Se vi ŝatus vidi kiu ajn ĝi estas en la mondo ke tio sekvi kune, vi povas direkti al ĉi URL, kie Jozef, unu el niaj TFs, ĝi kunmetis muntado de varoj de ĉiu, kiu estis submitting tiuj filmetoj, inter ili Rick Astley. Kaj se vi rulumu tra tiuj, estas vere sufiĉe inspira por vidi la diversecon de landoj kaj urboj, el kiu popolo devena. Do se vi ŝatus rigardi ke, kiu estos supren tra la fino de la semestro. Hodiaŭ ni daŭrigos nian rigardi la TTT, retejo programado, HTML kaj similaj, kaj ni ankaŭ tagmanĝi antaŭvidi ĉi vendredo se vi ŝatus, kaj aparte, ne faris tiel antaŭe. Ĉi vendreda temo estos Nate naskiĝtago, do se vi volas havi naskiĝtago tagmanĝi kun Nate kaj aliaj, kelkaj el niaj geamikoj el industrio, bonvolu kapon por ke URL tie. Spaco, kiel ĉiam, estas limigita. Ankaŭ, se vi forgesis, rimarkas ke venontan semajnon estas la limdato por problemo starigis 4 de denuncanto ĉasi, per post rekuperi ĉiuj el tiuj JPEG-oj de card.raw, vi kaj via sekcio mortigas, se vi ŝatus, povas provi fotante kiel multaj el la komputilaj sciencistoj de tiu memoro karto ebla, kaj vi kaj via sekcio estos tiam gajni fabelajn premion. Referi al pset 4 La specifo pri kio submeti kaj por kiam. Ankaŭ, se vi volas havi vian handiwork senmortigita en la paso de afiŝinto kaj lia historio de vestoj, scias, ke vi estas bonvena nun komenci submitting dezajnoj por ĉi-jara T-ĉemizoj kaj sweatshirts kaj similaj. Ni faros nian eblon por inkludi tiom kiom ni povas, sed ni devos iuj membroj de la personaro revizio ĉiuj dezajnoj por certigi ke ili estas kohera kun la especificaciones, kaj ni tiam preni ĝenerale manpleno da ili, por esti elmetita. Do se vi estas la dezajno tipo, nur scias, ke la postuloj por grafikaĵoj estas PNG, almenaŭ 200 DPI, ili ne estu pli ol 4000 x 4000 rastrumeroj, kaj ne pli ol 10 MB, sed vi bonvena uzi tion kiel Photoshop aŭ GIMP aŭ pluraj grafikaj programoj, kion ajn vi havas je via dispono. Ankaŭ sur la horizonto estas la fina projekto. La fina projekto vere estas la klimakso de 50, per la tuta faritaj en la kurso, estas via ŝanco vere fari vian propran aferon. Kaj kiu povas esti simple fari ion por amuzo, ĝi povas esti por solvi iujn prema problemo vian studento grupo havas, por iu nova TTT-ejo, iun novan kolekton mekanismo por datumoj. Ĝi povas esti moveblaj apliko por Android, por iOS. Vere, la ĉielo estas la limo, kaj dum la venontaj semajnoj, kiel ni transiro de C al tiuj pli altnivelaj lingvoj kiel PHP kaj Javascript, vi trovos vin mem pli kaj pli familiarizada kun iu reala mondo teknikoj, iuj reala mondo iloj, kaj por kompletigi tion, scias, ke la kurso havas historion de seminarioj, per dum la venontaj kelkaj semajnoj, kelkaj el la instruistecon kaj amikoj de nia el la campus proponos nedeviga seminarioj kiu iras supre kaj preter tio, kio tipe farita en sekcio enkonduki vin al aĵoj kiel Android programado, enkonduki vin al aĵoj kiel iOS programado aŭ pli plibonigita retejo disvolviĝo teknikoj. Ekzistas tuta historio de ĉi tiuj jam ensalutintaj. Se vi iras al cs50.net/seminars, ni estis farante tion por sufiĉe iuj jaroj, kaj vi vidos ke enarkivigitaj tie kun PDFs kaj filmetoj kaj similaj Estas pluraj dekduoj videos de seminarioj. Lasta jaro, ekzemple, ni havis seminario pri acing vian teknikan intervjuoj, se vi vere serĉis por foriri kaj do an internulejo aŭ plentempa koncerto. Windows moveblaj disvolviĝo, Android disvolviĝo, Google Maps, API, CSS, disvolvante la BlackBerry, Emakso. Vere, vi estas bonvena rigardu iu el tiuj seminarioj ĉe via oportuneco. Kaj ni estos tenante iuj novaj ĉi semestro, tiel. Do kio estas antaŭeniras kun la fina projekto? Nu, unue, kvankam ĉi tiu dato estas iom tuja, ĉi tio estas vere ĝuste ŝanco por komenci pensadon pri la fina projekto tute realisme. Ni scias nur la komencoj de iuj de kio ni ankoraŭ kovrante en la kurso, HTML, PHP kaj similaj, sed vi ja ĉiuj konas la TTT, kaj mi bias ĉi konversacio al la TTT nur pro plej multaj homoj finas fari TTT-bazita fino projektoj, sed tio estas tute ne bezonata. Uzanta C estas fajna, objektiva C, Java, iu ajn alia lingvo vi eble konas aŭ deziras scii estas sufiĉe bone. Sed por ricevi la sukoj fluas komence, ni atendas la submetiĝo de preproposal kiuj, por la PDF en la retejo, kiu nun estas en cs50.net, kaj supre maldekstre vi vidos finon projekto estas la specifo por la fina projekto, kaj tie estas detaloj en la preproposal kaj similaj. Ĝi sufiĉe abscesoj malsupren al retmesaĝon al via instruado ulo nur frapi ĉe konversacion kun li aŭ ŝi pri kio vi pensas. Sur projects.cs50.net estas deponejo de ideoj el onin sur kampuso se vi luktas por veni kun iu ideo, kaj manual.cs50.net/APIs estas deponejo de ligiloj al API. Kion, tamen, estas API? Kio estas API? Mi diris, ke almenaŭ dufoje, laŭ la transskriboj de la lastaj semajnoj. Kio estas tio? [Studento, nekomprenebla] >> Konsentite, bona. Do io programado interfaco. Apliko programado interfaco, kaj ĉi tiu povas preni plurajn formojn, sed kion tiu vere abscesoj malsupren al estas kodo ke iu alia hs skribita aŭ datumoj ke iu alia kolektis kiu estas disponebla al vi en iu programita vojo. Vi povas skribi kodo en C, PHP, Python, Rubeno, kion ajn via lingvo de elekto tipe estas, kaj vi povas iel konstrui sur iu alia funcionalidad aŭ iu alia estas aro de datumoj. Ekzemple, se mi iras al ĉi ligilon ĉi tie, kaj vi vidos paro de ligiloj en la posta paĝo per kiu ni havas CS50 propra API, kiu estas tre Harvard-centrita, kaj poste triaj API. Inter la triaj API estas vere utilaj aĵoj kiel povi sendi SMS de la homo, povi ricevi SMS teksto mesaĝojn de popolo. Kaj tion tiel ke vi havu nenian ideon kiel apliki mem, sed danke al servoj, iuj senpagaj kaj kelkaj komercaj, vi povas konstrui sur la pinto tiuj kaj do iom da intereso al vi. Inter CS50 la API estas tiuj kampuso centrita aĵojn kiel Harvard kursoj, energio, eventoj, nutrado, mapoj, novaĵoj, tweets kaj Shuttleboy memstare, kaj jen estas API kiuj aspektas iom io tiamaniere. Lasu min eltiri supren la HarvardFood API. Se vi iam estis en HUD afiŝinto, vi verŝajne estis tie justaj vidi kio estas por vespermanĝo aŭ por vidi kion la horoj estas por iu d-salono. Nu, ne aparte facila por navigi, kaj tiel kion ni faris iom da tempo estis ni skribis programaro, okazas ke en PHP, kiuj reale ekrano tergratado la tuteco de HUD de afiŝinto. Apantallar skrapaĵo ion signifas por skribi programon en lingvo kiel PHP kiu ŝajnigas esti retumilo, kvankam vi povus ruli ĝin al komando prompto, kiu ŝajnigas esti retumilo, ligo al retejo, Elŝutoj lia HTML, la lingvo en kiu ĝi estas skribita, kaj poste legas ĝin, aŭ pli specife, parses ĝin supre sube, maldekstre dekstren. Kaj kion ni faris estis ni skribis niajn kodo tiel ke ajn vidis ion en tiu HTML kiu similis iun sur la menuo, kiel hamburgero, ni devus tiam importi ke en nian propran datumaron. Kaj iam vidis nutricional enhavo, ni devus importi ke en nian propran datumaron. Kaj kion ni faris estis levilo la fakto ke HUD afiŝinto, kvankam eble estus iom de defio por ni homoj por navigi sub la kapuĉo, ĉiuj la HTML estas generita per siaj propraj komputilaj programoj. Do ĉiuj en HTML, kvankam ĝi povus rigardi senorda, kiel plej retejojn sub la kapuĉo sekvas ŝablono. Do ni simple pasigis paron horoj elŝeligi ke mastro tiel ke en la fino, ni forĵetu ĉiuj senorda HTML, ĉiuj la estetiko de aŭdaca Facing kaj kursivo kaj similaj, kaj kion ni tiam povos fari estas elmontri ke samaj datumoj. Ekzemple, en ĉi tiu maniero. Do ni, laŭ la dokumentado tie, ili informis la mondon, ke se vi petas la URL kiu similas tiun, food.cs50.net / io, kaj vi provizis iujn parametrojn, kiujn ni parolos pri hodiaŭ, kiel fino-dato tempo, komenco-dato tempo, manĝo ktp, kion niaj serviloj revenos al vi, ekzemple, estas CSV-dosiero, komo separted valoroj kiel Excel-dosiero, enhavanta ĉion por matenmanĝo sur ĉi aparta dato en marto pasintjare kiam mi hazarde redakti ĉi dokumentado. Por tiuj, kiuj konas, CSV ne estas la sola formato de dosiero. Ekzistas alia formato kiu estas ĉio pli versátil vokis JSON, JavaScript Objekto Skribmaniero. La datumoj povas reveni en tiu formato. Do la takeaway tie estas ke ĉu vi pikita en ĉi API aŭ ajna alia de CS50 aŭ de io tie en Interreto, aŭ nenio, rimarkas ke la mondo pli kaj pli komencis normigi kiel maŝinoj intercomunican. Ni uzas normon datumoj formatoj kiel CSV aŭ JSON. Kaj kion tio signifas por vi estas oni povas skribi la interesa parto de programo kiu lasas vian uzanto serĉi manĝ-salono menuo, kiu lasas ilin krei listojn de favoritos kiu lasas ilin akiri tekston alarmas kiam lia preferata manĝo estas estonta servis en iu d-salono uzante iu alia datenaroj kaj konstruaĵo supre de siaj API. Do pli en kiu en formo de seminarioj kaj la dokumentaron, ke vi havas tie en linio. Do tiuj, do, estas API. Kiu alportas nin al HTML. Rapida recap. Kio estas HTML? [Studento, nekomprenebla] >> Bona. Hipertekstaj Markup Language. Iu alia, kio estas Hipertextual Markup Language? Hipertekstaj Markup Language. Okay. Do HTML, hiperteksto. Hipertekstaj nur aludas al la retejo, plejparte. Markup signifas ke ĝi ne estas vere programlingvo, HTML. Tio ne estas lingvo kiu vi povas esprimi logiko in Ĝi ne havas buklojn. Ĝi ne havas kondiĉojn. Ĝi ne havas funkciojn, per si mem. Pli ĝuste, ĝi havas tion nomas etikedoj, aŭ pli ĝuste, elementoj. Kaj tiuj elementoj havas komencon kaj finon etikedoj etikedoj, aŭ malfermita etikedoj kaj fermitaj etikedoj, kaj kion tiuj etikedoj ĝenerale signifas por foliumilo estas, komenci fari ion kaj tiam ĉesi fari ion, kvankam ekzistas esceptoj al tiu. Foje estas nur 'metis linerompo tie,' ekzemple. Kaj ni vidis ekzemplojn de tiu alia tago, inter grasaj alfrontas, linisaltojn kaj poste kelkajn aliajn etikedojn. Do HTML estas la lingvo en kiu retpaĝoj estas skribita. Do, se mi iras al iu kiel Google.com kaj tiri supren nur ilia hejmpaĝo, memori, ke se vi dekstre alklaku aŭ kontroli klaku kaj rigardu view paĝo fonto, tipe ĝi estas kompleta salaton tiujn tagojn sub la kapuĉo, sed tio estas ĉar komputiloj ne zorgas pri blanka spaco, tiel ĉi tio ne devas aspekti bela. Sed se ni zomi en partoj de ĝi, rimarki, ke Chrome, nur por esti bela, ĝi koloro kodita aĵoj. Fakte, ĉi tiu estas la unua etikedo kiun ni vidis en la retpaĝo. Kaj ankaux HTML 5, la lasta versio de ĉi tiu lingvo, ne havas tiun aferon al la komenco, > Jes, ni solvis tion doni per eksplicite diras la retumilo 'metis linerompo tie.' Kaj tio ĉar, denove, retumilo nur faros eksplicite kion la markado lingvo diras ĝin fari, tiel kvankam vi eble trafis eniri unufoje aŭ dufoje aŭ eĉ dek fojojn, ĝi tuj kombini ke ĉiuj enen sola spaco, kun nur konvencio. Do, se vi vere volas linerompo, vi devas uzi la br etikedo, kaj nun rimarkas, kiel lundo, mi metis la / ene de ĉi etikedo, nur pro tio simple ne sentas bone komenci linerompo tiam halti ĝin kun nenio en inter. Do la konvencio en HTML estas malfermi kaj fermi etikedo samtempe. Kiel flanken, vi vidos multajn retejojn en libroj ne faras tion. Estas ĝentile fari aŭ ne fari ĝin, sed ni devus diskuti ke dezajno-sagxa kaj stile, ĉi tiu estas nur bona ĉar tiam ĉiu etikedo estas ambaŭ malfermita kaj fermita iel. Do nun ni savi kaj reŝarĝi. Reiru al la retumilo, okay. Nun ni fari kelkajn progresojn, sed ĝi ne estas sufiĉe sufiĉas. Ni iru antaŭen kaj ektajpu en iu pli longa korpo de teksto. Do ni diru: Rapida bruna vulpo saltas super pigran hundon. " Kaj nun mi ĵus kopii kaj alglui ĉi kelkajn fojojn por ke ni havas alineo de teksto. Lasu min reiri tien. Do ĝi ne serĉis tre bona. Mi havas linerompo, do estas bone, sed nun, kiam ni alveni al la punkto de havi retpaĝon kiu havas multajn enhavo kaj ne nur simpla linioj pruvi HTML, ni povas komenci pensi pri tio kiel reala alineojn. Kaj ni povas komenci strukturi nia retpaĝo iom pli pure. Kaj efektive, kion mi povas fari estas iri tie interne de mia korpo etikedo, kaj vi scias kion, se 'Ĉi tiu estas CS50. . '. vere demarks la komenco de alineo, bone, ni tag ĝin kiel tia. Lasu min indent la teksto, kun nur konvencio, mi diru ke tiu alineo finiĝas tie, kaj tiam anstataŭ do ĉi linerompo, lasu min nur diri ke tio apartenas tie kaj kiel nova alineo, kaj mi ĵus rapide indent por nur clobbering ĉio ĉi aĵoj. Do nun ni havas dentado paragrafo tie, kaj nun nia markado komencas ricevi iom pli semantike kohera kun kion ni provas fari. Ni havas novan alineon, do ni nomas ĝin paragrafo kun la p etikedo. Ni havas dua alineo, do ni nomas ĝin paragrafo kun la p etikedo. Kaj nun, kion la navegador tipe fari estas ĝuste kiel en angla libro aŭ eseo, kie vi tipe vidi iujn linisaltojn inter alineoj. Foliumiloj faros por vi aŭtomate. Do nun ni havas du alineojn kaj ni povas daŭrigi ĉi. Sed, kompreneble, en la retejo, kiam vi havas korpojn de teksto ĝi ne estas tipe nur grandega _blobs_ de teksto. Estas ofte hiperligoj en tie. Do, se ni volas, ekzemple, ili inkludas kelkajn ligojn tie, supozi kio povus esti de intereso en ajna retpaĝo Mi kreas ĉi tie estas - lasu min iri al Google.com, kaj lasu min serĉi rapida bruna vulpo. Iru al Google bildoj, kaj, kion pri - tiu ĉi estas bela. Ni iros kun ĉi. Do jen ni havas rapidan bruna vulpo jumping super mallaborema hundo. Do kion mi faros cxi tie, ĝuste pro manifestacio, estas supozi, ke tiu imago estis sur mia servilo, kaj mi estis krei tiujn bildojn. Kion mi nur faris estis dekstre alklaku aŭ kontroli klaku sur la bildo, kaj kion vi vidas en plej foliumiloj estas iom menuo - ĉesi fari tion - iom menuo kiu permesas vin elekti kopion ligas situo aŭ kopion URL. Do lasu min reiri nun al mia HTML, kaj supozu ke mi volas al hyperlink ĉi tion al alia retpaĝo. Kio estis la etikedo nomita por tiu? [Studento, nekomprenebla] >> Jes. Do href por hiper referenco. Lasu min kaj almeti ke in Ĝi estas bela longa URL, do lasu min zoom reen eksteren. Fermi krampoj, tiel nun rimarkas mi maniero ĉi tien ĉar tio URL okazis esti bela longa. Lasu min rulumi tra tie al la fino de rapida bruna vulpo, kaj poste mi fermu etikedo kun . Do ĉio ĉe la supro en bluo estas nur komento. Ĉi tio estas mia DOCTYPE deklaro, kiu denove, vi povas simple kopii kaj almeti la fido, por nun. Tiu simple rakontas la retumilo, 'Jen venas iu HTML 5.' Sub kiu, en linio 14, estas la unua el miaj realaj etikedoj, kaj ĉi nur diras, kiel antaŭe, tie venas iu HTML, jen la kapon de mia paĝo, tie venas la titolo, kaj tiam, male, tio estas por la titolo, jen por la kapo. Jen nun venas la korpo de mia paĝo. Do kelkaj novaj etikedoj nun: h1 staras por kapo 1. Estas tradicio en HTML por multaj jaroj malantaŭen havi malsamajn grandecojn de teksto. Kaj reen en la tago, ĉiu signifis, ĝenerale, nur grandaj kaj grasaj. Sed estas ankaŭ h2, kiu estas granda sed ne sufiĉe tiel grandaj kaj grasaj. Estas h3, kiu estas speco de granda sed ne preskaux granda kaj aŭdaca, kaj tiel plu, la tutan vojon malsupren al h6. Tiuj tagoj, tamen, h1, h2 kaj h3 vere signifis por havi pli semantikan signifon al ili, per h1 estas vere rubro: la rubriko de reta paĝo, la rubriko de kolumno aŭ ion kiel tiu de teksto. Do mi intence diris h1 CS50 serĉo> h1 al specifiy ke ĉi tio estas vere la rubro, la titolo de mia paĝo. Ne la titolon en la titolo trinkejo senso, sed la titolo kiun vi vere vidas en la retpaĝo mem, en la korpo. Nun ĉi tio, vi povas verŝajne diveni kio estas, eĉ kvankam ni havas kelkajn novajn pecojn de sintakso. Tio estas formo. Do la retejo vere ricevas interesajn kiam retejoj preni enigo de uzantoj. En ĉi tiu klaso, en la problemo surtabligis retejo programado, ni ne tuj faros TTT-ejo, per, kun statika enhavo kiu montras fotojn kiujn vi prenis, aŭ ĉi estas mia vivresumo, kaj aferojn pri mi, ĉar tio estas relative facila por meti kune. Estas malfacile fari tion bela en la TTT, sed almenaŭ metante enhavo estas sufiĉe banala. Sed aĵoj vere interesa kiam iu povas viziti vian retejon kaj provizu enigo kaj povas plenigi formoj, povas kontroli ekstere markobutonojn kaj povas interagi kun viaj retejo. Kaj efektive, probable ĉiu paĝo vi zorgas pri tiujn tagojn, en ĉiu detalo, estas iel interaga. Facebook, Google, kaj similaj, kiuj uzanto enigo kaj produkti akomoditan eligo. Do ni komencu fari tion nun. Estu la transiro nun el ĝuste uzi HTML por markado de statika enhavo kiel anstataŭ transdono mekanismo por dinamika enhavo. Kaj al tiu celo, ni apliki niajn proprajn serĉilo. Ni faru tion jene. Jen la formo etikedo. La ago atributo precizigas ke kiam la uzanto plenigas tiun formularon per sia klavaro, estos donita al ĉi URL tie. Do mi estas speco de kaptiloj. Ĝi okazas porti nin iomete pli longa ol unu klaso al apliki la tuta serĉilon, do ni nur faru la antaŭan fino, por tiel diri. Ni faros la parto kiu lasas al la uzanto serĉo, kaj ni ordigi de liberigas al Google la malmola parto de trovo serĉrezultoj, sed, specife, mi tuj parolos al Google retservilo uzante unu el du tre popularaj metodoj. Unu esti get, alia, ke ni fine vidas, estante post, kvankam ekzistas aliaj kiuj malpli ofte uzataj. Do nepre nur conjures la ideon de, mi volas ricevi iun enhavon, get iuj rezultoj de serĉo. Ĉi, vi povas eble diveni kion ĉi faras. Tio estas ia enigo, ĝi estas, fakte, tuj serĉos kiel teksto kampo, kaj la nomo de tiu enigo, la nomo de tiu variablo, por tiel diri, tuj estos q por konsulto de konvencio. Kaj denove, la tipo de ĉi enigo ne tuj estos checkbox; ĝi ne tuj estos menuo; ĝi tuj estos tekston kampo kiel skribata ĉi atributo tie, kaj tiu teksto skatolo, kiel linerompo, estas ĉu ekzistas aŭ ne. Do ni havas malplenan elemento kun la oblikvo ene ol etikedo. Tiam Mi tuj metos linion ripozon, kaj vi povas, eble, divenu kion ĉi tuj faros. Tio estas alia speco de formo enigo. Ĉi tiu okazas al esti uzita por submeti la formo. Do tiu tuj estos la granda butono kiu la uzanto povas klaki por submeti la formo, kaj la stampo sur tiu butono tuj estos 'CS50 Serĉu. Fermi formo, proksime korpo, proksime HTML. Ni vidu kion ni havas en la formo de ĉi tiu retpaĝo. Do mi iros al mia krozilo, lasu min iri, ankoraŭ, al lokaj gastiganto. Ĉi tiu estas ankoraŭ index.html, do se mi volas vidi ĉi tiun dosieron nomata search0, Mi povas simple fari / search0.html, eniru - kaj la unua el miaj eraroj. Kio okazas? Mi klare ne rajtas aliri ĉi tiun dosieron, por iu kialo. Sed tio estas ĉar, malsame al la laboro ni faris ĝis nun en C, kie la programoj kiujn vi skribas estas alprenita al esti runable de vi, plenumebla de vi, tio ne estas vere la kazo sur la retejo, per kelkfoje vi eble volas krei dosierojn en servanto, sed vi ne volas ke la tuta mondo por povi vidi ilin. Pli ĝuste, vi volas ke la mondo vidu iun dosieroj sed ne aliaj, nur por privatecon de sake. Do ĝi estas pli de opt-in bazo kiam vi faras tion en la TTT. Kaj tial mi vere tajpi ls tie, kaj vi vidos la dosierojn mi havas, sed memori, ke se mi faras ls-l longe, Mi ricevos pli longa listo kiu donas al mi iom pli da detaloj pri ĉi tiuj dosieroj kiuj estas nun, vere, por la unua fojo rilatajn al ni. Rimarku ke en la ekstrema dekstrularo estas la nomoj de miaj dosieroj, kaj tiam la tempo je kiu ili Laste redaktita je aŭ kopiitaj. Ĉi tiu nombro jen kio? Ĉu vi memoras? La grandeco en bajtoj, kiel granda la dosiero. Do mi ŝajnas havi ian logo en tie estas pli granda ol cxiuj aliaj dosieroj. Ĉi tiu estas, kiu mi estas, tion mi estas kaj kion grupo mi in Sed tiam, super tie maldekstre estas iom de kripta vico, kaj ni parolis, mi pensas, mallonge pri tio en la pasinteco, sed ĉi tio devas vidi kun permesoj. Kaj eĉ se tiu estas iom malprecizaj, RW probable signifas legis & skribi. Do rezultas ke tiuj strekoj signifi malsamajn arojn de permesoj por malsamaj homoj. Kaj la ŝablono estas, esence, kiel sekvas. Kiam vi vidas vico de strekoj tie, ili aspektas kiel sekvas. Jen haltostreko, tiam ekzistas tri pli strekoj, tiam tie estas alia tri, tiam tie estas alia tri. La unua estas ĉu strekon aŭ ĝia anonco de dosierujo. Por ke oni estas sufiĉe facila. Se ĝi estas dosierujo, diras d, alie ĝi estas streketo. Jen kelkaj aliaj kazoj, sed por nun ni nur zorgas pri dosieroj kaj dosierujoj. Tiuj tri sekvaj strekoj - kaj mi artefarite insertos la spacoj. Ili estis, evidente, ne tie, kiam ni vidis ilin antaŭ momento. Ĉi tiuj estas la dosiero mastro permesoj, kaj memori de dua monato, ke ĝi legis & skribi. Tio estis ĉar mi, kiel la persono kiu kreis ĉi tiun dosieron antaŭ momento, Mi, nur implicite, en Linukso komputilo, havas la kapablon por daŭrigi legante kaj skribante ke dosiero. Do la mastruma sistemo nur donas al mi RW aŭtomate. Meze aĵoj rilatas al mia grupo, kiu de studentoj, kiu estas speco de sensignifa en la aparaton ĉar mi estas la sola persono uzanta la aparaton. Do mi simple skuu miajn manojn en tiu ĉimomente. Sed la lastaj estas pli gravaj por la TTT. Jen ĉiuj aliaj en la mondo, kaj la fakto ke tio estas --- signifas ke neniu alia en la mondo havas neniun permesojn al ĉi tiu dosiero. Klare estas problemo, do mi devas redifini tiun per iel donante al la mondo kio? Legu & skribi? Tio probable muta, ĉu ne? Mi ne volas ke neniu en la TTT iri por viziti mian paĝon kaj iel ŝanĝas tiu dosiero, kvankam ili vere ne povis kun HTML-dosiero, sed gxuste en komenco, probable nur volas ilin por povi legi ĝin. Kion ĝi signifas por legi ĝin? Ĝi ne signifas ke ili tuj zorgas pri la efektiva HTML, sed la retumilo bezonas por povi analizi ke markado lingvo, supre sube, maldekstre dekstren. Do iu en la TTT bezonas por povi legi ĝin, do mi minimume bezonas por doni ĝin r. Mi povas fari tion en kelkaj diversaj manieroj, sed eble la plej simpla estas kuri ĉi komando tie. Chmod, ŝanĝi modon, tiam a + r tiel ĉiuj, ĉiuj en la mondo + legi, kaj tiam la nomo de la dosiero, search0.html. Nun se mi faras ls-l denove, rimarki ke tiu dosiero ŝanĝiĝis, kaj ja, mi turnis sur r por ĉiuj. Mi ankaŭ turnis ĝin sur mia grupo, sed tio estas bone, ĉar se mi turnis en la por ĉiuj, mia grupo estas subaro de tiu. Por ke estas bone ankaŭ. Tiu simple signifas la komputilo nun faris legebla. Nun mi reiros al mia retumilo, klaku reŝargi. Ha-ha. Ni nun havas CS50 Search. Mi zoomed en iom artefarite - bela hida serĉilo. Sed ni vidu se ĝi efektive funkcias. Unue, lasu min fari rapidan prudento ĉeko, lasu min kontroli klaku kaj vidi paĝon fonto. Rimarku ke ene Chrome ni nun vidas la saman HTML, ke mi mem kreis. Ili ne konfuzi ĉi tie, tamen. Mi ne povas komenci ŝanĝi la kodon ĉi tie, ĉar la retumilo havas nurlega vido de tiu kodo. La retumilo ĵus demandis loka gastiganto por dosiero nomata search0.html. Ĝi estas nun pura koincido ke la aparaton hazarde estas en la sama komputilo kiel mia retumilo. Mi povis nur devas, ekvivalente, ili tajpis en www.facebook.com/search0.html, kaj se Facebook havis dosieron nomatan tio, mi devus tiam esti vidinte ilian HTML. Kaj, kompreneble, mi ne povas ŝanĝi la dosieron kiu revenas de Facebook, ĉu. Do nun ni estas speco de desdibujando la linioj. La aparaton estas ambaŭ servilo, utilante supren retpaĝojn, sed estas ankaŭ kliento en la senco ke mi uzas legilo por fakte parolas al tiu servilo. Do ni vidu se mia Google serĉilon funkcias. Lasu min kaj serĉi rapida bruna vulpo, eniru. Kaj voila, mi nun havas mian propran serĉilo. Sed kiel faras ĉi tiu laboro? Iom de trecho, sed - kaj nun vi ne povas vidi, ĝuste, la parto kiu estas de intereso. Rimarki kio okazas. Rimarki la URL. Rezultas, ke tiu metodo, vokis get, estas super-simpla. Kiam vi specifi en formo kiu vi volas 'get' rezultoj de iu servilo, kio okazas al fari estas preni kion ajn vi tajpis en la formon kaj metis ĝin en la URL. Ĝi tuj normigi kiel gets meti en la URL jene. Rimarku ke tiu estas la URL kiu estis la valoro de mia agado atributo. Tie estas kie mi volis la formon por fini. Sed tiam rimarkos ĉi demandosigno. Tio estas konvencio en la TTT per havigi uzanto enigo al retejo, vi aldonas al la URL demandon marko, kaj tiam vi havos tutan faskon da ŝlosilaj valoro paroj. La nomo de klavo, alie sciata kiel parametro en la retejo, tiam vi havas egalan signon, tiam vi havas la valoron de tiu parametro. Do ĝi estas esence ŝanĝiĝema nomon kaj variablo valoron, sed tiuj variabloj de nomoj kaj valoroj venis de la HTML formo. Kial la pluses tie, ĉu vi opinias? Ĉar mi ne tajpi + en inter miaj vortoj. [Studento, nekomprenebla] >> Jes, ĝi estas nur por Interspacigo. Odds estas, kiam vi vidis la URL, ekzistas neniam ajn spacoj en ĝin, se nur ĉar se estus, vi ne povus vere kopii kaj alglui ĝin enen IM aux en retmesaĝon ĉar tio rompus. Vi volas la tuta afero estos unu apuda linio de signoj. Do la foliumilo estas sufiĉe inteligenta por realigi, uh-uh. Ne nur metis spacon tie. Lasu min kodi la spaco en iu norma maniero. Unu el la konvencioj por fari ĝin estas havi la retumilo aŭtomate metas + kie vi devus alie havas spacon. Do nun, avizo Google estis speco de uzantamika. Mi certe ne kreis tiun ĉi paĝon, sed ili prepopulated ilia propra teksto kampo kun kio, precize, mi tajpis in Supozu mi volas serĉi ion alian, kiel pigra hundo. Mi povas simple tajpi ĉi tie, re-serĉo. Rimarku ke la URL ŝanĝas tien, sed rimarkas tiam ke mi povas vere serĉi ion mi volas nur kompreni kiel URLoj laboro. Mi povus fari mallaborema kato, eniri, kaj rimarki nun mi ricevas tre pigra - ni? Mi sentas, ke ni devus. Mi alvenas tre mallaborema kato. Bone. Tiu estas unu el la stupidest aferoj ni faris. Sed tio estas mallaborema kato. Cxiuokaze, kio estas la ŝlosilo takeaway tie? Nun ni estas speco de ludi en la mondo de HTTP. HTML estas ĝuste ĉi tiu markado lingvo, malfermita etikedo, proksime etikedo, kiu rakontas navegador kiel redonu enhavo en retpaĝo. Sed kiam vi komencas transdoni datumoj trans la Interreto inter foliumilo kaj servilo, jen kie ĉi protokolo konata kiel hiperteksto Transfer Protocol transprenas. Ĉi tiu estas la speco de homa konvencio, kiam Sam kaj mi manpremis lundon, komenci rilato kaj tiam fermante rilaton, sama ideo tie. Kiel Google rezultojn revenanta al mi? Kiel mia formo submetiĝo tuj Google? Nu, memoru de la alia tago, kio vere okazas sub la kapuĉo, kiam vi petas retpaĝon estas, Via retumilo sendas iom-kamufla mesaĝon kiel GET / HTTP/1.1 por la defaŭlta hejmpaĝo. Aŭ, en ĉi tiu kazo, ĉar mi specife petis pli frue search0.html, ĉi tiam estus la iom-kamufla mesaĝon ke mia retumilo sendas al la aparato. Aŭ, en ĉi tiu kazo de Google, kio efektive sendis Estas peto al / serĉo, kaj do? q = mallaborema kato, kun pli tie. Do tiu mesaĝo, ke Mi, la homa, mi neniam tajpas, sed estas sendita de mia krozilo, jen kiel HTTP okazas. Ĉi tiu estas la ekvivalento de nia esti skuatan manoj. Ĉi tio estas la peto, kaj la servilo estas pri sendi respondon. Do ni rigardu ĉi sube la kapuĉo. Kiel antaŭe, oni povas malfermi tiu speciala kampo en retumilo. Rigardi paĝo, inspekti elementoj. Do sub inspekti elemento, rimarki ke kio okazis en Chrome, kaj IE kaj Firefox havas similajn mekanismojn, ni havas ĉi tiujn programisto iloj atingebla al ni. Normala homo ne uzas tiujn foliojn. Sed ni, nun, estas interesita en kio okazas sub la kapuĉo en la reto nivelo. Do se mi elsxiros la reto nivelo tie, lasu min iri antaŭen kaj etendi tiun fenestron, malfermi tiun eniron tien, kaj rigardu la titolaj. Do kio okazas kiam mi petas dosiero de servanto retejo estas mia retumilo sendas tuta amaso de aferoj. Kaj lasu min vidi fonton. Do sub peto kapoj, kaj ĉi tiu estas nur Chrome montrante al mi iom diagnozaj eligo, ia kiel erarserĉilo de iu varo, rimarki, ke kion mi reliefigis tie estas ĝuste kion Chrome sendas al la servilo por peti dosieron nomatan search0.html. Ĝi diras la servilo kio pensas lia nomo estas, danke al tiu gasto dupunkto kampo, tiam ekzistas iu bela esotérica havajxoj en tie, kiel ion por fari kun datoj kaj tempoj, ion fari kun la lingvoj ke la retumilo komprenas, sed la vere grava linioj estas tiuj du unuaj tie. Kion faras la servilo respondi kun? Nu, se ni rulumu malsupren tie kaj vidi fonton de tiu afero, rimarki ke la servilo respondis kun iom críptico mesaĝon tiel, 304 ne modifitaj. Tio estas iom stranga, Ke mi efektive provas ripari ĉi. Lasu min premadu movo kaj alklaku reŝarĝi ĉi tien devigi la retumilo al reale fari ĉi tiun peton por la unua fojo. Tiam lasu min zomi, kaj ni vidos, ke la servilo la respondo, ĉar mi tenis movo, estas 200 OK. Do vi probable neniam vidis la nombro 200 en la kunteksto de la retejo, sed kion nombroj vi foje vidis neatendite el servilo? 404, dosiero ne trovita; 403, malpermesita; 500, servilo eraro. Estas do tiuj nombraj kodoj ke la mondo uzas en la retejo por signifi eraroj, ĝuste kiel C funkcioj povas reveni eraroj kaj ĉefa povas reveni eliro kodoj. 200, tamen, vi malofte vidas ĉar ĝi signifas ĉio estas bone. Kaj 304 al vi probable neniam vidos ĉar kio ĝi signifas? Ke nenio havas - ni vidu se ni povas simuli ĉi denove - Ho, nun ĝi ne estas kunlaboranta. 304 diris ne modifita, do kial la servilo eĉ respondi? Nu, por rendimento, servanto retejo aŭtomate por vi, se la dosiero ankoraŭ ne ŝanĝis, ĝi ne retransmit la tuta HTML dosiero. Ĝi devos simple diru al la retumilo ĝi ne ŝanĝiĝis. Simple uzu la kopion vi jam havas. Do tie estas tio nocio de caching en TTT por prezento, tiel ke vi ne malŝpari tempon kaj malŝparo elektra bendlarĝo, bendlarĝo elŝuti dosierojn denove kaj denove nenecese. Sed ĉi tiu retpaĝo, nun, estis super-simpla, kaj ĝi nur montris al mi la HTML kiu revenis. Ni efektive uzi la reton langeto nun fari Google serĉo kiel rapida bruna vulpo. Lasu min tiam klaku CS50 serĉo, kaj nun, rimarki en la fundo tie tutan faskon da aĵoj revenis ĉar kiam mi vizitas reala afiŝinto kiel Google.com, ili havas bildojn, ili havas tekston, ili havas lingvon nomata JavaScript tie. Do ĉiu vico en ĉi tiu tabulo cxi tie reprezentas iun ke Google kracxis el en respondo al mia sola peto. Tiu, kiun mi prizorgas, tamen, estas ĉi unua. Kaj se mi iros al la serĉo, peto, klaku vidi fonto tie, rimarki ke, efektive, la kamufla mesaĝon ke mia retumilo sendis al Google estis tiuj du linioj tie, sekvata de kelkaj arkaikaj informojn cxi tie kion ni ignoras nun. Sed rimarki, ankaŭ, kion Chrome estas sufiĉe utila kun, ĝi estas ankaŭ montrante al mi la demando ŝnuro kiu estis sendita in Do anstataŭ montri al mi tiun, kiu estis laŭvorte senditaj, se mi ĝin vidi malkodita, Chrome, nur por elpurigi intencoj, por programistoj kiel ni, ĝi estas ĵus montrante al mi homredaktitan amika versio de - kiu ne estas kiel vi literumi vulpo, ŝajne. Mi ĵus rimarkis ĉi nun - sed ĝi montras al vi, kion mi, ŝajne, tajpita. Dume, la respondo ke revenis de la servilo estas denove 200 OK. Sed inkludis en tiu respondo, kompreneble, se ni reale vidi la paĝon de HTML - sorry, ĉi tiu estas iom klavaro ŝparvojo iris malbone hodiaŭ. Mi trakti ĉi poste. Do, se ni efektive vidi la paĝon de fonto, kion mi povas fari cxi tie klakante respondo, ĉi tiu estas kio vere kracxis reen, krom ke críptico 200 OK mesaĝon de la servilo. Iom críptico, sed kie estas ĉiuj ĉi devenante? Nu, ni faru unu alia afero ĉi tie. Alia iom-kamufla komando, sed ĉi tiu estas iom neta en tiu ĝi malkaŝas al ni precize kio okazas sub la kapuĉo. Do mi estas reen sur mia Mac ĉi tie, mi konektita tra programo nomata SSH, Secure Shell, al alia servilo ĉar la plimulto de Harvard komputiloj bloki la komando ni komencis forkuri ĉar ne estas tio komando sur iu serviloj nomis traceroute kiu permesas vin spuri la vojo inter punktoj a kaj b, kaj tiel multe ni estis prenante tute por donita ke mi povas tajpi en Google.com kaj iel atingi datumoj reen el duonvoje tra la lando aŭ duone trans la mondo. Kun traceroute ni povas reale plonĝi en iom profunda pri kiel la Interreto funkcias, kaj vidu kio okazas sub la kapuĉo. Do ni iru antaŭen kaj arbitre paŭsi itineron al, ni diru, Stanford.edu, kiu estas la tuta lando, kaj sukceson eniri. Tiu komando povas esti super-rapida aŭ super-malrapida, sed kion ni vidas nun, linio por linio, estas ĉiu el la ŝtupoj aŭ lupolo inter ni kaj Palo Alto, aŭ Stanford, kie havas sian ttt-servilo. Do kion signifas ĉiu de ĉi tiuj linioj reprezentas pli konkrete, kvankam? Peco de slango de Interreto? [Studento, nekomprenebla] >> Kio estas tio? [Studento, nekomprenebla] >> Ho, do estas fojoj, sed kion signifas ĉiu vico - Kion mi volas diri per lupolo? Nu, estas ĉi tiuj aferoj en Interreto nomita routers. Kaj routers, kiel la nomo sugestas, itinero informoj el punkto a por noti b. Sed estas pluraj punktoj preter a kaj b. Estas c kaj d kaj e kaj f inter vico 1, kio okazas al esti mia komputilo IP adreson, aŭ mia nombraj adreson, kiu unike identigas mia komputilo, kaj paŝo 15, kiu estas fakte la sesa retservilo, ŝajne, ke mi infiriendo el tiu aux versio 6 de ilia ttt-servilo en Stanford. Sed kio estas speco de neta estas, ni povas vidi la vojon ke mia 0-aj kaj 1-oj prenas el mia komputilo al Stanford. Do paŝo 1 estas mia propra komputilo adreso. Ĉiu komputilo en la Interreto havas unikan ensalutilo kiu similas ĉi. Number.number.number.number. Ie sur tiu ĉi tereno, probable en la scienco centro, estas router nomis Core Gateway 2-te83, kion ajn tio signifas, do tio estas unu el Harvard granda fantazio routers kiu itineroj multon de siaj trafiko. Jen alia de Harvard routers, ĉi tiu estas Limo Gateway, limo signifo estas probable en la periferio de kampuso ie. Tiam ekzistas nox unu, vico 4, kiu estas Norda Vojkruciĝo, kio estas granda ISP, Interreto servo provizanto, ke lokoj kiel Harvard konekti ĝis. Sed tiam aĵoj iom interesa en linio 6. Kie estas miaj bitoj subite? Kansas. La mondo havas kutimon uzi flughaveno kodoj en tereno de tiuj aferoj, aŭ almenaŭ mallongigoj por ŝtatoj aŭ urboj, tiel ĝi aspektas kiel, en nur 60 m, paketon da informoj, 0-aj kaj 1 estas de mia portebla komputilo atingis la tutan vojon al Kansas, kaj denove, en 60 m. Cetere, post Kansas, ili prenis oni ĝiras tra Houston, probable, kiel sugestita de la nomo de ĉi servilo. Do ĝuste kiel servanto en Interreto devas havi nombraj adreson, ĝi povas ankaŭ, laŭvole, havas iomete pli homa-amika adreso kiun homoj venis supren kun. Nun, en paŝo 8, ni ne scias, kiel tio estas. Kelkfoje routers nur speco de ignori vin, kaj ili simple ne respondi la demandojn, do estas bone. La unu post paŝo 8 estas ŝajne kie? L.A. Rimarki en nur 78 m, kio portas al ni homoj kiel 6 + horojn por fari fizike, prenas pakojn de informo sur interreto 78 m vojaĝi ke for. Paŝo 10 estas en LA tiel, kaj paŝo 11 ŝajnas esti iris norden, ĝis proksime Stanford. Tio estas ilia limo enkursigilo, aŭ limo enkursigilo. Paro paŝoj en Stanford kiuj ignorante ni, kaj laste, ni alvenas al la retservilo en nur 87 m. Nun, ĉiuj tiuj nombroj, kiel flanken, nur diri al vi kiom longe ĝi prenas por datumoj akiri de mi al ĉiu el tiuj routers, kaj ne accumulative. Kio ĉi programo ne estas, ĝi unue sendas mesaĝon, esence, al la unua enkursigilo. Tiam unu al la dua enkursigilo, tiam unu al la tria enkursigilo, mezurante ĉiufoje. Do teorie, ĉi tiuj tempoj estos kreskanta aŭ almenaŭ sufiĉe proksime al unu la alian, kaj, efektive, la aĵoj kiuj estas ĝuste sur kampuso estas super-malgranda. Tuj kiam oni komencas tuj trans la lando, ĝi prenas datumoj iom pli vojaĝi, pli proksime al 100 m, doni aŭ preni. Sed ni iru al la alia direkto nun. Kion pri la Universitato de Cambridge en la UK? Lasu min anstataŭ kuri traceroute de www.cam por Cambridge, . Ac por akademiaj,. Uk, kaj sukceson eniri tien. Tio estis bela malbenita rapide. Mia datumoj laŭvorte iris al Cambridge, Anglio, en tiu divido dua de tempo. Do ni vidas la padon kiu ĝin portis. Harvard, Harvard, Harvard, Norda Vojkruciĝo, kio estas ISP, kaj tiam ĉi tiu estas Norda Vojkruciĝo, kaj tiam bam. Kio estas inter ŝtupoj 6 kaj 7, router 6 kaj 7? La Atlantika Oceano. Kaj ni infiriendo ĉi de la fakto ke ni iru el 20 m tie al 80 m tie. Do io prenis 60 m, donu aŭ preni, akiri pli. Kaj kiu estis probable granda korpo de akvo. Kio iras sur post tio? Nu, jen ni estas en Londono, nur 88 m poste. Pli Londono, pli Londono, ne certas kie ĉi tio estas, sed ni supozas ke estas ekster de Londono, Kembriĝo tie, kaj fine ni - laŭvorte, Universitato de Kembriĝo . Something.net, kaj poste, fine, en linio 16, sia TTT-servilo estas ŝajne nomas Scorpius sub la kapuĉo, kvankam ni scias kiel www. Ia menso-blovado, mi pensas. La unua fojo mi faris tion, ĝi tute blovis mian menson. Bedaŭrinde, Harvard blokas ĉi tiu tipo de trafiko, tipe, en la reto. Do vi ne povas fari ĝin super facile. Rimarki, tamen, ĉi tie eblas. Bone. Ni prenu nian 5-minuta paŭzo tie. Ni revenos kaj mergi en pli profunda. Do ni estas dorso, kaj ni ia ambled pri en kelkaj diversaj direktoj tie. Do ni resumos precize kio daŭras ĉi tie. Ni komencis la konversacion parolas tiun lingvon nomata HTML. Denove, ne estas programlingvo. Estas nur markado lingvo tio estas plejparte pri estetiko kaj strukturado de enhavo en la formo de retpaĝo. Sed HTML do bezonas ian mekanismon por vojaĝi inter foliumilo kaj servilo. HTML do ia rajdas sur supro de ĉi tiu alia lingvo, aŭ pli ĝuste, protokolon, konata kiel HTTP. Kaj HTTP, kiel ni vidis ĝin ĝis nun, estas ia analoga al tiu homa konvencio de skuante manoj. Kiam retumilo volas peti paĝon el servilo, ordonas ke "get" peto de retumilo al servilo, kaj tiam la servilo respondas kun nombro kiel 200, ĉiuj estas bone, tiel kiel la HTML aŭ iu malbona nombro kiel 404, dosiero ne estas trovita. Sed dume, HTTP mem ne estas la interreto, per si mem. HTTP estas nur servo, karakteriza de la Interreto multe kiel G babilejo estas alia servo, multe kiel retpoŝta adreso estas alia servo. Ekzistas ĉiaj aferoj ni povas fari en la interreto. HTTP estas nur unu el tiuj aplikoj. Do sur la supro de - HTTP estas sur io alia kiuj ni ne menciis laŭnome, vi eble auxdis pri laŭnome, TCP / IP. Do la rakonton ni ĵus diris estas pri kiom datumoj vojaĝas de punkto a por noti b. Kaj en ĉi tiu kazo, ni vidis je tre malalta nivelo enkursigilo router router al enkursigilo, kiel la datumoj estas reale esti transdonita. Sed survoje, tuj renkontos diversaj malhelpoj. Krom tiuj routers, estas aĵoj nomata firewalls en Interreto, kaj tiel datumoj, kiel ni estis nur transdoni de mi al Stanford, de mi al Cambridge, estas sendita al, je tiu nivelo, iu vokis IP-adreso. Ni vidis tion antaŭ momento, kaj IP-adreso estas nur nombraj adreso de la formo w.x.y.z, kie ĉiu el ili estas inter, donu aŭ preni, 0 kaj 255, kvankam vi ne povas sufiĉe uzi ĉiujn el tiuj numeroj. Sed ĉiu el tiuj lokon posedantoj estas nombro inter 0 kaj 255. Do IP adreso tiuj tagoj estas 32 bitoj. Nun, kiu donas al ni kiom da eblaj IP adresoj en la mondo? Malglate 4 miliardoj, ĉar ajna momento ni rakonti en potencoj de 2 tuta vojo ĝis 32 de iu, kiu kutime donas al ni 4 miliardoj. Por ke estas multa IP-adresojn, sed vi eble legis, aŭ vi eble nun rimarkas en la populara gazetaro, puŝon al nova versio de IP nomis IPv6. Ĝuste nun ni uzas versio 4. Ĉu vere ne estis versio 5, ni simple saltante rajton 6. Versio 6 tuj uzos 128 bitoj por IP-adresojn, kiu estas freaking grandega. Ni ne elĉerpas por sufiĉe tempo nun, sed ni komencis kuri el versio 4 IP-adresojn, ĉar ĉiuj el ni devas ne nur aĵoj kiel tekkomputiloj kaj tablo-komputiloj, multon el ni havas telefonojn, multe el ni havas aliajn mekanismojn kiel TiVo kaj similaj, kiuj havas IP sin. Harvard mem dekmiloj da komputiloj. Do la mondo estas vere kurante el IP, almenaŭ de ĉi formularo. Do dum la venontaj jaroj, vi tuj vidos la adresoj sur via propra komputilo probable malrapide ŝanĝos kiel pli kaj pli kompanioj kaj universitatoj komencos por apogi la nova versio. Sed IP-adreso ne estas sufiĉa por komputilo por peti informon de komputilo b. Ĉar komputilo b eblus servilo, kaj servanto, kiel mi menciis antaŭe, povas fari aroj da aĵoj. Ĝi povas gastigi retpaĝojn, ĝi povas esti retpoŝto servilo, eblas Skype servilo, ĝi povas esti G babilejon servilo. Ĉiuj ĉi tiuj malsamaj servoj kiuj povas esti provizita en servanto povis ĉiuj, fizike, esti sur la sama maŝino. Do aldone al IP-adresojn, la mondo havas aĵojn nomas havenoj sur la interreto. Al haveno estas nur nombro, do estas unika nombro por HTTP. Lia nombro estas 80. HTTP ankaŭ uzas numeron 443, sed pli specife, por ĉifrita HTTPS. Kiam ajn vi vidas la s, por sekura, ke tio uzante malsama nombro. Estas aliaj nombroj, kiel 25, uzita por iu nomita SMTP, alie konata kiel retpoŝto. Estas io nomata 22 por SSH, kaj jen mia tuta amaso de aliaj havenoj tie. Nun, ni homoj malofte vidas tiujn numerojn. Tamen, kiam vi tajpas en parolado kiel http://www.facebook.com, la retumilo estas sekrete enmeto 80, ĉar vi uzas HTTP. Se vi, anstataŭe, tipo HTTPS, ĝi estas sekrete enmeto 443. Kaj ni povas ia vidi ĉi permane se mi tiri supren Brower kaj iru al http://www.facebook.com:80. Tial eksplicite citante ne nur la nomo de la retejo sed la haveno, ke mi volas paroli al, kaj sukceson eniri. Rimarku malaperas, ĉar la retumilo supozas, oh, 80, mi eĉ ne tuj tedas montrante ke por vi. Sed la kialo estas ke se mi vere volis sendi iun retmesaĝon, Mi vere sendante ĝin al ili sur haveno 25, kiu estante SMTP. Iom de simplificación, sed iuj el vi havas amikojn kiu fakte labori en Facebook, kaj ili, simile, havi servilojn kiuj ricevas retpoŝton. Ajn vi sendu retmesaĝon, kion gmail faras por vi aŭ Outlook aŭ kion ajn programon vi uzas, ĝi estas speco de sekrete enmeto tiu numero tiel, 25, en tiu kazo. Estas ĉi tiu kombino de IP adreso kaj numero kiu unike identigas komputilo en la Interreto kaj specifa servo en tiu komputilo. Nun, kompreneble, la plimulto de ni probable neniam tajpis permane IP-adreso. Eble vi havas en la aparaton, sed en la reala mondo, ne tiel multe. Kial ni ne tajpi IP en retumiloj? Laborus, fakte, ni povas vidi ĉi; lasu min montri vin unu alia komando kiu devus funkcii plej ie sur Harvard kampuso sur Mac aŭ PC. Estas ĉi tiu komando nomis nslookup, nomo servilo lookup. Se mi rigardas supren www.cnn.com, rezultas ke CNN havas - ho, interesa. CNN komencis uzi Amazonoj retejo servoj. Vi eble scias pri cloud computing, Amazona la unu el la grandaj agantoj de nubo komputado. Kion mi nur faris estis, mi diris: Donu al mi la adreson de CNN la ttt-servilo: sed ĝi rezultas ke CNN la ttt-servilo estas administrata de Amazono, Amazonoj servoj retejo, ĉi sugestas. Kaj la adreso de tiu servilo estas ĉi tie. Do mi ne certas se tio funkcios, ĉar ili ne kutimis uzi Amazon. Sed ni provu tion; http://, IP, eniru, kaj - ĉu tuj funkcias? Jes. Tuj funkcias. Interreto estas super-malrapida hodiaŭ. Sed, tre frue, vi vidos iujn novaĵojn rakonton. Tie ni iru. Banko de Ameriko esti demandado. Bone. Ĉi tio estas ĉar tiu ĉi IP adreso nur okazas per sinonimo www.cnn.com. Kompreneble, estus horora marketing diri, vizitu nin en la TTT ĉe 50.112.94.127. Vi ŝatus neniam memoras. Do eĉ tiuj tagoj vi eble memoras aferojn kiel 1-800-COLLECT aŭ mnemonikoj la mondo venadis kun por telefonnumerojn. Kiuj, antaŭ poŝtelefonoj, estis iom malfacile memori ĝis vi povus simple tajpu ĝin en kaj forgesas pri ĝi. Do la interreto ankaŭ havas ĉi tiun konvencion de nomoj kaj IP-adresojn, kaj estas tio tie nomis DNS-serviloj, domajna nomo sistemoj servantoj, kiuj tradukas IP en nomoj kaj inverse. Do, tio estas kion okazas sub la kapuĉo. En la fino, ni devas TCP / IP, kio estas ĉi tiu tre malalta nivelo protokolo ke, vere, nur ricevas 0-aj kaj 1-oj tra la Interreto, kaj tio faras metante ilin en virtuala koverton, se vi volos, kaj skribi sur la eksteron de la koverto la IP-adreso de la destino, kaj ankaŭ la nombraj haveno nombro de la servo de tiu destino, ke li volas paroli. Dume, en la koverto ekzistas ankaŭ iu scias kiel reveno adreson, kio estas via IP-adreso, tiel ke kiam CNN gets paketon da informo de vi, malfermas tiun virtualan koverton, vidas ke vi deziras la hejmpaĝo, scias de la sendinto parto de ĉi virtuala koverton, kiun sendi la HTML reen al. Do ni rigardu tiun en iom pli detale. Tiu estas el kompanio nomita Ericson, de kelkaj jaroj malantaŭen. Kaj ili prenis iom liberecoj kun kiom la interreto efektive funkcias, sed pentras multe pli vida bildo ol nura kreto ĉe tie. Do mi donos al vi "A Bit de la Interreto." [Rakontanto] Unuafoje en la historio, popolo kaj maŝinaro laboras kune, realigante sonĝo. Al kunigante forto kiu ne konas geografiajn limojn. Sen konsideri raso, kredo aux koloro. Nova erao kie komunikado vere alproksimigi homojn. Jen La Tagiĝo de la Reto. Volas scii kiel funkcias? Klaku tie ĉi por komenci vian vojaĝon en la Reto. Nun, ĝuste kio okazis kiam vi alklakis ligantaj? Vi komencis fluo de informo. Ĉi tiu informo vojaĝas malsupren en via propra persona mailroom kie S-ro IP pakoj ĝin, etiketo, kaj sendas gxin sur lian vojon. Ĉiu pakoj estas limigita en lia grandeco. La poŝto ĉambro devas decidi kiel dividi la informo kaj kiel paki gxin. Nun, la pako bezonas etikedo enhavas gravajn informojn kiel sendinto la adreson, ricevilo de adreson, kaj la tipo de pakoj estas. Ĉar ĉi tiu aparta pako elirinte sur la Interreto, ĝi ankaŭ ricevas adreson por la prokura servilo, kiuj havas specialan funkcion, ĉar ni vidos poste. La pako nun ĵetis sur via loka areo reto, aŭ LAN. Ĉi tiu reto uzas por konekti ĉiujn lokajn komputiloj ' routers, presiloj, kaj tiel plu, por informo interŝanĝo ene de la fizika muroj de la konstruaĵo. La LAN estas bela descontrolada loko, kaj, bedaŭrinde, akcidentoj povas okazi. La vojo de la Lan estas pakita kun ĉiaj informoj. Ĉi tiuj estas pakoj IP, Novell pakojn, AppleTalk pakoj. Ili iras kontraŭ trafiko, kiel kutime. La loka enkursigilo legas la adreson kaj, se necese, levas la paketon sur alia reto. Ha, la enkursigilo. Simbolo de kontrolo en ŝajne desorganizada mondo. [Router murmurante kaj parolante al si mem] [Rakontanto] Tie li estas, sistema, uncaring, metoda, konservativa, kaj foje ne tute ĝis akceli. Sed almenaŭ ĝi estas ĝusta, plejparte. Kiel la pakoj forlasi la enkursigilo, ili faras sian vojon en la kompania Interreto kaj kapo por la enkursigilo ŝaltilon. Iom pli efika ol la enkursigilo, la enkursigilo ŝaltilo ludas rapida kaj malfiksas kun IP pakoj, lerte enrutamiento ilin kune lia vojo. Cifereca 'pinball sorcxisto,' se vi volas. [Router ŝaltilo parolante al si mem] [Rakontanto] Kiel pakoj alveni al ilia destino, ili estas reprenita de la reto interfaco, preta por esti senditaj al la sekvanta nivelo. En ĉi tiu kazo, la prokurilo. La prokura estas uzita de multaj entreprenoj kiel speco de duona viro por malpliigi la ŝarĝon sur la interreta konekto kaj por kialoj de sekureco, tiel. Kiel vi povas vidi, la pakoj estas ĉiuj de diversaj grandecoj dependanta sur iliaj enhavo. La prokura malfermas la paketon kaj serĉas la TTT-adreson aŭ URL. Depende ĉu la adreso estas akceptebla, la pakon estas sendita al la Interreto. Ekzistas, tamen, kelkaj adresoj kiuj ne plenumas kun la aprobo de la prokura. Tio estas, kompania aŭ mastrumado gvidlinioj. Ĉi tiuj estas resume traktis. Ni devos nenio de tio. Por tiuj, kiuj faras ĝin, ĝi estas sur la vojo denove. Sekva supren, la fajroŝirmilo. La korporacia firewall utilas du celoj. Ĝi malhelpas iu prefere aĉaj aferoj de la Interreto de alvenantan al la intranet, kaj ĝi povas ankaŭ malhelpi sentema kompania informo de esti senditaj sur la interreto. Unufoje tra la fajroŝirmilo, router reprenas la pakon kaj metas ĝin sur multe pli mallarĝa vojo, aŭ bando, kiel ni diras. Evidente, la vojo ne estas sufiĉe larĝa por porti ilin ĉiujn. Nun, eble vi demandas kio okazas al ĉiuj tiuj pakoj kiuj ne faras ĝin survoje. Nu, kiam s-ro IP ne ricevos agnoskon ke paketon estis ricevitaj en pro tempo, li simple sendas anstataŭas pako. Ni estas nun preta por eniri la mondon de la Interreto. Al araneaĵo de interkonektitaj retoj kiuj ampleksas nia tuta terglobo. Ĉi tie, routers kaj ŝaltiloj establi ligojn inter retoj. Nun, la Reto estas tute malsama medio ol vi trovos ene de la protektaj muroj de via Lan. Cxi tie, estas la Sovaĝa Okcidento. Plena de spaco, plena de ŝancoj, multe da aferojn por esplori kaj lokoj iri. Danke al tre malmultan kontrolon kaj regulado, novaj ideoj trovi fekundan grundon por peli la koverto de siaj ebloj. Sed pro tiu libereco, iuj danĝeroj ankaŭ insidas. Vi neniam scias, kiam vi renkontos la timinda ping de morto, speciala versio de normala peto ping, kiu iuj stultaj pensis ĝis salaton ĉe konfiditaj Cebaot. La vojo nia pakoj preni estu satelite, telefonaj linioj, sendrata, aŭ eĉ transoceánico kablo. Ili ne ĉiam prenas la plej rapida aŭ mallonga itineroj eblas, sed ili ricevos tie eventuale. Eble por tio ĝi estas foje nomita "The World Wide Atendu." Sed kiam ĉiu laboras glate, vi povas ĉirkaŭiri la terglobo kvinoble pli en la guto de ĉapelo, laŭvorte. Kaj ĉiuj por la kosto de loka alvoko aŭ malpli. Proksime de la fino de nia destino, ni trovos alian firewall. Depende sur via perspektivo kiel datumoj paketon, la firewall eblus bastiono de sekureco aŭ timata kontraŭulo. Ĉio dependas de kiu flanko vi estas en kaj kion via intencoj estas. La firewall estas desegnita por enlasi nur tiuj pakoj kiuj kunvenas liaj kriterioj. Ĉi firewall estas operacii sur havenoj 80 kaj 25. Ĉiuj provoj eniri tra aliaj havenoj estas fermita por negoco. Haveno 25 estas uzata por ejon pakoj, dum haveno 80 estas la enirejo por pakojn de la Interreto por la TTT-servilo. Interne de la fajroŝirmilo, pakoj projektita pli funde. Iuj pakoj fari facile tra kutimoj, dum aliaj vidas nur iom dubinda. Nun, la fajroŝirmilo oficiro ne facile mistifiki, kiel kiam ĉi ping de morto paketon provas maski kiel normala ping pako. [Firewall oficiro parolante pakoj] [Rakontanto] Por tiuj pakoj bonŝanca sufiĉa por fari ĝin ĉi tie, la vojaĝo estas preskaŭ finita. Estas nur linio sur la interfaco por esti ricevita supren en la TTT-servilo. Nuntempe, servanto retejo povas funkcii en multaj aferoj, el mainframe al retejo cam al la komputilo sur via skribotablo. Kial ne estas via fridujo? Kun la pozitiva instalinstrukciojn, vi povas diveni, se vi havas la diatezojn por Kokido Cacciatore, aŭ se vi devas iri butikumi. Memoru, ĉi tiu estas la tagiĝo de la Reto. Preskaŭ nenio eblas. Unu post unu, la pakoj estas ricevitaj, malfermita, kaj malpakis. La informoj ili enhavas, tio estas, vian peton por informo, estas sendita al la TTT-servilo apliko. La paketon mem estas reciklitaj, preta por esti uzita denove, kaj plena de viaj petis informon, alparolis, kaj sendis sur lia vojo reen al vi. Reen preter la fajroŝirmilo, routers, kaj tra la Interreto. Reen tra via kompania firewall kaj sur vian interfaco, preta por provizi vian retumilon kun la informo vi petis. Tio estas, ĉi tiu filmo. Plaĉis liaj penadoj, kaj konfidante la bona mondo, nia fidinda datumoj pakoj rajdi sur blissfully en sunsubiron de alia tago, sciante plene ili servis al iliaj mastroj bone. Nun, ne estas tiel feliĉa fino? [Malan] Konsentite, tio sufiĉas. Ni vidos vin proksima semajno. [CS50.TV]