[Powered by Google Translate] [7 nedēļa, Turpinājums] [David J. Malan, Hārvarda universitātes] [Tas ir CS50.] [CS50.TV] Labi. Welcome back. Tas ir CS50, un tas ir beigas 7 nedēļas. Tātad viens no šiem stulba maz lietas, kas iet ap internetā un mēs slurped augšu, un tas tagad dara mazliet geeky jēga jums. Nu, tas bija smieklīgāks ar šo puisi, nekā tas bija jums puiši. Runājot par, labi, puiši, šodien ir Nate ir dzimšanas diena. Lai sniegtu priekšstatu par to, cik labi Nate un man ir pie interneta attīstību, pamatojoties uz pirmdienas klasi un pamatojoties tagad uz šo, Es domāju, ka man uzvilkt Nate mājas lapu, ja neesat to redzējuši vēl. Tas šeit IA Nate ir HTML. Tāpēc redzēt viņa sourcecode ja vēlaties redzēt, kā to izdarīt, un Nate, ja mēs varētu embarass jums tikai īsi, darbinieki ieguvuši jums mazliet kaut ja vēlaties dalīties ar kādu desertu ar dažiem no šajā klasē šeit bērniem. Ja vēlaties, lai nāk uz leju. Jūs visi slavēt un ir ļoti jauki, bet neviens sēž kaut kur netālu Nate, kādu iemeslu dēļ, šajā muguras zonā. Tāpēc varbūt jūs varat atrast daži ļaudis baudīt tos ar. Daudz laimes dzimšanas dienā, Nate. Papildu hellos: Mēs parādījām pāris klipus no mūsu CS50x studentiem. Ja jūs vēlētos, lai redzētu, kas cits tas ir pasaulē kas ir pēc kopā, jūs varat doties uz šo URL, kur Jāzeps, viens no mūsu TFS, ir salikti kopā montāža veidu ikvienam, kurš ir iesniedzis šo video, to vidū Rick Astley. Un, ja jūs ritināt šiem, tas ir patiešām diezgan iedvesmojoša lai redzētu daudzveidību valstīs un pilsētās, no kurām cilvēki ir ziņošanas. Tātad, ja jūs vēlaties, lai apskatīt, ka tas būs līdz caur beigās semestra. Šodien mēs turpinām apskatīt internetā, web programmēšana, HTML un tamlīdzīgi, un mēs arī esam pusdienām nāk klajā šī piektdiena ja vēlaties, un jo īpaši, nav izdarīts pirms. Šo piektdien tēma būs Nate ir dzimšanas diena, tādēļ, ja jūs vēlētos, lai būtu dzimšanas dienas pusdienas ar Nate un citi, daži no mūsu draugiem no Rūpniecības, lūdzu galvu uz šo URL tur. Telpa, kā vienmēr, ir ierobežots. Arī tad, ja esat aizmirsis, saprotam, ka nākamajā nedēļā ir termiņš problēmas Set 4 s scavenger medības, kuru pēc tam atgūt visus šos JPEG no card.raw, Jūs un jūsu sadaļā biedriem, ja vēlaties, varat mēģināt fotografēt jo daudzi no datorzinātnieku no šīs atmiņas kartes iespējas, un jūs un jūsu nodaļa uzvarēsiet pasakains balvu. Atsaukties uz PSET 4 specifikācijai par to, ko iesniegt un kad. Tāpat, ja jūs vēlētos, lai jūsu roku darbs iemūžināts par kursu tīmekļa vietnē un tās vēsturi apģērbu, zināt, ka jūs laipni tagad, lai sāktu iesniegšanu dizainu Šā gada T-krekli un sporta krekli un tamlīdzīgi. Mēs darīsim visu, lai iekļautu tik daudz, kā mēs varam, bet mums būs daži darbinieki pārskata visiem dizainparaugiem lai pārliecinātos, ka viņi atbilst specifikācijām, un mēs tam izvēlēties vispār no tām nedaudzajām, kas izstādīti. Tātad, ja jums ir projekta tips, tikai zinu, ka prasības par grafikas ir PNG, vismaz 200 dpi, tie nedrīkst būt vairāk kā 4000 x 4000 pikseļi, un ne vairāk kā 10 MB, bet jūs esat laipni aicināti izmantot lietas, piemēram, Photoshop vai GIMP vai dažādas grafiskais s programmas, kāds jums ir jūsu rīcībā. Arī uz horizonta ir galīgais projekts. Galīgais projekts tiešām ir kulminācija 50, kuru no visiem kursa uzdevumiem, tas ir jūsu iespēja tiešām darīt savu lieta. Un kas var būt vienkārši kaut ko darīt, lai jautri, tas var būt atrisināt kādu aktuāla problēma jūsu studentu grupai ir, kādu jaunu tīmekļa vietni, dažas jaunas kolekcijas mehānisms datiem. Tas var būt mobilo pieteikumu par Android, iOS. Tiešām, debesis ir robeža, un tuvāko nedēļu laikā, kā mēs pāreju no C uz šiem augstākā līmeņa valodas, piemēram, PHP un JavaScript, Jūs atradīsiet sev aizvien iepazīstināts ar dažiem reālās pasaules metodes, daži reālās pasaules instrumentus, un lai papildinātu ka, zinu, ka kurss ir vēsture semināru, kad pār tuvāko nedēļu laikā, daži no mācībspēku un draugi mūsu no universitātes pilsētiņā piedāvās izvēles semināri kas iet virs un ārpus tā, kas ir parasti darīts sadaļā lai jūs iepazīstināt ar lietām, piemēram, Android plānošanu, lai jūs iepazīstināt ar lietām, piemēram, iOS programmu vai vairāk uzlabotas tīmekļa attīstības metodes. Tur viss vēsturi no tiem jau ir tiešsaistē. Ja jūs iet uz cs50.net/seminars, mēs esam darot diezgan dažiem gadiem, un jūs redzēsiet, ka arhivēts šeit ar PDF failiem un video, un tamlīdzīgi Ir vairāki desmiti video semināru. Pagājušajā gadā, piemēram, mums bija semināru par acing savu tehnisko intervijas, ja jūs tiešām meklē, lai iet off un darīt stažēšanās vai pilna laika GIG. Windows Mobile attīstību, Android izstrāde, Google Maps, API, CSS, attīstot uz BlackBerry, Emacs. Tiešām, jūs esat laipni aicināti apskatīt kādu no šīm jūsu ērtībai semināros. Un mēs būsim turot dažas jaunas šajā semestrī, kā arī. Tātad, kāda ir priekšā ar galīgo projektu? Nu, pirmkārt, lai gan šis datums ir nedaudz nenovēršama, Tas ir patiešām vienkārši iespēja sākt domāt par galīgo projektu diezgan reāli. Mēs zinām tikai par sākumu dažu ko mēs joprojām aptver gaitā, HTML, PHP un tamlīdzīgi, bet jūs visi pazīstami ar Web, un es aizspriedumiem šī saruna pret Web tikai tāpēc, lielākā daļa cilvēku galu galā dara Web balstītas gala projektus, bet tas nekādā gadījumā nav nepieciešams. Izmantojot C ir labi, mērķis C, Java, citu valodu jūs varētu zināt, vai vēlaties uzzināt, ir diezgan labi. Bet, lai iegūtu sulas plūst sākotnēji, mēs sagaidām iesniegšanu preproposal kas, vienu PDF mājas lapā, kas tagad pie cs50.net, un augšējā kreisajā jūs redzēsiet galīgo projektu ir specifikācija gala projektu, un tur ir ziņas par preproposal un tamlīdzīgi. Ir diezgan daudz aprobežojas ar e-pasta ziņojumā mācīšanas līdzpilsoņiem tikai streikot pat sarunāties ar viņu par to, ko jūs domājat. Gada projects.cs50.net ir ideju krātuve no ļaudīm, par Campus Ja jūs cīnās, lai nākt klajā ar kādu ideju, un manual.cs50.net/APIs ir krātuve saites uz API. Ko, lai gan, ir API? Kas API? Man teica to vismaz divreiz, saskaņā ar pēdējo nedēļu norakstus. Ko tas nozīmē? [Studentu, nesaprotami] >> Labi, labi. Tātad kaut programmēšanas interfeisu. Lietojumprogrammu saskarne, un tas var ilgt vairākas formas, bet ko tas tiešām vārīties uz leju, ir kods ka kāds cits HS rakstiski vai dati, ka kāds cits ir savākti kas ir pieejama jums kaut programmatisko veidā. Jūs varat rakstīt kodu C, PHP, Python, Ruby, neatkarīgi no jūsu izvēles valoda parasti ir, un jūs varat kaut kā pamatā kāds cits funkcionalitāti vai kāds cits datu kopumu. Piemēram, ja es eju uz šo saiti šeit, un jūs redzēsiet pāris saites uz nākamo lapu kad mums ir CS50 pašu API, kas ir ļoti Hārvardas-orientētus, un tad trešo personu API. Starp trešo personu API ir patiešām noderīgas lietas piemēram, ir iespēja sūtīt SMS uz cilvēkiem, to var saņemt SMS ziņojumus no cilvēkiem. Un lietām, piemēram, ka jums varētu būt ne jausmas, kā īstenot sevi, bet, pateicoties pakalpojumu, dažas bezmaksas un daži komerciāla, Jūs varat veidot virsū tiem, un darīt kaut procentu jums. Starp CS50 s API ir šie Campus orientētus lietām, piemēram Harvard kursi, enerģētikas, notikumi, pārtikas, kartes, ziņas, tweets un Shuttleboy pašas, un tie ir API, kas izskatās mazliet kaut kas līdzīgs šim. Ļaujiet man uzvilkt HarvardFood API. Ja esat kādreiz bijis uz HUD mājas lapā, jūs droši vien esat bijis tur lai tikai redzētu, kas ir par vakariņām vai lai redzētu, kas laiks ir kāda d-zālē. Nu, tas nav īpaši viegli orientēties, un tā, ko mēs kādu laiku atpakaļ tika rakstījām programmatūru, tas notiek, ir PHP, kas faktiski ekrāns skrambām visus ar HUD tīmekļa vietnē. Demonstrēto nokasīt kaut nozīmē uzrakstīt programmu valodā, piemēram, PHP kas izliekas par pārlūku, pat ja jūs varētu palaist to pie komandrindas, kas izliekas par pārlūku, pieslēdzas mājas lapā, lejupielādē savu HTML, valodas, kurā tas ir rakstīts, un tad skan tā, vai precīzāk, parses to augšas uz leju, no kreisās uz labo. Un ko mēs bija tapa kodu tādā veidā, ka jebkurā laikā mēs redzējām kaut kas ir HTML, kas izskatījās kā kaut uz izvēlnes, piemēram hamburgeru, tad mēs varētu importēt, ka mūsu pašu datu bāzē. Un jebkurā laikā mēs redzējām uzturvielu saturu, mēs importējam, ka mūsu pašu datu bāzē. Un ko mēs bija sviras ka HUD Mājas, pat ja tas varētu būt mazliet izaicinājums mums cilvēkiem, lai virzītos zem motora pārsega, viss HTML tiek ģenerēts ar saviem datorprogrammām. Tāpēc visu savu HTML, lai gan tas varētu izskatīties netīrs, tāpat kā lielākā daļa tīmekļa vietņu zem motora pārsega tai seko modelis. Tātad mēs tikko pavadīja pāris stundas norādītas, ka modelis tāpēc, ka galu galā, mēs mest prom visu netīrs HTML, visu par drosmīgu apšuvumu estētikas un slīpraksts un tamlīdzīgi, un ko mēs pēc tam var darīt, ir pakļaut ka pašiem datiem. Piemēram, šādā veidā. Tātad mēs, saskaņā ar dokumentāciju šeit, informēja pasaulei, ka, ja jūs lūgt URL ka izskatās, food.cs50.net / kaut ko, un jums sniegt dažus parametrus, kas mēs runājam par šodien, tāpat beigu datumu laika, start-datumu laika, ēdienu un tā tālāk, ko mūsu serveri atgriezīsies pie jums, piemēram, ir CSV failu, komats separted vērtības kā Excel failu, satur visu brokastīs tieši šajā datumā pagājušā gada martā kad man gadījās rakstīt šo dokumentāciju. Tiem iepazinušies, CSV ir ne tikai faila formātu. Tur ir cits formāts, kas viss vēl universāls sauc JSON, JavaScript Object notāciju. Šie dati var atgriezties šajā formātā. Tātad takeaway šeit ir tas, ka to, vai jūs pikējošais šo API vai jebkuru citu no CS50 ir vai kaut kas tur par internetu, vai nemaz, saprotam, ka pasaule ir arvien sāka standartizēt cik mašīnas savienoti. Mēs izmantojam standarta datu formātus, piemēram, CSV vai JSON. Un ko tas nozīmē jums ir, jūs varat rakstīt interesantu programmas daļu, kas ļauj jūsu lietotājs meklētu pusdienu zāle izvēlni, kas ļauj viņiem radīt sarakstus izlasei, kas ļauj viņiem iegūt teksta brīdinājumus kad viņu iecienītāko maltīti ir gandrīz pasniegtas dažās d-zālē izmantojot kāds cits datu kopas un ēka uz augšu savu API. Tā vairāk par to kā semināru un dokumentācija, kas jums ir šeit internetā. Tātad tie, tad ir API. Tas mūs noved atpakaļ uz HTML. Ātri Atgādinājums. Kas ir HTML? [Studentu, nesaprotami] >> Labi. Hiperteksta iezīmēšanas valoda. Kāds cits, kas ir hiperteksta iezīmēšanas valoda? Hiperteksta iezīmēšanas valoda. Labi. Tātad HTML, Hiperteksta. Hiperteksta tikai attiecas uz Web, lai lielākā daļa. Atzīmes nozīmē, ka tas nav reāli programmēšanas valoda, HTML. Tas nav valoda, jūs varat izteikt loģiku collas Tas nav cilpas. Tas nav nosacījumus. Tas nav funkcijas, per se. Drīzāk, tas ir šīs lietas, ko sauc tagus, vai pareizāk, elementi. Un šie elementi ir sākuma tags un beigu tags, vai atklātās tagi un slēgtie tagus, un kādi ir šie tagi parasti nozīmē pārlūkprogrammā ir, sākt darīt kaut ko un tad pārtraukt darīt kaut ko, lai gan ir izņēmumi, kas. Dažreiz tas ir tikai "laidis līnijas pārtraukumu šeit," piemēram. Un mēs redzējām piemērus, ka citas dienas, no treknā apšuvumu, rindiņu pārtraukumi, un tad no citiem tagiem pāris. Tāpēc HTML ir valoda, kurā interneta lapas ir rakstīts. Tātad, ja es eju uz kaut ko līdzīgu Google.com un uzvilkt tikai savu mājas lapā, atgādināt, ka, ja jūs labi noklikšķiniet vai kontrolēt noklikšķiniet un apskatīt Skatīt lapas avotu, parasti tas ir pilnīgs haoss šajās dienās zem pārsega, bet tas ir tāpēc, datori nav jārūpējas par balto telpu, tāpēc tas nav izskatās diezgan. Bet, ja mēs tuvinātu daļās tā, pamanīt, ka Chrome, tikai, lai būtu jauki, ir krāsu kodēta lietas. Patiešām, šis ir pats pirmais tag, ka mēs redzējām mājas lapā. Un atkal, HTML 5, jaunāko versiju šo valodu, tas ir šī lieta sākumā, > Jā, mēs esam atrisināt šo pirms , skaidri stāsta pārlūkprogrammas likts līnijas pārtraukumu šeit. " Un tas ir tāpēc, atkal, pārlūks ir tikai gatavojas to darīt skaidri kāda iezīmēšanas valoda stāsta to darīt, Tātad, pat ja jūs varētu būt hit ienākt vienreiz vai divreiz vai pat desmit reizes, tas notiek, lai apvienotu, ka visi vienā telpā, tikai pēc vienošanās. Tātad, ja jūs patiešām vēlaties rindiņas pārtraukumu, jums ir izmantot br tagu, un tagad paziņojums, piemēram pirmdien, es izvirzīja / iekšā šīs birkas, tikai tāpēc, ka tas vienkārši nav justies labi lai sāktu rindiņas pārtraukumu, tad apturēt to ar neko starp. Tātad HTML konvencija ir atvērt un aizvērt tagu vienlaicīgi. Kā malā, jūs redzēsiet daudz mājas grāmatās nedara to. Tas ir pareizi darīt vai nedarīt, bet mēs teiktu ka dizains gudrs un stilistiski, tas ir tikai labāk jo tad katrs tag ir gan aizvērt un atvērt kaut. Tāpēc tagad pieņemsim saglabāt un pārlādēt. Iet atpakaļ uz pārlūku, labi. Tagad mēs nesam zināmu progresu, bet tas nav gluži pietiekami. Iesim uz priekšu un sākt rakstīt kādu ilgāku ķermeņa tekstu. Tāpēc teiksim, "Ātra brūna lapsa lec pāri slinks suns." Un tagad ļaujiet man tikai nokopēt un ielīmēt šo pāris reizes tāpēc, ka mums ir daļu teksta. Ļaujiet man atgriezties nekā šeit. Tātad, tas nav meklē ļoti labs. Man ir rindiņas pārtraukumu, tāpēc tas ir labi, bet tagad, kad mēs esam kļūst punktu kam mājas lapā ka ir daudz satura un ne tikai vienas līnijas lai pierādītu HTML, mēs varam sākt domāt par šiem, kā faktisko punktos lietām. Un mēs varam sākt strukturēt mūsu mājas lapā nedaudz vairāk tīri. Un tiešām, ko es varu darīt, ir iet uz augšu šeit iekšā no mana ķermeņa tag, un jūs zināt, ko, ja "Tas ir CS50. . . " tiešām demarks sākumu rindkopā labi, pieņemsim trāpi kā tādu. Ļaujiet man ievilkumā tekstu, tikai pēc vienošanās, ļaujiet man teikt ka šis punkts beidzas šeit, un tad nevis to šī līnija pārtraukumu, ļaujiet man tikai saka ka tas pieder tur un kā jaunu punktu, un es ņemšu tikai ātri ievilkuma, tikai clobbering visu šo stuff. Tāpēc tagad mums ir robota punktu tur, un tagad mūsu atzīmju sāk saņemt mazliet vairāk semantiski saskan ar to, ko mēs cenšamies darīt. Mums ir rindkopu, tāpēc sauksim to punktu ar p tag. Mums ir otrais punkts, tāpēc sauksim to punktu ar p tag. Un tagad, ko pārlūkprogramma parasti darīt ir tāpat kā angļu grāmatu vai eseju, kur jūs parasti redzēt dažas rindiņu pārtraukumi starp rindkopām. Pārlūkiem būs darīt jums automātiski. Tāpēc tagad mums ir divas rindkopas un mēs varam turpināt šo. Bet, protams, internetā, kad jums ir iestādes par teksta tas nav parasti tikai milzīgs burbuļus tekstu. Ir bieži hipersaites tur. Tātad, ja mēs gribam, lai, piemēram, arī dažas saites tur, pieņemsim to, kas varētu būt interese neatkarīgi mājas lapā es esmu radot šeit ir - ļaujiet man doties uz Google.com, un ļaujiet man meklēt ātri brūna lapsa. Dodieties uz Google attēlu, un, kā par - tas ir gudrs. Mēs iet ar to. Tātad šeit mums ir ātri brūna lapsa lekt pāri slinks suns. Tātad, ko es esmu gatavojas darīt šeit, tikai dēļ demonstrācijas, ir domāt, ka šis attēls bija uz mana servera, un man bija radīt šos attēlus. Ko man vienkārši bija tiesības noklikšķiniet vai kontrolētu noklikšķiniet uz attēla, un ko jūs redzēsiet vairumā pārlūkprogrammu, ir nedaudz izvēlne - pārtraukt darīt, ka - maz izvēlne, kas ļauj jums izvēlēties kopēt saiti vietu vai Kopēt URL. Tāpēc ļaujiet man iet atpakaļ tagad uz manu HTML, un pieņemsim, ka es gribu hipersaiti šim citam mājas lapā. Kāds bija tagu aicināja par to? [Studentu, nesaprotami] >> Jā. Tāpēc href hiper atsauces. Ļaujiet man iet uz priekšu un ielīmēt, ka iekšā Tas ir diezgan garš URL, tāpēc ļaujiet man atkal tālināt. Tuvi iekavās, tāpēc tagad paziņojums es esmu ceļu nekā šeit tāpēc, ka URL gadījās būt diezgan garš. Ļaujiet man ritiniet nekā šeit uz beigām ātri brūna lapsa, un tad ļaujiet man slēgt šo tagu ar . Tātad viss augšā zilā krāsā ir tikai komentārs. Tas ir mans DOCTYPE deklarāciju, kas atkal, Jūs varat kopēt un ielīmēt uz ticību, kas tagad. Tas tikai stāsta pārlūku, 'Te nāk daži HTML 5 ". Zemāk, ka 14 līnijas, ir manas īstās tagiem, pirmkārt, un tas tikai saka, kā līdz šim, šeit nāk mazliet HTML, šeit nāk galvas manu lapu, šeit nāk nosaukums, un tad, tieši otrādi, tas ir tas par titulu, tas arī uz galvas. Šeit tagad nāk ķermeņa manu lapu. Tātad pāris jaunus tagus tagad: H1 stendi kategorijā 1. Tur HTML tradīcija daudzus gadus atpakaļ , kam dažādu izmēru teksta. Un atpakaļ dienā, katrs nozīmēja, vispār, tikai liels un drosmīgs. Bet tur ir arī H2, kas ir liels, bet ne tik liels, un treknrakstā. Tur H3, kas ir sava veida liels, bet ne tuvu nav tik liels un drosmīgs, un tā tālāk, visu ceļu uz leju līdz H6. Šajās dienās, lai gan, H1, H2 un H3 ir patiešām domāts lai būtu vairāk semantisko nozīmi tiem, kad h1 ir patiešām pozīcija: virsrakstā mājas lapā, pozīcijā kolonnā vai kaut kas tamlīdzīgs teksta. Tāpēc es esmu apzināti teicu CS50 h1 meklēšana> H1 līdz norādiet, ka tas ir patiešām pozīcijā, virsraksts manu lapu. Ne nosaukumu nosaukuma joslā nozīmē, bet virsraksts ka jūs faktiski redzēt pašas lapas, kas organismā. Tagad, jūs varat droši uzminēt, kas tas ir, lai gan mums ir dažas jaunas gabalus sintaksi. Tas ir veids. Tāpēc interneta patiešām kļūst interesanti kad mājas veikt ieguldījumu no lietotājiem. Šajā klasē, jo problēmas, kas par web programmēšanu, mēs nebrauksim, lai mājas lapā, per se, ar statisko saturu, kas parāda fotogrāfijas, kas uzņemti, vai šis ir mans CV, un lietas par mani, jo šīs lietas ir salīdzinoši viegli salikt kopā. Tas ir grūti, lai padarītu lietas skaisti tīmeklī, bet vismaz liekot saturs ir diezgan triviāls. Bet lietas iegūt patiešām interesanti, kad kāds var apmeklēt jūsu mājas lapā un sniegt savu ieguldījumu un var aizpildīt veidlapas, var pārbaudīt pie rūtiņas un var mijiedarboties ar jūsu mājas lapā. Un tiešām, iespējams, katrs mājas lapā jums rūp šajās dienās, jebkurā detalizēti, ir kaut interaktīvs. Facebook, Google un tamlīdzīgi, kas veic lietotāja ievadi un ražot pielāgotus produkciju. Tāpēc sāksim to darīt tagad. Let 's pāreja tagad no tikai izmantojot HTML, lai atzīmes par statisku saturu kā vietā piegādes mehānisms dinamisku saturu. Un pret to panāktu, pieņemsim ieviest mūsu pašu meklētājprogrammu. Darīsim to šādi. Lūk forma tag. Prasība atribūts norāda, ka tad, kad lietotājs aizpilda šo veidlapu ar savu klaviatūru, tas tiks iesniegts šo URL šeit. Tāpēc es esmu veida krāpšanos. Tas notiek, lai mūs mazliet ilgāk nekā viena klase, lai īstenotu visu meklētājprogrammu, tāpēc mēs vienkārši darīt priekšējo galu, lai runāt. Mēs darīsim daļu, kas ļauj lietotājam meklēt, un mēs sakārtotu un punt Google cietā daļa no atrast meklēšanas rezultātus, bet, jo īpaši, es esmu gatavojas runāt ar Google tīmekļa serveri izmantojot vienu no diviem ļoti populāri metodes. Viens ir iegūt, cits, ka mēs beidzot redzēt, kas ir amats, lai gan ir citi, kas ir mazāk bieži izmanto. Tātad iegūt vienkārši uzbur ideju, es gribu iegūt kādu saturu, saņemt meklēšanas rezultātus. Tas, jūs varat varbūt uzminēt, ko tas dara. Tas ir sava veida ieejas, tas ir, faktiski, gatavojas izskatās teksta laukā, un šīs ieejas, tad nosaukt šo mainīgo, nosaukums tā runāt, ir būs q uz vaicājumu pēc vienošanās. Un atkal, šī ieguldījuma veids nav būs rūtiņu; tas nav būs izvēlne, tas būs teksta lauks kā apzīmē ar šo atribūtu šeit, un tas Tekstlodziņā piemēram rindiņas pārtraukumu, ir vai nu tur vai nav. Tāpēc mums ir tukša elements ar slīpsvītru iekšpusē šo tagu. Tad es esmu gatavojas īstenot rindiņas pārtraukumu, un jūs varat, varbūt, domāju, ko tas gatavojas darīt. Tas ir vēl viens veida forma ieejas. Šis viena ir gatavojas izmantot iesniegšanas formu. Tātad tas būs liels poga, ka lietotājs var uzklikšķināt iesniegt veidlapu, un uz šo pogu etiķetes būs "CS50 meklēšana." Tuvu forma, tuvu ķermeņa, tuvu HTML. Paskatīsimies, kas mums ir kā šīs mājas lapas. Tāpēc ļaujiet man iet uz manu pārlūku, ļaujiet man iet, tomēr, lai vietējā uzņēmēja. Tas joprojām ir index.html, tāpēc, ja es gribu redzēt šo failu sauc search0, Es varu vienkārši darīt / search0.html, ievadiet - un pirmais no savām kļūdām. Kas notiek? Es skaidri nav atļaujas piekļūt šo failu, kādu iemeslu dēļ. Bet tas ir tāpēc, ka atšķirībā no darba mēs esam darījuši līdz šim C, ja programmas rakstīt ir pieņemts, ka runable ar jums, izpildāmā ar jums, tas nav īsti gadījumā tīmeklī, kuru dažreiz jūs varētu vēlēties, lai izveidotu failus uz servera, bet jūs nevēlaties visa pasaule, lai varētu redzēt. Drīzāk, jūs vēlaties pasauli redzēt dažus failus bet ne citi, tikai par privātumu labad. Tātad tas ir vairāk opt-in, pamatojoties kad jūs darāt lietas tīmeklī. Un tāpēc ļaujiet man tiešām rakstīt ls šeit, un jūs redzēt failus man ir, bet atcerēties, ka, ja man ls-l ilgi, Es nopirkšu garāku sarakstu, kas dod man papildus informāciju par šiem failiem ka tagad, tiešām, pirmo reizi attiecas uz mums. Ievērojiet, ka par daudz labi ir manas failu nosaukumi, un tad laiks, kurā viņi pēdējo reizi bija pārveidota vai kopēt. Šis skaits šeit ir tas, ko? Vai jūs atceraties? In baitos lielums, cik liels fails ir. Tāpēc man šķiet, ir sava veida logo šeit, kas ir lielāks nekā visi citi faili. Tas ir, kas es esmu, tas ir tas, ko es esmu un ko grupa es esmu iekšā Bet tad, nekā šeit pa kreisi ir mazliet mistisks secību, un mēs runājām, es domāju, īsumā par to agrāk, bet tas ir saistīts ar atļaujām. Un pat ja tas ir mazliet miglaina, RW, iespējams, nozīmē lasīt un rakstīt. Tātad izrādās, ka šie svītriņas apzīmē dažādas kopas atļaujas dažādiem cilvēkiem. Un modelis būtībā ir šādi. Kad jūs redzat secību domuzīmēm šeit, tie izskatās šādi. Tur domuzīme, tad tur ir vēl trīs domuzīmes, tad tur ir vēl trīs, tad tur ir vēl trīs. Pirmais ir vai nu svītra vai tas ir reklāma direktorijā. Tāpēc, ka viens ir diezgan viegli. Ja tas ir mape, tā saka d, citādi tā defise. Ir pāris citi gadījumi, bet tagad mēs vienkārši rūp failus un direktorijas. Šie nākamie trīs svītriņas - un es esmu mākslīgi ievietota atstarpes. Viņi bija, protams, tur nav, kad mēs redzējām tos pirms brīža. Tie ir fails īpašnieka atļaujas, un atceros no otrā atpakaļ, ka tā bija lasīt un rakstīt. Tas bija tāpēc, ka es kā persona, kas izveidoja šo failu pirms brīža, Es, tikai pēc noklusējuma, uz Linux datoru, ir iespēja turpināt lasīšanas un rakstīšanas šo failu. Tāpēc operētājsistēma tikai dod man RW automātiski. Tuvo labojumi attiecas uz manu grupu, ka studentiem, kas ir sava veida bezjēdzīga uz ierīces, jo es esmu tikai persona, kas izmanto ierīci. Tāpēc ļaujiet man tikai vilnis savu roku tajā tagad. Bet pēdējie ir vissvarīgākais par Web. Tas ir ikviens cits pasaulē, un tas, ka ir --- nozīmē, ka neviens cits pasaulē ir kādas atļaujas šo failu. Nepārprotami problēma, tāpēc man ir nepieciešams, lai atrisinātu šo pēc kaut kā dodot pasaulei, ko? Lasīt un rakstīt? Tas ir iespējams, mēms, vai ne? Es negribu nevienam tīmeklī doties apmeklēt manu lapu un kaut mainīt šo failu, pat ja viņi tiešām nevarēja ar HTML failu, bet tikai principā, iespējams, vienkārši gribam, lai varētu izlasīt. Ko tas nozīmē to izlasīt? Tas nenozīmē, ka viņi gatavojas rūpēties par faktisko HTML, bet pārlūks ir jāspēj izanalizēt šo iezīmēšanas valoda, augšas uz leju, no kreisās uz labo. Tātad kāds tīmeklī ir jāspēj lasīt to, tāpēc es minimāli nepieciešams, lai dotu tai r. Es varu darīt to pāris dažādos veidos, bet varbūt vienkāršākais ir palaist šo komandu šeit. Chmod, izmaiņas režīmā, tad + R, lai viss, ikviens pasaulē + lasīt, un tad faila nosaukums, search0.html. Tagad, ja man ls-l atkal ievēroju, ka šis fails ir mainījies, un, protams, es esmu ieslēgts r ikvienam. Es esmu arī noraidīja to uz manu grupu, bet tas ir jauki, jo, ja es pagriezās uz visiem, mana grupa ir apakškopa kas. Tā ka ir labi too. Tas tikai nozīmē, ka dators ir tagad tas lasāms. Tagad ļaujiet man atgriezties uz manu pārlūku, noklikšķiniet pārlādēt. Ah-ha. Mums tagad ir CS50 meklēšana. Es esmu pietuvināto nedaudz mākslīgi - diezgan pretīgs meklētājprogrammu. Bet pieņemsim redzēt, ja tas tiešām strādā. Pirmkārt, ļaujiet man darīt ātri veselība pārbaudītu, ļaujiet man kontrolēt noklikšķiniet un apskatīt lapas kodu. Ievērojiet, ka laikā Chrome mēs tagad redzam to pašu HTML, ka es pats izveidojis. Nesaņem sajaukt šeit, lai gan. Es nevaru sākt mainīt kodu šeit, jo pārlūkā ir tikai lasāmu skatu šo kodu. Pārlūkprogramma ir vienkārši lūgts vietējā uzņēmēja failu sauc search0.html. Tagad ir tīra sakritība, ka ierīce notiek, ir uz tā paša datora kā manu pārlūkprogrammā. Es varētu vienkārši ir, līdzvērtīgi, ierakstījāt www.facebook.com/search0.html, un ja Facebook būtu failu ar nosaukumu, kas, es tad būtu redzēt to HTML. Un, protams, es nevaru mainīt failu, kas nāk atpakaļ no Facebook, vai nu. Tāpēc tagad mēs esam sava veida nojauc līnijas. Ierīce ir gan serveri, kas kalpo līdz web lapas, bet tas ir arī klients, kas nozīmē, ka es esmu, izmantojot pārlūkprogrammu faktiski runāt ar šo serveri. Tātad, pieņemsim redzēt, ja mans Google meklēšanas dzinējs darbojas. Ļaujiet man iet uz priekšu un meklēt ātri brūna lapsa, ievadiet. Un voila, man tagad ir mana meklētājprogrammu. Bet kā tas darbojas? Mazliet stiept, bet - un tagad jūs nevarat redzēt, precīzi, daļa, kas ir interesi. Pamanīt, kas notiek. Pamanīt URL. Izrādās, ka šī metode, sauc saņemt, ir super-vienkārša. Norādot tādā veidā, ka jūs vēlaties, lai "get" rezultātus no kāda servera, ko tā gatavojas darīt, ir veikt visus jūs ierakstījāt formā un nodot to URL. Tas notiek, lai standartizētu kā tā izpaužas likts uz URL šādi. Ievērojiet, ka šis ir URL, kas bija vērtība manas rīcības atribūtu. Tas ir, ja es gribēju formu, lai galu galā. Bet tad novērojat šo jautājuma zīmi. Tas ir konvencija par Web kuru nodrošināt lietotāja ievadi uz tīmekļa vietni, jūs pievienot uz URL jautājuma zīme, un tad jums ir viss ķekars vērtīgākos pārus. Nosaukums atslēgu, citādi zināma kā parametru, kas tīmeklī, tad jums ir vienādības zīmi, tad jums ir vērtība šo parametru. Tātad, tas būtībā mainīgā nosaukums un mainīgā vērtību, Bet tie, mainīgā nosaukumi un vērtības nāca no HTML formas. Kāpēc ir plusi tur, jūs domājat? Jo man nav rakstīt + starp maniem vārdiem. [Studentu, nesaprotami] >> Jā, tas ir tikai par atstarpi. Izredzes ir, ja jūs esat redzējis URL, tur nekad jebkādas tajā atstarpes, ja tikai tāpēc, ka ja bija, jūs varētu nav īsti kopēt un ielīmēt to uz IP, vai uz e-pastu, jo tas izjauktu. Jūs vēlaties viss ir viens blakusesoši rakstzīmju virkne. Tātad pārlūkprogramma ir pietiekami gudrs, lai realizētu, UH-uh. Vai ne tikai nodot atstarpi tur. Ļaujiet man šifrēt telpu daži standarta veidā. Viens no šādas rīcības konvencijām ir panākt, lai pārlūku automātiski likt + kur jūs citādi būtu atstarpi. Tāpēc tagad, paziņojums Google ir sava veida lietotājam draudzīgu. Es noteikti neesmu radījis šo mājas lapu, bet viņi ir prepopulated savu teksta lauku ar ko, precīzāk, es drukāti collas Pieņemsim, ka es vēlos, lai meklētu kaut ko citu, piemēram, slinks suns. Es varētu vienkārši ierakstiet to šeit, atkārtoti meklēt. Paziņojums, ka URL mainās šeit, bet pamanīt tad, ka es patiesībā var meklēt kaut ko es gribu vienkārši ar sapratni, kā URL darbu. Es varētu darīt slinks kaķis, ievadīt, un pamanīt tagad es saņemu ļoti slinks - mums vajadzētu? Es jūtos kā mums vajadzētu. Man ļoti slinks kaķis. Labi. Šis ir viens no stupidest lietām mēs esam darījuši. Bet tas ir slinks kaķis. Jebkurā gadījumā, kāda ir atslēga takeaway šeit? Tagad mēs esam sava veida spēlē pasaules HTTP. HTML ir tikai šī iezīmēšanas valoda, atvērtu tagu, tuvu tag, kas stāsta pārlūku, kā padarīt saturu mājas lapā. Bet, kad jūs sākat pārraidīt datus pa internetu starp interneta pārlūku un servera, tas ir, ja šis protokols pazīstams kā Hiperteksta pārsūtīšanas protokols pārņem. Tas ir sava veida cilvēka konvencijas; kad Sam un es sarokojās pirmdien, sākot savienojumu un aizverot, savienojuma pati ideja šeit. Kā Google rezultāti nāk atpakaļ uz mani? Kā mans formu iesniegšanu dodas uz Google? Nu, atceros no otras dienas, ka to, kas īsti notiek zem motora pārsega, kad jūs lūgt mājas lapa ir, Jūsu pārlūkprogrammā ir nosūtot nedaudz-noslēpumains ziņu, piemēram GET / HTTP/1.1 par noklusējuma mājas lapā. Vai, kā šajā gadījumā, jo es īpaši pieprasīts agrāk search0.html, tas tad būtu nedaudz-mistisks ziņu ka mana pārlūkprogramma sūta pie ierīces. Vai, kā šajā gadījumā Google, kas patiesībā nosūtīts ir lūgums / meklēt, un tad? Q = slinks kaķis, ar plus tur. Tātad šī ziņa, ka es, cilvēka, esmu nekad rakstīt, bet tiek nosūtīts pa manu pārlūku, tas ir, kā HTTP notiek. Tas ir ekvivalents mūsu kam satricinājušas rokās. Tas ir pieprasījums, un serveris ir apmēram, lai nosūtītu atbildi. Tāpēc pieņemsim to apskatīt šo zem motora pārsega. Tāpat kā līdz šim, mēs varam atvērt šo īpašo lauku pārlūkprogrammā. Skatīt lapu, pārbaudīt elementiem. Tātad saskaņā pārbaudīt elementu, ievērosiet, ka to, kas notika Chrome, un IE un Firefox ir līdzīgi mehānismi, mums ir šie izstrādātāju rīkus, kas pieejami mums. Normāli cilvēki neizmanto šīs cilnes. Bet mēs, tagad interesē, kas notiek zem motora pārsega pie tīkla līmenī. Tātad, ja es uzvilkt tīkla līmenis šeit, ļaujiet man iet uz priekšu un paplašināt šo logu, atvērt šo ierakstu šeit, un apskatīt sadalītājiem. Tātad, kas notiek, ja es pieprasītu failu no web servera ir mana pārlūkprogramma nosūta visu ķekars lietas. Un ļaujiet man apskatīt avotu. Tātad saskaņā ar pieprasījumu galvenēs, un tas ir tikai Chrome rāda man kādu diagnostikas produkciju, veida, piemēram, atkļūdotājs dažu šķirot, ievēroju, ka tas, ko es esmu uzsvērusi šeit ir tieši tas, ko Chrome sūta uz serveri, lai pieprasītu failu sauc search0.html. Tā stāsta serveri, ko tā domā tās nosaukums ir, Pateicoties šim uzņēmēja resnās zarnas jomā, tad tur ir dažas diezgan nesaprotams sīkumi šeit, piemēram, kaut ko darīt ar datumiem un laikiem, kaut ko darīt ar valodām, ka pārlūks saprot, bet patiešām svarīgas līnijas ir šie pirmie divi šeit. Kāda serveris atbildēt ar? Nu, ja mēs ritiniet uz leju šeit un apskatīt avotu šajā lieta, ievērosiet, ka serveris ir reaģējusi ar nedaudz mistisks ziņu kā arī, 304 nemainījās. Tas ir mazliet dīvaini, man tiešām mēģinātu noteikt šo. Ļaujiet man turiet SHIFT un klikšķiniet pārlādēt šeit lai piespiestu pārlūku faktiski padarītu šo lūgumu pirmo reizi. Tad ļaujiet man tuvinātu, un mēs redzēsim, ka šobrīd servera atbilde, jo es tur maiņu, ir 200 OK. Tātad jūs, iespējams, nekad nav redzējis, cik 200 Saistībā ar Web, bet ko skaitļu tu dažreiz redzējis negaidīti no servera? 404, fails nav atrasts, 403, aizliegts, 500, servera kļūda. Tāpēc ir šie ciparu kodi, ka pasaule pielieto Web neizsaka kļūdas, tāpat kā C funkciju var atgriezties kļūdas un galvenais var atgriezties izejas kodus. 200, lai gan, jūs reti redzēt, jo tas nozīmē, viss ir labi. Un 304 tu, iespējams, nekad redzēt, jo to, kas ir tas nozīmētu? Ka nekas ir - pieņemsim redzēt, ja mēs varam simulēt to vēlreiz - Ak, tagad tas nav sadarboties. 304 teica nav modificēts, tad kāpēc bija serveris pat reaģēt? Nu, efektivitātes, tīmekļa serveris automātiski jums, ja fails nav mainījies, tas nav pārraidīt visu HTML failu. Tas būs tikai pateikt pārlūku tas nav mainījies. Tikai izmantot kopiju jums jau ir. Tātad tur ir šis caching jēdziens tīmeklī izpildei, lai jūs netērētu laiku un atkritumu joslas platumu lejupielādējot failus atkal un atkal nevajadzīgi. Bet šī mājas lapa, tagad, bija super-vienkārša, un tas tikai parādīja man HTML, kas nāca atpakaļ. Pieņemsim faktiski izmantot tīkla cilni tagad darīt Google meklēšanu, piemēram, ātrās brūna lapsa. Ļaujiet man tam uz CS50 meklēšanu, un tagad, ievērosiet, apakšā šeit viss ķekars sīkumi nāca atpakaļ jo, kad es apmeklēt īstu mājas lapā, piemēram Google.com, tie ir attēli, tie ir teksts, tie ir valodu sauc JavaScript tur. Tāpēc katru rindu šajā tabulā leju šeit ir kaut kas Google izspļaut, atbildot uz manu vienu pieprasījumu. Viens es rūp, lai gan, tas ir pirmais. Un, ja es eju uz meklēšanu, lūgums, klikšķiniet apskatīt avots šeit, paziņojums, ka, protams, noslēpumains ziņu, ka mans pārlūks nosūtīts Google bija šīs divas līnijas šeit, seko kādā mistiskā informācijas šeit lejā, ko mēs ignorēt tagad. Bet paziņojuma, arī kāda Chrome ir diezgan parocīgs ar, tas arī rāda man vaicājuma virknes, kas tika iesūtītas Tātad, nevis parādīt man to, kas bija burtiski nosūtīts, ja es to aplūkotu dekodēt, Chrome, tikai atkļūdošanas vajadzībām, izstrādātājiem, piemēram, mums, tas tikai rāda man cilvēkam draudzīgu versiju - tas nav kā jūs izskaidrot lapsa, acīmredzot. Es esmu tikai pamanījis šo tagad - bet tas parāda jums to, ko es, acīmredzot, drukāti. Tikmēr atbilde, kas nāca atpakaļ no servera atkal 200 OK. Bet ir iekļautas šo atbildi, protams, ja mēs patiešām apskatīt lapas HTML - Atvainojiet, tas ir mazliet īsinājumtaustiņu devusies šķībi šodien. Es galā ar šo vēlāk. Tātad, ja mēs patiešām apskatīt lapas avotu, ko es varu darīt šeit lejā, noklikšķinot reakciju, tas ir tas, ko faktiski tika iespļaut atpakaļ, papildus šim mistisks 200 OK ziņu no servera. Mazliet noslēpumains, bet kur ir tas viss nāk no? Nu, pieņemsim do viena lieta šeit. Vēl nedaudz-noslēpumains komanda, bet tas viens ir sava veida veikls, jo tā atklāj mums tieši to, kas notiek zem motora pārsega. Tāpēc es esmu atpakaļ uz manu Mac šeit, man ir savienots izmantojot programmu, ko sauc SSH Secure Shell, uz cita servera jo lielākā daļa no Hārvarda datoriem bloķēt komandu mēs esam par palaist jo tur ir tas dažos serveros komandu sauc traceroute kas ļauj izsekot maršrutu starp punktiem A un B, un līdz šim mēs esam bijuši ņemot pilnīgi par pašsaprotamu ka es varētu rakstīt Google.com un kaut saņemt datus atpakaļ no pusceļā visā valstī vai vidū visā pasaulē. Ar traceroute mēs faktiski var nirt nedaudz dziļāk par to, kā internets darbojas, un redzēt, kas notiek zem motora pārsega. Tāpēc iesim uz priekšu un patvaļīgi izsekot maršrutu līdz, teiksim, Stanford.edu, kas ir visā valstī, un hit ienākt. Šī komanda var būt ļoti ātra vai super-lēns, bet ko mēs redzam tagad, rindu veidā, ir katrs no pasākumiem vai apiņus starp mums un Palo Alto, vai Stanford vienu, kur viņi ir to web serveri. Tātad, ko tas katru no šīm līnijām pārstāv vairāk konkrētāk, lai gan? Gabals žargona no interneta? [Studentu, nesaprotami] >> Kas tas ir? [Studentu, nesaprotami] >> Ak, tāpēc ir reizes, bet ko katra rinda - Ko es domāju ar hop? Nu, tur ir šie internetā lietas, ko sauc maršrutētāji. Un maršrutētāji, kā liecina nosaukums, maršruta informācijas no punkta uz punktu b. Bet ir vairāki punkti, aiz a un b. Ir C un D un E un starp 1 rindas f, kas notiek, ir mana datora IP adrese, vai mana ciparu adrese, kas unikāli identificē manu datoru, un soli 15, kas faktiski ir sestais web serveri, acīmredzot, ko es esmu izsecinot no tā, vai viņu tīmekļa servera 6 Versija Stenfordas. Bet kas ir veida veikls ir, mēs varam redzēt ceļu ka mans 0 un 1 s lietojat no mana datora uz Stenfordas. Tātad solis 1 ir mana datora adrese. Katrs interneta datoram ir unikāls identifikators, kas izskatās šādi. Number.number.number.number. Kaut kur uz šo pilsētiņu, iespējams, zinātnes centrā, ir maršrutētāju sauc Core Gateway 2 te83, neatkarīgi tas nozīmē, tāpēc šī ir viena no Hārvardas lielo iedomātā maršrutētāji, ka ceļi daudz to satiksmi. Lūk, cits Hārvardas maršrutētāju, šī ir Border Gateway, pārrobežu nozīme, tas ir iespējams, par perifērijā pilsētiņas kaut kur. Tad tur ir viens NOx, rinda 4, kas ir Ziemeļu Crossroads, kas ir liels ISP, interneta pakalpojumu sniedzējs, ka, piemēram, Harvard vietas pieslēgt līdz. Bet tad lietas iegūt mazliet interesantu 6 rindā. Kur ir manas biti visi pēkšņi? Kansas. Pasaule ir paradums izmantot lidostu kodi, kas daudz par šīm lietām, vai vismaz saīsinājumi valstīm vai pilsētām, tāpēc tas izskatās, jo tikai 60 ms, informācijas paketes, 0 un 1 ir no manas klēpjdators got visu ceļu līdz Kanzasas, un atkal, jo 60 ms. Turklāt pēc Kansas, viņi ņēma ceļojumu pa Houston, iespējams, kā ierosināts ar nosaukumu šo serveri. Tik vienkārši kā internetā serveris ir jābūt skaitliskam adrese, tā var arī, pēc izvēles, ir nedaudz vairāk cilvēkam draudzīgu adresi ka cilvēki nāca klajā ar. Tagad, 8 solis, mēs nezinām, kas tas ir. Dažreiz maršrutētāji tikai veida ignorēt jums, un viņi vienkārši nav atbildēt uz jautājumiem, tā ka ir labi. Notiks pēc 8 solis viens ir acīmredzami, ja? L.A. Pamanīt tikai 78 ms, ko esam jau cilvēkus, piemēram, 6 + stundas darīt fiziski, ņem paciņas ar informāciju par interneta MS 78 līdz ceļot tik tālu. Solis 10 ir LA, kā arī, un solis 11, šķiet, ir aizgājuši uz ziemeļiem, līdz netālu Stanford. Tas ir viņu robeža maršrutētājs vai robežu maršrutētājs. Pāris soļu Stenfordas kas ignorē mūs, un visbeidzot, mēs sasniegtu web serveri tikai 87 ms. Tagad, visiem šiem numuriem, kā malā, vienkārši pateikt, cik ilgs laiks nepieciešams, lai dati, lai no manis uz katru no šiem maršrutētāju, un tas nav uzkrājošāku. Ko šī programma dara, ir, tā vispirms nosūta ziņojumu, būtībā, ar pirmo maršrutētāju. Tad viens uz otru maršrutētāju, tad viens uz trešo maršrutētāju, mērot katru reizi. Tātad teorētiski, šie laiki tiks pieaug vai vismaz diezgan tuvu viens otram, un, protams, tie, kas ir tepat uz Campus ir super-mazs. Tiklīdz jūs sākat iet visā valstī, tas aizņem dati nedaudz ilgāk, lai ceļotu, tuvāk 100 ms, sniegt vai pieņemt. Bet iesim pretējā virzienā tagad. Kā par Kembridžas universitātes Lielbritānijā? Ļaujiet man nevis palaist traceroute no www.cam uz Cambridge, . AC akadēmiskie. Uk, un hit ienākt šeit. Tas bija diezgan damn ātri. Mani dati burtiski devās uz Cambridge, England, šajā mirklī laika. Tātad, pieņemsim redzēt ceļu, kas pagāja. Hārvarda, Hārvarda, Harvardas, Ziemeļu Crossroads, kas ir ISP, un tad tas ir ziemeļu Crossroads, un tad BAM. Kas ir starp soļiem 6 un 7, maršrutētāja 6 un 7? Atlantijas okeāns. Un mēs esam izsecinot tas no tā, ka mēs aiziet no 20 šeit ms līdz 80 ms šeit. Tātad kaut kas notika 60 ms, sniegt vai pieņemt, lai iegūtu vairāk. Un tas, iespējams, bija liels ūdenstilpes. Kas notiek pēc tam? Nu, šeit mēs esam Londonā, tikai 88 ms vēlāk. Vairāk Londona, vairāk Londona, nav pārliecināts, kur tas ir, bet mēs pieņemam, tas ir ārpus Londonas, Cambridge šeit, un beidzot mēs - burtiski, Kembridžas universitāte . Something.net, un tad, beidzot, 16 līnija, viņu tīmekļa serveris ir acīmredzami sauc Skorpions zem motora pārsega, lai gan mēs zinām, kā www. Veida prāta-putu, es domāju. Pirmo reizi es kādreiz darīja tas, ka pilnīgi blew manu prātu. Diemžēl, Hārvardas bloķē šāda veida satiksmes, parasti, tīklā. Tātad, jūs nevarat darīt to super viegli. Realizēt, lai gan, tas šeit ir iespējams. Labi. Paņemsim mūsu 5 minūšu pārtraukumu šeit. Mēs būsim atpakaļ un nirt dziļāk. Tātad mēs esam atpakaļ, un mēs esam veida ambled aptuveni daži dažādos virzienos šeit. Tāpēc pieņemsim apkopot tieši to, kas ir kas notiek šeit. Mēs sākām sarunu runā par šo valodu sauc par HTML. Atkal, nav programmēšanas valoda. Tas ir tikai iezīmēšanas valoda ka lielākoties par estētiku un satura strukturēšana veidā webpage. Bet HTML, tāpēc ir vajadzīga sava veida mehānismu Ceļošanai starp interneta pārlūku un serveri. HTML tāpēc veida braucieni uz augšu šajā citā valodā, vai vairāk pareizi, protokols, pazīstams kā HTTP. Un HTTP, kā mēs esam redzējuši līdz šim, ir sava veida analogs šī cilvēka konvenciju kratot roku. Kad pārlūkprogramma vēlas pieprasīt lapu no servera, tas sūta ka "get" pieprasījumu no pārlūka uz serveri, un tad serveris atbild ar numuru, piemēram 200, viss ir labi, kā arī HTML vai daži slikti numuru, piemēram, 404, fails nav atrasts. Bet tikmēr, HTTP pati par sevi nav internets, par sevi. HTTP ir tikai pakalpojums, iezīme internetā līdzīgi G čats ir vēl viens pakalpojums, līdzīgi e-pastu ir vēl viens pakalpojums. Ir visas lietas, mēs varam darīt internetā veidu. HTTP ir tikai viens no šiem pieteikumiem. Tātad uz augšu - HTTP ir virs kaut ko citu ko mēs neminēja pēc nosaukuma, jūs varētu būt dzirdējuši par pēc nosaukuma, TCP / IP. Tātad stāsts mēs vienkārši teica, ka ir par kā datu ceļo no punkta uz punktu b. Un šajā gadījumā mēs redzējām ļoti zemā līmenī router router router uz maršrutētāju, kā datu faktiski tiek nosūtīta. Bet pa ceļam, tas gatavojas sastapties dažādus šķēršļus. Bez šiem maršrutētāju, ir lietas, ko sauc ugunsmūri internetā, un tādēļ dati, piemēram, ka mēs bijām tikai raidot No manis uz Stenfordas, no manis uz Cambridge, tiek nosūtīta, šajā līmenī, kaut ko sauc par IP adresi. Mēs redzējām šo brīdi pirms, un IP adrese ir tikai ciparu adrese formā w.x.y.z, kur katrs no tiem ir starp, sniegt vai pieņemt, 0 līdz 255, lai gan jūs nevar gluži izmantot visus šos numurus. Bet katrs no šiem vieta īpašnieku ir skaitlis no 0 līdz 255. Tātad IP adrese šajās dienās ir 32 biti. Tagad, kas dod mums, cik iespējams IP adreses pasaulē? Aptuveni 4 miljardus, jo jebkura laika mēs esam skaitīšanas pilnvaras no 2 visu ceļu līdz 32 no kaut kā, kas parasti dod mums 4 miljardi. Tā ka ir daudz IP adrešu, bet jūs varētu būt lasīt, vai jūs varētu tagad paziņojums populārajā presē, uz jaunu versiju IP push sauc IPv6. Tieši tagad mēs esam izmantojot versiju 4. Tur tiešām nav bijis versija 5, mēs esam tikai lekt tiesības līdz 6. Versija 6 gatavojas izmantot 128 bitus IP adresēm, kas ir freaking milzīgs. Mums nevajadzētu palaist uz ilgu laiku tagad, bet mēs esam sākuši darboties no 4 versija IP adreses, jo mums visiem ir ne tikai lietas, piemēram, klēpjdatoriem un galddatoriem, no mums daudz ir telefoni, no mums daudz ir citas ierīces piemēram TiVo un tamlīdzīgi, kas ir IP adreses sevi. Hārvarda pati ir desmitiem tūkstošu datoru. Tā pasaule ir patiesi pietrūkt IP adreses, vismaz šīs veidlapas. Tātad nākamo gadu, jūs gatavojas redzēt adreses uz savu datoru, iespējams, lēnām mainīt jo vairāk un vairāk uzņēmumu un universitāšu sāk atbalstīt jaunāku versiju. Bet IP adrese nav pietiekams, lai dators ir pieprasīt datus no datora b. Jo dators B varētu būt servera, un serveri, kā jau minēju iepriekš, var darīt ķekarus lietas. Tas var uzņemt web lapas, tas var būt e-pasta serveri, tas var būt Skype serveri, tas var būt G tērzēšanas serveri. Visi šie dažādie pakalpojumi, kas var sniegt uz servera varētu visi, fiziski, būs par to pašu mašīnu. Tātad papildus IP adreses, pasaule ir lietas, ko sauc ostām internetā. Osta ir tikai skaitlis, tāpēc ir unikāls numurs HTTP. To skaits ir 80. HTTP izmanto arī vairākas 443, bet jo īpaši, lai šifrētu HTTPS. Kad redzat s, drošai, ka ir, izmantojot citu numuru. Ir arī citi skaitļi, piemēram, 25, ko izmanto kaut ko sauc SMTP, citādi zināma kā e-pastu. Tur ir kaut kas ko sauc 22 SSH, un tur viss ķekars citu ostu, kas tur. Tagad, mēs cilvēkiem reti redzēt šos skaitļus. Tomēr, ja jūs rakstīt adresi, piemēram, http://www.facebook.com, pārlūkprogramma ir slepeni ievietojot 80, jo jūs izmantojat HTTP. Ja jūs tā vietā, tipa HTTPS, tas slepeni ievietojot 443. Un mēs varam veida redzētu šo manuāli, ja es uzvilkt brower un doties uz http://www.facebook.com:80. Tāpēc skaidri atsaucoties ne tikai nosaukumu mājas lapā bet ostas ka es gribu runāt, un hit ienākt. Pamanīt tā pazūd, jo pārlūkā uzņemas, ak, 80, es neesmu pat gatavojas apnikt parādot, ka ar jums. Bet iemesls ir tas, ka, ja es tiešām gribēju, lai nosūtītu kādu e-pastu, Es tiešām būtu nosūtot to uz tām 25 portu, ka ir SMTP. Gada realitātei mazliet, bet daži no jums ir draugi kas faktiski strādā pie Facebook, un viņi, tāpat, ir serveri, kas saņem e-pastu. Jebkurā laikā jūs sūtīt e-pastu, ko Gmail dara, lai jums vai Outlook vai kāds programmu jūs izmantojat, tas ir sava veida slepeni ievietojot šo numuru, kā arī, 25, šajā gadījumā. Tas ir šī kombinācija IP adresi un numuru, kas unikāli identificē internetā dators un konkrētu pakalpojumu šajā datorā. Tagad, protams, lielākā daļa no mums ir iespējams, nekad drukāti manuāli IP adresi. Varbūt jums ir ierīces, bet reālajā pasaulē, ne tik daudz. Kāpēc mēs ne rakstīt IP adreses pārlūkiem? Tas varētu strādāt, faktiski, mēs varam redzēt šo, ļaujiet man jums parādīt viena cita komanda, kas būtu jāstrādā visvairāk jebkur Hārvardas universitātes uz Mac vai PC. Tur tas ir komandu sauc nslookup, vārdu serveri uzmeklēšanas. Ja es paskatos uz augšu www.cnn.com, izrādās, ka CNN ir - ak, interesanti. CNN ir sācis lietot Amazon Web Services. Jūs varētu zināt par mākonis skaitļošanas, Amazon ir viens no lielo spēlētāju mākonis skaitļošanas. Ko man vienkārši bija, es teicu: "Dod man adresi CNN web serveri, ' bet izrādās, ka CNN tīmekļa serveris pārvalda Amazon, Amazon Web Services, tas liecina. Un šajā serverī adrese ir šo šeit. Tāpēc es neesmu pārliecināts, vai tas strādās, jo viņi nav izmantoti, lai izmantotu Amazon. Bet pieņemsim mēģināt šo, http://, IP adrese, ievadīt, un - tas ir iet uz darbu? Jā. Tā iet uz darbu. Internets ir super-lēns šodien. Bet, pēc brīža, jūs redzēsiet dažas ziņu stāsts. Tur mums iet. Bank of America ir iesūdzēt tiesā. Labi. Tas ir tāpēc, ka šī IP adrese vienkārši notiek ar sinonīmu www.cnn.com. Protams, tas būtu briesmīgi mārketinga teikt, apmeklējiet mūs tīmeklī 50.112.94.127. Jūs nekad atcerēties. Tik pat šajās dienās jūs varētu atgādināt lietas piemēram 1-800-COLLECT vai mnemoniska pasaule nāca klajā ar par tālruņu numuriem. Kas pirms mobilos telefonus, bija diezgan grūti atcerēties kamēr jūs varētu vienkārši ierakstiet to un aizmirst par to. Tātad internetā, arī ir šo konvenciju vārdu un IP adreses, un tur ir šīs lietas tur sauc DNS serveriem, domēnu vārdu sistēmas serveriem, kas izpaužas IP adreses nosaukumiem un otrādi. Tātad tas ir to, kas notiek zem motora pārsega. Galu galā, mums ir TCP / IP, kas ir šī ļoti zema līmeņa protokols ka, tiešām, tikai kļūst 0 un 1 ir visā internetā, un dara to, liekot tos virtuālo aploksnē, ja jūs, un rakstot ārpusē aploksnes IP adrese galamērķa, kā arī ciparu porta numurs Dienesta uz šo galamērķi, ka tā vēlas runāt. Tikmēr, uz aploksnes tur ir arī kaut kas pazīstams kā atpakaļadresi, kas ir jūsu IP adrese, lai tad, kad CNN izpaužas paciņas informāciju no jums, atver šo virtuālo aploksni, redz, ka jūs vēlaties mājas lapā, tā zina no sūtītāja daļu no šīs virtuālās aploksnes kam sūtīt HTML atpakaļ uz. Tāpēc pieņemsim to apskatīt šis nedaudz sīkāk. Tas ir no uzņēmuma sauc Ericson, no dažus gadus atpakaļ. Un tie bija daži brīvību ar to, kā internets faktiski darbojas, bet tas krāsām daudz vizuālo attēlu, nekā tikai krītu šeit. Tāpēc es jums "mazliet no interneta." [Diktors] Pirmo reizi vēsturē, cilvēki un tehnika strādā kopā, realizējot sapni. Apvienojot spēks, kas nepazīst ģeogrāfiskās robežas. Neņemot vērā rasi, ticību vai krāsu. Jaunā ēra kur komunikācija patiešām vieno cilvēkus. Tas ir Dawn Net. Vēlaties uzzināt, kā tas darbojas? Klikšķiniet šeit, lai sāktu savu braucienu uz Net. Tagad, tieši to, kas notika tad, kad esat noklikšķinājis uz šo saiti? Jūs sākāt informācijas plūsmu. Šī informācija ceļo uz leju uz savu personīgo mailroom kur Mr IP pakas tā, etiķetes to un nosūta to ceļā. Katra pakete ir ierobežots tā lieluma. Pasta numurs ir izlemt, kā sadalīt informāciju un kā iepakot to. Tagad, iepakojums nepieciešams marķējums satur svarīgu informāciju piemēram, sūtītāja adrese, saņēmēja adrese, kā arī paciņas veida tā ir. Tādēļ šis īpašais pakete ir pametuši uz internetu, tā arī izpaužas adresi starpniekservera, kas ir īpaša funkcija, kā mēs redzēsim vēlāk. Pakete tagad ir uzsākusi uz jūsu lokālo tīklu vai LAN. Šis tīkls tiek izmantots, lai savienotu visas vietējās datoriem " maršrutētāji, printeri, etcetera, ka informācijas apmaiņai fizisko sienas ēkas. LAN ir diezgan nekontrolējams vietu, un, diemžēl, negadījumi var notikt. No LAN šosejas ir pildīta ar visiem informācijas veidiem. Tie ir IP paketes, Novell paketes, AppleTalk paketes. Viņi gatavojas pret satiksmi, kā parasti. Vietējā maršrutētāju skan adresi un, ja nepieciešams, paceļ pakešu uz citu tīklu. Ah, maršrutētāju. Simbols kontroles šķietami neorganizēta pasaulē. [Router mumbling un runā ar sevi] [Diktors] Tur viņš ir, sistemātiska, uncaring, metodisko, konservatīva, un dažkārt nav gluži līdz ātrumu. Bet vismaz viņš ir precīzs, par lielāko daļu. Kā paketes atstāt maršrutētāju, viņi dara savu ceļu uz korporatīvo internetā un galvu uz maršrutētāju slēdzi. Nedaudz efektīvāka nekā maršrutētāju, router slēdzis spēlē ātri un zaudēt ar IP paketes, deftly maršrutēšanas tos pa ceļu. Digitālo "pinball vednis," ja jūs. [Router slēdzis runā ar sevi] [Diktors] Kā paketes nonāktu galamērķī, viņi paņēma ar tīkla interfeisu, gatava nosūtīt uz nākamo līmeni. Šajā gadījumā, proxy. Proxy izmanto daudzi uzņēmumi, kā sava veida vidū cilvēks lai samazinātu slodzi uz interneta pieslēgumu un drošības apsvērumu dēļ, kā arī. Kā jūs varat redzēt, paketes ir visas dažādos izmēros atkarībā no to satura. Proxy atver paketi un meklē interneta adresi vai URL. Atkarībā no tā, vai adrese ir pieņemams, pakete tiek nosūtīta uz internetu. Ir tomēr dažas adreses, kas neatbilst ar apstiprinājumu proxy. Proti, uzņēmuma vai vadības vadlīnijas. Tie ir īsi aplūkoti. Mēs neviens no tā. Tiem, kas dara to, tas ir uz ceļa vēlreiz. Tālāk uz augšu, ugunsmūris. Korporatīvā ugunsmūra kalpo diviem mērķiem. Tas novērš dažas diezgan vētraina lietas no interneta, no nāk uz Intranet, un tas var arī novērst konfidenciālu korporatīvo informāciju tiek nosūtīti uz internetu. Kad caur ugunsmūri, maršrutētāju paceļ paketi un uzliek uz daudz šaurākā ceļa, vai joslas platumu, kā mēs sakām. Protams, ceļš nav pietiekami plaša, lai tos visus. Tagad jūs varētu brīnīties, kas notiek ar visiem tiem paciņās, kas nav padarīt to pa ceļu. Nu, kad Mr IP nesaņem apstiprinājumu ka pakete ir saņemts savlaicīgi, viņš vienkārši sūta rezerves paketi. Tagad mēs esam gatavi, lai ievadītu pasaulē internetā. Spiderweb savstarpēji tīklu kas nodara mūsu visu zemeslodi. Lūk, maršrutētāji un slēdži izveidot saikni starp tīkliem. Tagad, Net ir pilnīgi atšķirīgs vide, nekā jūs atradīsiet ietvaros aizsardzības sienas jūsu LAN. Šeit, tas ir Wild West. Daudz vietas, daudz iespēju, daudz lietas, lai izpētītu un vietām, lai iet. Pateicoties ļoti maz kontroles un regulēšanas jaunas idejas rast auglīgu augsni virzīt finansējumu savām iespējām. Bet tāpēc, ka šīs brīvības, daži briesmām arī slēpties. Jūs nekad zināt, kad jūs satikt dreaded ping nāves, īpaša versija normālu pieprasījuma ping, kurām dažas idiots izdomājis izjaukt nenojauš saimniekiem. Ceļš mūsu paketes ņemt varētu būt caur satelītu, telefona līnijas, bezvadu vai pat aizokeāna kabelis. Tie ne vienmēr ņem ātrākie vai īsāko maršrutu iespējams, bet tie tur nokļūt galā. Varbūt tāpēc tas ir dažreiz sauc par "World Wide gaidīt." Bet, kad viss strādā nevainojami, Jūs varat apiet zemeslodi piecas reizes vairāk nekā pie piliens cepuri, burtiski. Un viss par izmaksām vietējo zvanu vai mazāk. Tuvu beigām mūsu galamērķis, mēs atradīsim citu ugunsmūri. Atkarībā no jūsu viedokļa, kā datu pakešu, ugunsmūris varētu būt bastions drošības vai dreaded pretinieks. Tas viss ir atkarīgs, kurā pusē tu esi, un kādas ir jūsu nodomi ir. Ugunsmūri ir paredzēts, lai tikai tiem paketēm, kas atbilst tās kritērijiem. Šis ugunsmūris darbojas ostās 80 un 25. Visi mēģinājumi iekļūt caur citām ostām ir slēgti. Ostas 25 tiek izmantots pasta paketēm, bet 80 ports ir ieeja paketes no interneta uz web serveri. Iekšpusē ugunsmūri, paketes tiek demonstrēti pamatīgāk. Daži paciņas padara to viegli cauri muitai, kamēr citi izskatās vienkārši mazliet apšaubāma. Tagad, ugunsmūris amatpersona nav viegli apmānīt, piemēram, ja šis nāves pakešu ping mēģina noslēpt sevi kā normālu ping paciņas. [Firewall amatpersona runā ar paketēm] [Diktors] Tiem paketes paveicies, lai padarītu to tik tālu, ceļojums ir gandrīz beidzies. Tas ir tikai rindā uz saskarni, kas nokļūst web serveri. Mūsdienās, web serveri var palaist uz daudzām lietām, no lieldatoru uz web cam uz datora uz jūsu rakstāmgalda. Kāpēc nav jūsu ledusskapis? Ar pareizu uzstādīšanu, jūs varat uzzināt, ja jums ir dotības par Chicken Cacciatore, vai ja jums ir doties iepirkties. Atcerieties, ka šī ir dawn Net. Gandrīz viss ir iespējams. Viens pēc otra, paketes ir saņemti, atvērts, un izsaiņot. Tajās esošo informāciju, tas ir, Jūsu informācijas pieprasījums, tiek nosūtīts uz interneta servera lietojumprogrammas. Pakešu pati pārstrādāta, gatavi izmantot atkārtoti, un piepilda ar savu pieprasīto informāciju, jārisina, un izsūtīti uz savu ceļu atpakaļ uz jums. Atpakaļ pagātnē ugunsmūri, maršrutētāji, un tālāk, lai internetu. Atpakaļ caur jūsu korporatīvā ugunsmūra un uz jūsu interfeisu, gatavi sniegt savu tīmekļa pārlūkprogrammu ar Jūsu pieprasītā informācija. Tas ir, šī filma. Apmierināti ar viņu pūlēm, un uzticoties labāku pasauli, Mūsu uzticamie datu paketes ride off svētlaimīgi uz saulrieta uz citu dienu, zinot pilnīgi viņi ir bijuši viņu meistari labi. Tagad, nav tas, ka laimīgais? [Malan] Labi, ka ir pietiekami. Mēs redzēt jūs nākamajā nedēļā. [CS50.TV]