1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Săptămâna 7, Continuare] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Universitatea Harvard] 3 00:00:05,090 --> 00:00:07,780 [Acest lucru este CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Bine. Bine ai venit înapoi. Acest lucru este CS50, 5 00:00:09,810 --> 00:00:12,100 și aceasta este sfârșitul săptămânii 7. 6 00:00:12,100 --> 00:00:15,460 Deci unul din aceste lucruri stupide, care merge în jurul valorii de internet 7 00:00:15,460 --> 00:00:24,080 și am slurped sus, și ar trebui să facă acum un pic de sens geeky pentru tine. 8 00:00:24,080 --> 00:00:28,330 Ei bine, a fost amuzant la acest tip decât a fost cu voi. 9 00:00:28,330 --> 00:00:32,619 Vorbind de, ei bine, băieți, 10 00:00:32,619 --> 00:00:42,550 azi e ziua lui Nate. 11 00:00:42,550 --> 00:00:46,630 Pentru a vă da un sentiment de cat de bine Nate și eu sunt 12 00:00:46,630 --> 00:00:50,140 la dezvoltare web bazat pe clasa de luni și se bazează acum pe acest lucru, 13 00:00:50,140 --> 00:00:53,170 M-am gândit trageți în sus pagina lui Nate acasă, dacă nu l-ați văzut încă. 14 00:00:53,170 --> 00:00:57,020 Acest lucru aici, printre altele, lui Nate HTML. 15 00:00:57,020 --> 00:00:59,380 Deci, a se vedea sursă său, dacă doriți să vedeți cum se face acest lucru, și Nate, 16 00:00:59,380 --> 00:01:02,250 daca am putea embarass doar pe scurt, personalul luat ceva 17 00:01:02,250 --> 00:01:06,080 dacă doriți să vă împărtășesc câteva desert cu unele dintre copiii din clasa aici. 18 00:01:06,080 --> 00:01:10,150 Dacă doriți să vină pe jos. 19 00:01:10,150 --> 00:01:14,350 Voi toti aplauda si sunt foarte frumos, dar nimeni nu este așezat oriunde în apropierea Nate, 20 00:01:14,350 --> 00:01:17,560 pentru un motiv oarecare, în această zonă spate. 21 00:01:17,560 --> 00:01:24,020 Asa ca, probabil puteți găsi unii oameni să se bucure de acestea cu. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Hellos suplimentare: Am aratat un cuplu de clipuri de la studenții noștri CS50x. 24 00:01:37,660 --> 00:01:39,710 Dacă doriți să vedeți cine altcineva este în lume 25 00:01:39,710 --> 00:01:41,850 care este în urma de-a lungul, vă puteți îndrepta spre această adresă URL, 26 00:01:41,850 --> 00:01:45,780 în cazul în care Iosif, unul din TFS noastre, a pus împreună un montaj de felul 27 00:01:45,780 --> 00:01:50,290 de toți cei care au fost depunerea de astfel de videoclipuri, printre care Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Și dacă ai parcurge acestea, este într-adevăr destul de inspirație 29 00:01:53,010 --> 00:01:56,890 pentru a vedea diversitatea de țări și orașe din care oamenii sunt de salut. 30 00:01:56,890 --> 00:02:00,830 Deci, dacă doriți să luați o privire la faptul că, care va fi de până până la sfârșitul semestrului. 31 00:02:00,830 --> 00:02:05,370 Astăzi vom continua privirea noastră la Internet, programare web, cum ar fi HTML și, 32 00:02:05,370 --> 00:02:08,280 si am de asemenea, au masa de prânz vine această vineri 33 00:02:08,280 --> 00:02:11,360 dacă doriți, și, în special, nu au făcut acest lucru înainte. 34 00:02:11,360 --> 00:02:13,630 Aceasta tema de vineri va fi ziua de naștere a lui Nate, 35 00:02:13,630 --> 00:02:15,700 așa că, dacă v-ar dori să aibă masa de prânz ziua de nastere cu Nate 36 00:02:15,700 --> 00:02:17,500 și altele, unele dintre prietenii nostri din industrie, 37 00:02:17,500 --> 00:02:19,300 vă rugăm să mergeți la adresa URL respectivă acolo. 38 00:02:19,300 --> 00:02:22,510 Spațiu, ca întotdeauna, este limitată. De asemenea, în cazul în care ați uitat, 39 00:02:22,510 --> 00:02:26,460 dau seama că săptămâna viitoare este termenul limită pentru problema stabilit vânătoare de 4 a lui măturător de stradă, 40 00:02:26,460 --> 00:02:30,070 prin care, după recuperarea tuturor acestor JPEG din card.raw, 41 00:02:30,070 --> 00:02:32,880 tu și colegii tăi secțiune, dacă doriți, puteți încerca fotografierea 42 00:02:32,880 --> 00:02:36,100 cât mai multe dintre oamenii de stiinta din care cardul de memorie cât posibil, 43 00:02:36,100 --> 00:02:39,070 și tu și secțiunea dvs. va castiga un premiu fabulos atunci. 44 00:02:39,070 --> 00:02:44,470 Consultați înapoi la caietul de sarcini PSET 4 ca la ceea ce să-și prezinte și până când. 45 00:02:44,470 --> 00:02:47,650 De asemenea, dacă doriți să aveți mana ta imortalizat 46 00:02:47,650 --> 00:02:51,400 pe site-ul cursului și istoria ei de îmbrăcăminte, 47 00:02:51,400 --> 00:02:54,010 știu că sunteți binevenit acum pentru a începe depunerea modele 48 00:02:54,010 --> 00:02:57,180 pentru acest an T-shirt și jachete și similare. 49 00:02:57,180 --> 00:02:59,200 Vom face tot posibilul pentru a include cât mai multe ca putem, 50 00:02:59,200 --> 00:03:01,440 dar vom avea unii membri ai personalului revizuirea toate desenele 51 00:03:01,440 --> 00:03:04,180 pentru a vă asigura că sunt în conformitate cu caietul de sarcini, 52 00:03:04,180 --> 00:03:07,500 și am alege, apoi, în general, o mână de ele pentru a fi expuse. 53 00:03:07,500 --> 00:03:10,620 Deci, dacă sunteți tipul de construcție, știu doar că cerințele 54 00:03:10,620 --> 00:03:14,030 pentru grafica sunt PNG, cel puțin 200 dpi, 55 00:03:14,030 --> 00:03:16,520 acestea nu trebuie să fie mai mare de 4000 x 4000 pixeli, 56 00:03:16,520 --> 00:03:19,010 și nu mai mult de 10 MB, dar ești binevenit să folosească lucruri cum ar fi 57 00:03:19,010 --> 00:03:22,430 Photoshop sau GIMP sau diverse programe grafice lui, 58 00:03:22,430 --> 00:03:24,590 orice ai avea la dispozitie. 59 00:03:24,590 --> 00:03:28,280 >> De asemenea, pe orizont este proiectul final. Final al proiectului este într-adevăr punctul culminant de 50, 60 00:03:28,280 --> 00:03:30,560 prin care toate misiunile în curs, 61 00:03:30,560 --> 00:03:33,170 E într-adevăr o oportunitate de a face chestia ta. 62 00:03:33,170 --> 00:03:35,280 Și care pot fi pur și simplu de a face ceva pentru a te distra, 63 00:03:35,280 --> 00:03:38,160 aceasta poate fi pentru a rezolva unele probleme presante grupul dvs. de elev are, 64 00:03:38,160 --> 00:03:40,980 pentru unele site-ul nou, un mecanism de colectare a datelor pentru noi. 65 00:03:40,980 --> 00:03:43,420 Acesta poate fi o aplicatie mobila pentru Android, iOS pentru. 66 00:03:43,420 --> 00:03:46,030 Într-adevăr, cerul este limita, și peste următoarele câteva săptămâni, 67 00:03:46,030 --> 00:03:50,900 așa cum am tranziția de la C la aceste limbi de nivel superior, cum ar fi PHP si JavaScript, 68 00:03:50,900 --> 00:03:55,150 veți găsi te din ce în ce familiarizat cu unele tehnici de real-lume, 69 00:03:55,150 --> 00:03:57,800 unele instrumente de lumea reală, și să o completeze, 70 00:03:57,800 --> 00:04:00,170 știu că cursul are o istorie de seminarii, 71 00:04:00,170 --> 00:04:02,880 prin care peste urmatoarele cateva saptamani, o parte din cadrele didactice 72 00:04:02,880 --> 00:04:06,160 și prieteni ai noștri din campus va oferi seminarii optionale 73 00:04:06,160 --> 00:04:08,540 care merge de mai sus și dincolo de ceea ce se face de obicei în secțiunea 74 00:04:08,540 --> 00:04:11,090 să vă prezint lucruri, cum ar fi programarea Android, 75 00:04:11,090 --> 00:04:13,450 să vă prezint lucruri, cum ar fi iOS de programare 76 00:04:13,450 --> 00:04:15,950 sau mai avansate de web-dezvoltare tehnici. 77 00:04:15,950 --> 00:04:17,970 Există o întreagă istorie a acestor deja on-line. 78 00:04:17,970 --> 00:04:25,000 Dacă te duci la cs50.net/seminars, am făcut acest lucru pentru destul de câțiva ani, 79 00:04:25,000 --> 00:04:28,740 și veți vedea că arhivat aici cu PDF-uri și clipuri video și cum ar fi 80 00:04:28,740 --> 00:04:33,090 sunt mai multe videoclipuri zeci de seminarii. 81 00:04:33,090 --> 00:04:37,380 Anul trecut, de exemplu, am avut un seminar privind strălucit interviurile tehnice, 82 00:04:37,380 --> 00:04:40,980 dacă sunteți în căutarea de fapt, pentru a merge off și de a face un stagiu sau full-time concert. 83 00:04:40,980 --> 00:04:43,450 Windows Mobile dezvoltare, Android de dezvoltare, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, în curs de dezvoltare pentru BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Într-adevăr, sunteți binevenit să aruncăm o privire la oricare dintre aceste seminarii la care vă convine. 86 00:04:52,610 --> 00:04:57,080 Și vom organiza unele noi în acest semestru, de asemenea. 87 00:04:57,080 --> 00:04:59,020 >> Deci, ce este mai departe cu proiectul final? 88 00:04:59,020 --> 00:05:01,090 Ei bine, în primul rând, chiar dacă această dată este oarecum iminentă, 89 00:05:01,090 --> 00:05:06,460 aceasta este de fapt doar o oportunitate de a incepe sa te gandesti despre proiectul final destul de realist. 90 00:05:06,460 --> 00:05:10,550 Știm doar începuturile ceva din ceea ce vom fi în continuare acoperind în curs, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP și cum ar fi, dar esti familiarizați cu toate web, 92 00:05:13,470 --> 00:05:16,270 si am tendinta spre această conversație Web numai pentru că 93 00:05:16,270 --> 00:05:18,380 cei mai mulți oameni sfârșesc prin a face Web-based proiecte finale, 94 00:05:18,380 --> 00:05:20,260 dar că nu este deloc necesară. 95 00:05:20,260 --> 00:05:22,260 Utilizarea C este bine, obiectiv C, Java, 96 00:05:22,260 --> 00:05:25,350 orice altă limbă ar putea ști sau vrei sa stii e destul de bine. 97 00:05:25,350 --> 00:05:29,370 Dar pentru a obține sucuri curge inițial, vom aștepta depunerea unei preproposal 98 00:05:29,370 --> 00:05:33,520 care, pe PDF pe site-ul, care este acum la cs50.net, 99 00:05:33,520 --> 00:05:36,080 și la stânga sus, veți vedea proiectul final 100 00:05:36,080 --> 00:05:38,920 este caietul de sarcini pentru proiectul final, 101 00:05:38,920 --> 00:05:41,470 și acolo sunt detalii privind preproposal și plăcea. 102 00:05:41,470 --> 00:05:44,760 Se reduce destul de mult până la un e-mail la colegi predare 103 00:05:44,760 --> 00:05:48,450 doar pentru a lovi o conversație cu el sau ea despre ceea ce te gândești. 104 00:05:48,450 --> 00:05:52,510 Pe projects.cs50.net este un depozit de idei de la oameni în campus 105 00:05:52,510 --> 00:05:54,480 dacă sunteți luptă pentru a veni cu o idee, 106 00:05:54,480 --> 00:06:01,140 și manual.cs50.net/APIs este un depozit de link-uri către API-uri. 107 00:06:01,140 --> 00:06:06,710 >> Ce, însă, este un API? 108 00:06:06,710 --> 00:06:09,790 Ce este un API? Am spus-o de cel puțin de două ori, 109 00:06:09,790 --> 00:06:12,640 în conformitate cu transcrierile ultimele câteva săptămâni. 110 00:06:12,640 --> 00:06:17,050 Ce-i asta? [Student, neinteligibil] 111 00:06:17,050 --> 00:06:19,340 Bine >>, bine. Deci ceva interfață de programare. 112 00:06:19,340 --> 00:06:22,710 Application Programming Interface, iar acest lucru poate lua mai multe forme, 113 00:06:22,710 --> 00:06:25,850 dar ceea ce reduce într-adevăr acest lucru este în jos pentru a codului 114 00:06:25,850 --> 00:06:29,660 că altcineva HS scris sau date care altcineva le-a colectat 115 00:06:29,660 --> 00:06:33,670 care este pus la dispoziție pentru a vă într-un fel programatic. 116 00:06:33,670 --> 00:06:36,630 Puteți scrie codul în C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 indiferent de limba dvs. de a alege de obicei, este, 118 00:06:38,760 --> 00:06:42,240 si puteti construi intr-un fel pe funcționalitatea altcuiva 119 00:06:42,240 --> 00:06:44,440 sau altcuiva set de date. 120 00:06:44,440 --> 00:06:47,210 De exemplu, dacă mă duc la acest link aici, 121 00:06:47,210 --> 00:06:50,750 și veți vedea o pereche de link-uri pe pagina următoare 122 00:06:50,750 --> 00:06:56,093 prin care avem API-uri proprii CS50, care sunt foarte Harvard-centrice, și apoi terță parte API-uri. 123 00:06:56,930 --> 00:06:59,300 Printre API-urile terță parte sunt lucruri cu adevărat utile 124 00:06:59,300 --> 00:07:01,780 cum ar fi posibilitatea de a trimite oameni la SMS lui, 125 00:07:01,780 --> 00:07:04,690 fiind capabil de a primi mesaje text SMS de la oameni. 126 00:07:04,690 --> 00:07:08,160 Și lucruri de genul asta pe care le-ar putea avea nici o idee cum să te pună în aplicare, 127 00:07:08,160 --> 00:07:10,440 dar, datorită serviciilor, unele, liberă și unele comerciale 128 00:07:10,440 --> 00:07:14,000 puteți construi deasupra celor și să facem ceva de interes pentru tine. 129 00:07:14,000 --> 00:07:16,990 Printre API-uri CS50 sunt aceste lucruri campus-centrice ca 130 00:07:16,990 --> 00:07:21,480 Cursuri de la Harvard, energie, evenimente, produse alimentare, harti, stiri, tweet-uri și a lui proprie, Shuttleboy 131 00:07:21,480 --> 00:07:23,940 și acestea sunt API-uri care arata ceva de genul asta. 132 00:07:23,940 --> 00:07:26,990 >> Lasă-mă să trageți în sus API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Dacă ați fost vreodată la site-ul HUD lui, probabil ați fost acolo 134 00:07:30,620 --> 00:07:35,410 pentru a vedea doar ceea ce este pentru cina sau pentru a vedea ce ore sunt pentru unele d-hall. 135 00:07:35,410 --> 00:07:38,000 Ei bine, nu e deosebit de usor de navigat, 136 00:07:38,000 --> 00:07:41,100 și așa mai departe ceea ce am făcut a fost în urmă cu ceva timp am scris software-ul, 137 00:07:41,100 --> 00:07:47,270 se întâmplă să fie în PHP, că, de fapt ecranul zgarieturi totalitatea site-ul HUD lui. 138 00:07:47,270 --> 00:07:51,400 Pentru a ecran ceva racla înseamnă a scrie un program într-o limbă cum ar fi PHP 139 00:07:51,400 --> 00:07:55,270 care pretinde a fi un browser, chiar dacă s-ar putea să funcționeze la un prompt de comandă, 140 00:07:55,270 --> 00:07:58,180 care pretinde a fi un browser, se conectează la un site web, 141 00:07:58,180 --> 00:08:01,480 descarcă HTML său, limba în care este scris, 142 00:08:01,480 --> 00:08:04,300 și apoi citește, sau mai exact, acesta analizează 143 00:08:04,300 --> 00:08:06,140 de sus în jos, de la stânga la dreapta. 144 00:08:06,140 --> 00:08:08,870 Și ceea ce am făcut a fost am scris codul nostru în așa fel încât 145 00:08:08,870 --> 00:08:12,910 orice moment am văzut ceva în această HTML care semăna cu ceva pe meniu, 146 00:08:12,910 --> 00:08:16,470 cum ar fi hamburgeri, ne-ar importa atunci că în baza noastră de date proprie. 147 00:08:16,470 --> 00:08:20,410 Și în orice moment am văzut conținutul nutrițional, ne-ar importa în baza noastră de date proprie. 148 00:08:20,410 --> 00:08:23,090 Și ceea ce am făcut a fost levier faptul că HUD site-ul, 149 00:08:23,090 --> 00:08:27,280 chiar dacă ar putea fi un pic de o provocare pentru noi, oamenii, pentru a naviga 150 00:08:27,280 --> 00:08:32,559 sub capota, toate HTML este generată de programele informatice proprii. 151 00:08:32,559 --> 00:08:35,159 Deci, toate de HTML lor, chiar dacă s-ar putea arăta murdar, 152 00:08:35,159 --> 00:08:38,026 la fel ca majoritatea site-urilor de sub capota urmeaza un tipar. 153 00:08:38,260 --> 00:08:40,799 Așa că am petrecut doar câteva ore imaginind că modelul 154 00:08:40,799 --> 00:08:44,240 astfel încât, în final, vom arunca toate HTML murdar, 155 00:08:44,240 --> 00:08:47,340 toate estetica orientat spre caractere aldine și cursive și cum ar fi, 156 00:08:47,340 --> 00:08:52,350 și ceea ce suntem capabili să facă, atunci este faptul că expune aceleași date. 157 00:08:52,350 --> 00:08:54,870 De exemplu, în acest mod. 158 00:08:54,870 --> 00:08:56,840 Așa că am, în conformitate cu documentația de aici, 159 00:08:56,840 --> 00:08:59,190 au informat lumea că, dacă veți solicita un URL 160 00:08:59,190 --> 00:09:03,310 care arata ca aceasta, food.cs50.net / ceva, 161 00:09:03,310 --> 00:09:07,220 și vă oferă anumiți parametri, despre care vom vorbi despre ziua de azi, 162 00:09:07,220 --> 00:09:11,780 cum ar fi data de final ora, data de pornire timp, masă și așa mai departe, 163 00:09:11,780 --> 00:09:14,090 ce serverele noastre se vor întoarce la tine, de exemplu, 164 00:09:14,090 --> 00:09:18,740 este un fișier CSV, virgulă separted valori, cum ar fi un fișier Excel, 165 00:09:18,740 --> 00:09:23,140 conținând totul pentru micul dejun la această dată special, în luna martie a anului trecut 166 00:09:23,140 --> 00:09:25,450 atunci când sa întâmplat să scriu această documentație. 167 00:09:25,450 --> 00:09:27,870 >> Pentru cei familiarizați, CSV nu este formatul de fișier numai. 168 00:09:27,870 --> 00:09:30,610 Există un alt format care e tot mai versatil 169 00:09:30,610 --> 00:09:32,670 numit JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Datele pot veni înapoi în acest format. 171 00:09:34,770 --> 00:09:38,110 Deci, aici este livrata acasa, pe care, dacă sunteți arunca cu capul în acest API 172 00:09:38,110 --> 00:09:41,170 sau orice alte CS50 lui sau ceva de acolo de pe Internet, 173 00:09:41,170 --> 00:09:45,560 sau deloc, seama că lumea a început din ce în ce să standardizeze 174 00:09:45,560 --> 00:09:47,670 cum Mașini fi în comunicație. 175 00:09:47,670 --> 00:09:50,660 Noi folosim formate de date standard, cum ar fi CSV sau JSON. 176 00:09:50,660 --> 00:09:54,320 Și ce înseamnă acest lucru pentru tine este ca poti scrie o parte interesantă a unui program de 177 00:09:54,320 --> 00:09:56,580 care vă permite dvs. de utilizator căuta un meniu de mese sala, 178 00:09:56,580 --> 00:10:00,010 care le permite să creați liste de preferinte care le permite sa primiți alerte de text 179 00:10:00,010 --> 00:10:02,480 atunci când masa lor preferata este pe cale de a fi servit în unele d-hall 180 00:10:02,480 --> 00:10:07,090 folosind seturile de date altcuiva și de consolidare pe partea de sus a API-uri lor. 181 00:10:07,090 --> 00:10:13,600 Deci, mai mult pe faptul că, în forma de seminarii și documentația pe care le avem aici on-line. 182 00:10:13,600 --> 00:10:16,450 Deci cei care, atunci, sunt API-uri. 183 00:10:16,450 --> 00:10:18,900 >> Asta ne aduce inapoi la HTML. Rapidă recapitulare. 184 00:10:18,900 --> 00:10:22,920 Ce este HTML? 185 00:10:22,920 --> 00:10:25,000 [Student, neinteligibil] Bun >>. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Altcineva, ceea ce este Hypertext Markup Language? 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Bine. Deci HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText doar se referă la Web, pentru cea mai mare parte. 190 00:10:43,100 --> 00:10:45,730 Marcaj înseamnă că nu e de fapt un limbaj de programare, HTML. 191 00:10:45,730 --> 00:10:48,120 Nu este o limba pe care o poate exprima logica inch 192 00:10:48,120 --> 00:10:50,710 Ea nu are bucle. Ea nu are condiții. 193 00:10:50,710 --> 00:10:52,820 Ea nu are funcții, per se. 194 00:10:52,820 --> 00:10:56,680 Mai degrabă, el are aceste lucruri numite tag-uri, sau mai corect, elemente. 195 00:10:56,680 --> 00:10:59,970 Și aceste elemente au etichete de început și sfârșit tag-uri, 196 00:10:59,970 --> 00:11:04,300 sau tag-uri deschise și închise tag-uri, și ceea ce înseamnă, în general, acele etichete pentru un browser este, 197 00:11:04,300 --> 00:11:09,270 începe să faci ceva și apoi nu mai faci ceva, deși există excepții de la această. 198 00:11:09,270 --> 00:11:12,480 Uneori e doar "pune un sfârșit de linie aici," de exemplu. 199 00:11:12,480 --> 00:11:15,150 Și am văzut exemple de faptul că altă zi, între orientat spre îndrăzneț, 200 00:11:15,150 --> 00:11:17,430 sfârșiturile de linie, și apoi un cuplu de alte tag-uri. 201 00:11:17,430 --> 00:11:19,880 Deci HTML este limba în care paginile web sunt scrise. 202 00:11:19,880 --> 00:11:23,760 Așa că, dacă mă duc la ceva de genul Google.com 203 00:11:23,760 --> 00:11:26,180 și trageți în sus doar pagina lor de origine, 204 00:11:26,180 --> 00:11:29,690 Reamintim că, dacă faceți clic dreapta sau faceți clic controla 205 00:11:29,690 --> 00:11:32,140 si uita-te la pagina sursă vedere, de obicei, 206 00:11:32,140 --> 00:11:34,420 E o mizerie totală în aceste zile sub capota, dar asta pentru ca 207 00:11:34,420 --> 00:11:38,170 calculatoarele nu le pasă de spatiu alb, astfel încât acest lucru nu trebuie să se uite destul. 208 00:11:38,170 --> 00:11:40,240 Dar dacă am mări părți ale acestuia, 209 00:11:40,240 --> 00:11:43,460 observa că Chrome, doar pentru a fi frumos, are culoarea codificate lucruri. 210 00:11:43,460 --> 00:11:48,460 Într-adevăr, acest lucru este foarte etichetă în primul rând că am văzut într-o pagină web. 211 00:11:48,460 --> 00:11:51,750 Și din nou, HTML 5, cea mai recentă versiune a acestui limbaj, 212 00:11:51,750 --> 00:11:53,830 are acest lucru de la început, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 dar asta e doar un fel de standard care spune, hei lume, vine aici un fișier HTML în versiunea 5. 215 00:12:03,580 --> 00:12:08,920 >> Partea interesantă începe aici. Deci 00:12:11,640 elementelor HTML ultimul timp. 217 00:12:11,640 --> 00:12:14,630 Care au fost cele două principale copii? 218 00:12:14,630 --> 00:12:17,170 Cap și corp, la fel ca tipul cu tatuajul acum un moment. 219 00:12:17,170 --> 00:12:19,640 Există două porțiuni ale paginii web, cap și corp, 220 00:12:19,640 --> 00:12:23,750 și rechemarea, apoi, că, probabil, pagina de web simplu am putea face arata ca acest lucru. 221 00:12:23,750 --> 00:12:27,460 Și eu am indentate doar pentru a fi un fel de curat si ordonat, cu codul meu, 222 00:12:27,460 --> 00:12:30,710 dar ceea ce este cu adevărat important aici este faptul că există o anumită ierarhie în acest sens. 223 00:12:30,710 --> 00:12:35,420 Și orice etichetă pe care l-am deschis, am închis și că nu există, prin urmare, această simetrie 224 00:12:35,420 --> 00:12:38,300 la toate marcaj pe care l-am creat. 225 00:12:38,300 --> 00:12:41,620 Deci, ultima oară când am început să scriu pagini web pe laptop-ul meu propriu. 226 00:12:41,620 --> 00:12:45,470 Am deschis editare de text, am salvat fișierul ca hello.html, 227 00:12:45,470 --> 00:12:50,190 Am tras apoi fișierul pe browser-ul meu, și voila, am avut o pagina pe Internet. 228 00:12:50,190 --> 00:12:53,110 Acum, nu e destul de caz, am avut o pagină de pe hard-disk, 229 00:12:53,110 --> 00:12:58,260 si am fost literalmente singura persoană din lume care ar vedea că pagina de web într-un browser. 230 00:12:58,260 --> 00:13:00,670 >> Asa ca astazi, vom introduce un server de web reală 231 00:13:00,670 --> 00:13:02,750 și noțiunea de a servi de fapt, conținut de pe Internet 232 00:13:02,750 --> 00:13:04,970 și modul în care aceasta începe să se potrivească toate împreună. 233 00:13:04,970 --> 00:13:08,350 Deci, se dovedește că în tot acest timp în aparatul CS50 234 00:13:08,350 --> 00:13:11,590 ați avut un server de web de pe calculatorul dumneavoastră. 235 00:13:11,590 --> 00:13:16,560 Ne-am, în echitate, doar folosit pentru gedit, pentru zăngănit, pentru GDB și cum ar fi, 236 00:13:16,560 --> 00:13:21,000 dar, de asemenea, instalate de catre noi pentru tine în aparatul este un server de web, 237 00:13:21,000 --> 00:13:23,940 și că serverul de web se întâmplă să fie liber, o sursă deschisă, 238 00:13:23,940 --> 00:13:26,580 una dintre cele mai populare din lume, numit Apache. 239 00:13:26,580 --> 00:13:31,340 Numele său este mult mai tehnic HTTPd, d fiind de daemon aici, 240 00:13:31,340 --> 00:13:34,110 care este un cuvânt tehnic pentru un server. 241 00:13:34,110 --> 00:13:38,690 Deci, instalat în aparatul CS50 este un server de web, și ce înseamnă asta? 242 00:13:38,690 --> 00:13:43,740 Ei bine, un server web este, conceptual, unele server de pe Internet, care servește de conținut web. 243 00:13:43,740 --> 00:13:48,630 Când a fost întrebat de un fișier, scuipa HTML care compune acel fișier, și voila. 244 00:13:48,630 --> 00:13:51,370 Tu vezi pagina unele site-ul acasă. 245 00:13:51,370 --> 00:13:54,970 Dar un server este, mai exact, o bucată de software. 246 00:13:54,970 --> 00:13:59,190 Ea nu trebuie să fie pe o mașină fizică, el trebuie doar să fie o bucată de software care rulează. 247 00:13:59,190 --> 00:14:01,980 Deci, aparatul CS50, desigur, este o bucată de software 248 00:14:01,980 --> 00:14:04,270 chiar dacă e un fel de a pretinde să fie o mașină. 249 00:14:04,270 --> 00:14:06,960 Se pretinde a fi un calculator în interiorul unui calculator, 250 00:14:06,960 --> 00:14:11,140 dar asta înseamnă doar că aparatul poate funcționa cu siguranță, lucruri cum ar fi servere de web. 251 00:14:11,140 --> 00:14:13,260 Se poate rula de fapt, servere de e-mail. 252 00:14:13,260 --> 00:14:16,440 Am putea rula un server de mesagerie instantanee, în aparatul dacă am fi vrut, 253 00:14:16,440 --> 00:14:20,780 și într-adevăr, noi nu rulați un alt tip de server, cunoscut ca un server de baze de date, MySQL. 254 00:14:20,780 --> 00:14:22,620 Dar mai multe despre asta săptămâna viitoare. 255 00:14:22,620 --> 00:14:26,400 Acest lucru înseamnă că eu pot vizita, de fapt pagini web 256 00:14:26,400 --> 00:14:30,480 interiorul aparatului meu folosind un browser interiorul aparatului 257 00:14:30,480 --> 00:14:33,600 sau chiar pe laptop-ul meu propriu, Mac-ul meu sau PC-ul meu. 258 00:14:33,600 --> 00:14:37,780 Deci, ce înseamnă? Se pare că de fiecare dată când rulați un calculator Linux, 259 00:14:37,780 --> 00:14:40,910 porecla sa este "gazda locală." 260 00:14:40,910 --> 00:14:43,370 Ea nu are un nume de domeniu pentru că nu am cumpărat un nume de domeniu 261 00:14:43,370 --> 00:14:46,590 pentru ceva de genul aparatul, astfel încât numele său implicit este gazda locală. 262 00:14:46,590 --> 00:14:50,470 >> Dar, în scopul de a obține aparatul pentru a începe difuzarea pagini web, 263 00:14:50,470 --> 00:14:52,270 noi trebuie să le creați mai întâi. 264 00:14:52,270 --> 00:14:55,200 Deci, hai să facem asta. Lasă-mă să merg într-o fereastră terminal de aici 265 00:14:55,200 --> 00:14:58,190 și observați că sunt la mine tipic John Harvard promptă. 266 00:14:58,190 --> 00:15:01,670 Lasă-mă să mergeți mai departe și de tip LS, și vom vedea unele lucruri familiare din acest semestru, 267 00:15:01,670 --> 00:15:04,580 desktop, download-uri, dropbox și așa mai departe, 268 00:15:04,580 --> 00:15:07,540 dar acum vom începe de cotitură atenția noastră pentru un cuplu. 269 00:15:07,540 --> 00:15:11,530 Pe mai multe servere de web Linux e un folder denumit publice html, 270 00:15:11,530 --> 00:15:15,630 dar am de gând să săriți că unul de acum și să se concentreze pe acest vhosts,. 271 00:15:15,630 --> 00:15:18,850 Oricine știe ce este un vhost este? 272 00:15:18,850 --> 00:15:21,110 Doar jargonul prost pentru gazdă virtuală, 273 00:15:21,110 --> 00:15:23,850 și ce înseamnă acest lucru este faptul că pe un server tipic 274 00:15:23,850 --> 00:15:26,810 puteți găzdui site-uri web, de fapt mai multe. 275 00:15:26,810 --> 00:15:31,500 Puteți cumpăra un nume de domeniu cum ar fi foo.com, și îl puteți găzdui pe un server. 276 00:15:31,500 --> 00:15:36,100 Dar puteți cumpăra, de asemenea, bar.com și găzduirea pe același server. 277 00:15:36,100 --> 00:15:40,250 Motivul fiind, browsere sunt destul de inteligent pentru a informa serverul 278 00:15:40,250 --> 00:15:45,880 atunci când un utilizator se solicită unele pagini web, ce nume de domeniu utilizatorul dorește pagina pentru. 279 00:15:45,880 --> 00:15:48,760 Deci, ce e frumos despre acest lucru este nu aveți nevoie de un singur server fizic 280 00:15:48,760 --> 00:15:52,040 sau un aparat CS50 pentru fiecare site-ul ar putea să doriți să creați. 281 00:15:52,040 --> 00:15:55,520 Puteți folosi același server și de a dezvolta o sută de site-uri diferite. 282 00:15:55,520 --> 00:15:58,770 Și într-adevăr, dacă sunteți o persoană care încearcă să înceapă un site web, 283 00:15:58,770 --> 00:16:02,100 fie pentru distractie sau pentru mediul de afaceri, de obicei, vei merge pe internet, 284 00:16:02,100 --> 00:16:04,650 și veți plăti cineva zece dolari pe lună, o sută de dolari pe lună 285 00:16:04,650 --> 00:16:06,670 pentru a găzdui site-ul dvs. pentru tine. 286 00:16:06,670 --> 00:16:11,060 Și modul în care funcționează este ca ei se încarcă alte persoane 287 00:16:11,060 --> 00:16:13,160 zece dolari pe lună sau o sută de dolari pe lună 288 00:16:13,160 --> 00:16:17,200 pentru a găzdui site-uri altor oameni de pe serverul lor aceeași. 289 00:16:17,200 --> 00:16:20,740 Motivul pentru care se poate face acest lucru este din cauza acestei caracteristică numită bhosts, 290 00:16:20,740 --> 00:16:23,790 dar mai mult pe faptul că atunci când vine vorba de timp pentru proiectele finale. 291 00:16:23,790 --> 00:16:28,360 >> Pentru moment, să se arunca cu capul doar acolo. Deci vhosts cd, si daca am de tip LS acum, 292 00:16:28,360 --> 00:16:31,370 observa că există un folder denumit acolo local host. 293 00:16:31,370 --> 00:16:33,440 Asta pentru că, în mod implicit, cifrele aparat 294 00:16:33,440 --> 00:16:36,160 ai vreodată de gând să ruleze un site web pe un aparat. 295 00:16:36,160 --> 00:16:38,970 Acest lucru nu este cu adevărat lumea reală, nu este un server de web din lumea reala. 296 00:16:38,970 --> 00:16:41,690 Așa că lasă-mă să intru în gazdă locală, iar acum vom vedea acolo 297 00:16:41,690 --> 00:16:44,290 un director ultima numit HTML. 298 00:16:44,290 --> 00:16:47,080 Deci e un pic profundă, ierarhia, dar dacă și atunci când 299 00:16:47,080 --> 00:16:51,230 vă decideți să înceapă în curs de dezvoltare site-uri multiple în următoarele luni sau ani n, 300 00:16:51,230 --> 00:16:54,370 acest tip de structura directorului tinde să fie de ajutor. 301 00:16:54,370 --> 00:16:56,560 Acum hai să mergem în HTML ca tocmai am făcut-o, 302 00:16:56,560 --> 00:16:59,010 E de tip, și nimic nu este acolo. 303 00:16:59,010 --> 00:17:01,390 Deci, acum să mergem mai departe și de a face acest lucru. Lasă-mă să deschid Chrome 304 00:17:01,390 --> 00:17:07,300 interiorul aparatului, și lasă-mă să merg la http://localhost. 305 00:17:07,300 --> 00:17:14,440 Deci, literalmente nume pentru aparatul meu, introduceți, și mă indicele de /. 306 00:17:14,440 --> 00:17:18,290 Acest lucru nu este cu adevărat mi arate ceva de interes, 307 00:17:18,290 --> 00:17:23,400 dar se pare că ceea ce vedem este că dosar, HTML. 308 00:17:23,400 --> 00:17:25,770 Nu e nimic în interiorul acel folder, chiar acum, 309 00:17:25,770 --> 00:17:28,750 astfel încât în ​​loc, ce am de gând să trebuie să faci este să creați mai întâi un fișier. 310 00:17:28,750 --> 00:17:33,530 Creați un fișier HTML cum am făcut-o luni, dar de data aceasta a pus în interiorul aparatului. 311 00:17:33,530 --> 00:17:36,830 Pentru cei dintre voi care încearcă să urmeze, împreună cu laptop-uri acum, 312 00:17:36,830 --> 00:17:42,040 lasa-ma sa fac o parte care va fi acoperit în PSET web-based, 313 00:17:42,040 --> 00:17:44,280 dar în scopul de a obține acest să lucreze pentru prima dată, 314 00:17:44,280 --> 00:17:49,830 ai de gând să trebuie să rulați această comandă: sudo httpd start de serviciu. 315 00:17:49,830 --> 00:17:52,670 Și aceasta, din nou, va fi repetat în ultima PSET, 316 00:17:52,670 --> 00:17:55,460 dar dacă vă jucați de-a lungul acasa acum, server web 317 00:17:55,460 --> 00:17:58,660 este oprit în aparat, și asta e, astfel încât să nu submina RAM 318 00:17:58,660 --> 00:18:01,960 și memorie pentru 7 saptamani din semestrul atunci când nu avem nevoie de ea. 319 00:18:01,960 --> 00:18:05,190 Deci, aveți nevoie pentru a rula această comandă o dată, și veți obține o putere de genul asta. 320 00:18:05,190 --> 00:18:07,920 Apoi, ar trebui să fie în măsură să se joace de-a lungul aici. 321 00:18:07,920 --> 00:18:10,330 Acum hai să mergem înapoi în acest dosar. 322 00:18:10,330 --> 00:18:12,770 Acest folder este gol, asa ca lasa-mi să încep crearea unui fișier, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Bine. Gedit este deschis, ca de obicei. Lasă-mă să fac doctype, html, 325 00:18:20,930 --> 00:18:25,270 html, lasă-mă să meargă înainte de mine și începe închiderea Tag-urile mele în avans. 326 00:18:25,270 --> 00:18:28,380 Acum am capul. Lasă-mă să mergeți mai departe și închideți cap, 327 00:18:28,380 --> 00:18:32,450 permiteți-mi să fac acum titlul paginii, salut lume ca data trecută, 328 00:18:32,450 --> 00:18:34,790 Titlul aproape, lasă-mă să fac acum un corp. 329 00:18:34,790 --> 00:18:38,130 În aici, voi spune salut, lume, cu unele exclams 330 00:18:38,130 --> 00:18:40,550 pentru a face clar că este un șir diferit. 331 00:18:40,550 --> 00:18:45,800 Închideți corp, iar acum să-mi merge mai departe și să depună salva. 332 00:18:45,800 --> 00:18:48,470 Lasă-mă să mă întorc la fereastră terminalul meu, și dacă aș tip LS, 333 00:18:48,470 --> 00:18:51,830 Eu ar trebui, probabil, a se vedea hello.html. Si eu fac. 334 00:18:51,830 --> 00:18:55,070 Deci, acum să ne întoarcem la browser-ul meu, faceți clic pe reîncărca, 335 00:18:55,070 --> 00:18:58,930 și puteți vedea într-adevăr, suntem în interiorul acestui folder HTML. 336 00:18:58,930 --> 00:19:02,310 Nu văd o pagină web încă; aceasta este Apache, serverul de web, 337 00:19:02,310 --> 00:19:04,670 Doar arată-mi lista de conținutul acestui director. 338 00:19:04,670 --> 00:19:08,260 La fel ca Mac OS sau Windows ar face de obicei pe cont propriu hard disc. 339 00:19:08,260 --> 00:19:12,730 Deci, dacă vreau să văd această pagină web, pot click pe acest link mic aici, hello.html, 340 00:19:12,730 --> 00:19:15,160 și, într-adevăr, asta e ceea ce mă așteptam să văd. 341 00:19:15,160 --> 00:19:18,080 Acum, din nou, aceasta nu este o adresă URL pe care oricare dintre voi poate vizita chiar acum, 342 00:19:18,080 --> 00:19:20,760 deoarece pentru tine, gazdă locală, în cazul în care aveți un laptop aici, 343 00:19:20,760 --> 00:19:23,050 se referă la instanță proprie a aparatului. 344 00:19:23,050 --> 00:19:25,900 Acest lucru este pe aparat mea personală, 345 00:19:25,900 --> 00:19:29,080 dar acest lucru este un fel de prost pentru mine de a avea, pentru a avea 346 00:19:29,080 --> 00:19:34,480 un utilizator ca mine faceți clic pe hello.html pentru a vedea de fapt, conținutul acestei pagini. 347 00:19:34,480 --> 00:19:42,590 Se pare că serverele web ca Apache sa aveți un fișier implicit pentru orice server de web. 348 00:19:42,590 --> 00:19:44,640 Observați aici avem hello.html. 349 00:19:44,640 --> 00:19:48,410 Care e comanda in Linux pentru a redenumi un fișier? 350 00:19:48,410 --> 00:19:50,870 >> MV, pentru a muta. Așa că lasă-mă să fac asta, 351 00:19:50,870 --> 00:19:55,870 și lasă-mă să redenumiți hello.html index.html. 352 00:19:55,870 --> 00:19:58,610 Lasă-mă să tastați E pentru a confirma ca acum a fost redenumit. 353 00:19:58,610 --> 00:20:03,250 Acum, acest lucru este de gând să - dacă mă întorc la local host, 354 00:20:03,250 --> 00:20:06,710 observa acum că eu văd în mod automat că pagina de web. 355 00:20:06,710 --> 00:20:11,740 Acest lucru este identic pentru a-mi face de fapt / index.html, 356 00:20:11,740 --> 00:20:14,740 dar mai frumos lucru acum este faptul că serverul de web a imaginind, 357 00:20:14,740 --> 00:20:18,830 oh și, dacă aveți un fișier care, prin convenții umane, este numit index.html, 358 00:20:18,830 --> 00:20:21,200 lasă-mă să arată utilizatorului că dosarul implicit 359 00:20:21,200 --> 00:20:25,290 , mai degrabă decât o anumită listă de directoare, care prost nu este deloc user-friendly. 360 00:20:25,290 --> 00:20:28,900 Într-adevăr, cele mai multe site-uri web pe care le vizitați pe Internet nu au o listă de fișiere să faceți clic pe, 361 00:20:28,900 --> 00:20:34,040 ele arată doar te conținut. Deci asta e modul în care putem face acest lucru, index.html. 362 00:20:34,040 --> 00:20:37,000 Deci, asta este tot distracție și bună, dar aceasta este o pagina web destul de simplu. 363 00:20:37,000 --> 00:20:41,640 Lasă-mă să mergeți mai departe și să deschidă index.html în vhosts mele, 364 00:20:41,640 --> 00:20:47,620 Gazdele locale, directorul html, și hai să adăugați ceva de interes mai mare. 365 00:20:47,620 --> 00:20:56,120 Deci, nu e hello world; să spunem în loc "Acesta este CS50, Harvard College. . . " 366 00:20:56,120 --> 00:21:00,000 Deci, la începutul Catalog de cursul de un anumit fel acolo. 367 00:21:00,000 --> 00:21:03,780 Acum, dacă mă reîncărca, eu ar trebui să vedeți acest lucru în pagina mea de pornire. 368 00:21:03,780 --> 00:21:09,560 Bine, și eu nu văd asta, dar să presupunem că doresc să enumăr acum ceva mai mult conținut în acest fișier. 369 00:21:09,560 --> 00:21:15,160 Am putea merge în jos aici și să spun, nici unul premise, 370 00:21:15,160 --> 00:21:18,740 deși unii dintre voi sunt ca, probabil, "Ha, ha, ha, nici premise." 371 00:21:18,740 --> 00:21:24,320 Dar - în mod oficial. Deci reîncărca, iar acum avem aceeași capriciu pe care am văzut ultima oară. 372 00:21:24,320 --> 00:21:26,240 Dar de ce este asta? A fost o soluție simplă. 373 00:21:26,240 --> 00:21:31,440 De ce este această pagină rupt? 374 00:21:31,440 --> 00:21:34,170 [Student, neinteligibil] >> Da, am rezolvat asta înainte 375 00:21:34,170 --> 00:21:37,440 în mod explicit de către browser-ul spune "pune un sfârșit de linie aici." 376 00:21:37,440 --> 00:21:39,440 Și asta pentru că, din nou, a unui browser doar de gând să facă 377 00:21:39,440 --> 00:21:42,610 în mod explicit ceea ce limbajul de marcare se spune să facă, 378 00:21:42,610 --> 00:21:45,730 astfel încât chiar dacă s-ar fi lovit introduceți o dată sau de două ori sau chiar de zece ori, 379 00:21:45,730 --> 00:21:49,870 se va combina ca toate intr-un singur spațiu, doar prin convenție. 380 00:21:49,870 --> 00:21:52,770 Deci, daca vrei cu adevarat un sfârșit de linie, va trebui să utilizați tag-ul BR, 381 00:21:52,770 --> 00:21:56,840 și acum notificare, cum ar fi luni, am pus în interiorul / din această etichetă, 382 00:21:56,840 --> 00:22:00,090 doar pentru că aceasta pur și simplu nu se simt bine 383 00:22:00,090 --> 00:22:02,990 pentru a începe un sfârșit de linie opri apoi cu nimic în între. 384 00:22:02,990 --> 00:22:07,740 >> Deci, convenția în format HTML este de a deschide și închide o etichetă simultan. 385 00:22:07,740 --> 00:22:11,050 Ca o paranteza, veți vedea o mulțime de site-uri web în cărți, nu fac asta. 386 00:22:11,050 --> 00:22:14,240 Este corect să facă sau să nu-l facem, dar ne-ar argumenta 387 00:22:14,240 --> 00:22:17,430 faptul că design-înțelept și stilistic, aceasta este doar mai bine 388 00:22:17,430 --> 00:22:20,540 pentru că atunci fiecare tag-ul este atât de deschis și închis într-un fel. 389 00:22:20,540 --> 00:22:23,370 Deci, acum să salvați și reîncărcați. Du-te înapoi la browser-ul, bine. 390 00:22:23,370 --> 00:22:26,680 Acum facem unele progrese, dar nu e destul. 391 00:22:26,680 --> 00:22:33,210 Să mergem mai departe și să începeți să tastați în unele organism mai mult de text. 392 00:22:33,210 --> 00:22:40,610 Deci, haideți să spunem, "O rapidă maro vulpe sare peste un caine lenes." 393 00:22:40,610 --> 00:22:42,700 Și acum să-mi copiați și lipiți doar de citeva ori 394 00:22:42,700 --> 00:22:45,040 astfel încât să avem un paragraf de text. 395 00:22:45,040 --> 00:22:47,780 Lasă-mă să mă întorc aici. Deci nu se uită foarte bine. 396 00:22:47,780 --> 00:22:50,000 Eu nu am un sfârșit de linie, asa ca e bine, 397 00:22:50,000 --> 00:22:52,140 dar acum, odată ce suntem a ajunge la punctul de a avea o pagina web 398 00:22:52,140 --> 00:22:55,640 care are o mulțime de conținut și nu doar linii simple pentru a demonstra HTML, 399 00:22:55,640 --> 00:22:58,570 putem începe să ne gândim la aceste lucruri ca punctele reale. 400 00:22:58,570 --> 00:23:01,590 Și putem începe să structureze pagina noastra de web un pic mai curat. 401 00:23:01,590 --> 00:23:05,120 Și într-adevăr, ce pot să fac este să meargă până aici interiorul tag-corpul meu, 402 00:23:05,120 --> 00:23:09,400 și știi ce, dacă "Aceasta este CS50. . . " demarks într-adevăr începutul unui paragraf, 403 00:23:09,400 --> 00:23:11,310 bine, hai să etichetați ca atare. 404 00:23:11,310 --> 00:23:13,570 Lasă-mă să liniuță textul, doar prin convenție, permiteți-mi să spun 405 00:23:13,570 --> 00:23:15,710 faptul că acest alineat se termină aici, 406 00:23:15,710 --> 00:23:18,320 și apoi, mai degrabă decât face acest lucru sfârșit de linie, permiteți-mi să spun 407 00:23:18,320 --> 00:23:23,300 că această aparține acolo și ca un nou alineat, 408 00:23:23,300 --> 00:23:27,610 și voi doar repede liniuță de platesti doar toate chestiile astea. 409 00:23:27,610 --> 00:23:30,660 >> Deci, acum avem un paragraf indentat acolo, 410 00:23:30,660 --> 00:23:33,510 iar acum marcajul nostru este incepand de a obține un pic mai mult 411 00:23:33,510 --> 00:23:37,070 semantic în concordanță cu ceea ce încercăm să facem. 412 00:23:37,070 --> 00:23:40,130 Avem un paragraf, asa ca hai sa o numim un paragraf cu tag-ul p. 413 00:23:40,130 --> 00:23:43,370 Avem un al doilea paragraf, asa ca hai sa o numim un paragraf cu tag-ul p. 414 00:23:43,370 --> 00:23:45,850 Și acum, ce browser-ul va face de obicei 415 00:23:45,850 --> 00:23:48,490 este la fel ca într-o carte în limba engleză sau un eseu, 416 00:23:48,490 --> 00:23:51,280 în cazul în care veți vedea de obicei, unele sfârșituri de linie între punctele. 417 00:23:51,280 --> 00:23:53,720 Browsere va face asta pentru tine automat. 418 00:23:53,720 --> 00:23:56,680 Deci acum avem două puncte și putem continua acest lucru. 419 00:23:56,680 --> 00:23:58,770 Dar, desigur, pe Internet, atunci când aveți organelor de text 420 00:23:58,770 --> 00:24:01,370 nu e de obicei doar Blobs uriașe de text. 421 00:24:01,370 --> 00:24:04,040 Momentan nu sunt de multe ori hyperlink-uri acolo. 422 00:24:04,040 --> 00:24:07,250 Deci, dacă vrem să, de exemplu, includ unele link-uri acolo, 423 00:24:07,250 --> 00:24:10,760 Presupun că ceea ce ar putea fi de interes pentru orice pagina web creez aici este - 424 00:24:10,760 --> 00:24:12,780 lasă-mă să merg la Google.com, 425 00:24:12,780 --> 00:24:16,540 și lasă-mă caute pentru o scurtă maro vulpe. 426 00:24:16,540 --> 00:24:22,150 Du-te la imagini Google, și, cum despre - asta e drăguț. 427 00:24:22,150 --> 00:24:27,420 Vom merge cu asta. Deci, aici avem o scurtă sărituri maro vulpe pe un caine lenes. 428 00:24:27,420 --> 00:24:30,560 Deci, ce am de gând să fac aici, doar de dragul de a demonstrației, 429 00:24:30,560 --> 00:24:32,950 se presupune că această imagine a fost pe serverul meu, 430 00:24:32,950 --> 00:24:35,240 și am fost crearea acestor imagini. 431 00:24:35,240 --> 00:24:38,720 Ceea ce am făcut a fost doar să faceți clic dreapta sau controlează click pe imagine, 432 00:24:38,720 --> 00:24:42,370 și ceea ce veți vedea în cele mai multe browsere este un mic meniu - 433 00:24:42,370 --> 00:24:48,800 nu mai faci asta - un mic meniu care vă permite să alegeți Copy link location sau URL-ul copie. 434 00:24:48,800 --> 00:24:52,750 Așa că lasă-mă să mă întorc acum la HTML meu, și să presupunem că eu doresc 435 00:24:52,750 --> 00:24:56,420 pentru a hyperlink la această altă pagină web. 436 00:24:56,420 --> 00:24:58,640 >> Care a fost tag-ul solicitat pentru asta? 437 00:24:58,640 --> 00:25:01,650 [Student, neinteligibil] >> Da. Deci, a href de trimitere hiper. 438 00:25:01,650 --> 00:25:04,660 Lasă-mă să merg mai departe și lipiți care inch 439 00:25:04,660 --> 00:25:07,290 E un URL destul de lunga, asa ca lasa-ma zoom înapoi. 440 00:25:07,290 --> 00:25:09,950 Paranteze inchide, asa observa acum am luat-o aici 441 00:25:09,950 --> 00:25:11,960 pentru că URL-ul sa întâmplat să fie destul de lung. 442 00:25:11,960 --> 00:25:15,180 Lasă-mă să defilați aici până la sfârșitul anului rapidă maro vulpe, 443 00:25:15,180 --> 00:25:18,830 și apoi să-mi închideți acest tag cu 00:25:21,280 în cazul în care am închis doar numele etichetei. 445 00:25:21,280 --> 00:25:24,470 Acum, lasă-mă să merg mai departe și salvați fișierul respectiv, reîncărca pagina web, 446 00:25:24,470 --> 00:25:27,880 și acum, în mod implicit, care va fi subliniate în albastru, pentru mine, 447 00:25:27,880 --> 00:25:31,980 dar, într-adevăr, am posibilitatea să faceți clic pe această acum și voila. Nu e acea imagine. 448 00:25:31,980 --> 00:25:33,990 Și nu avea să fie o imagine, ar putea fi legate de 449 00:25:33,990 --> 00:25:36,270 la unele site-ul aleatorii de pe Internet. 450 00:25:36,270 --> 00:25:39,610 Aș putea face acest lucru, de exemplu, cu CS50, deci un exemplu aici ultima. 451 00:25:39,610 --> 00:25:42,730 "Acest lucru este CS50" s-ar putea face sens pentru a merge o, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, citat de aproape, ancora aproape. 453 00:25:50,340 --> 00:25:53,990 Deci, acum că e un URL mai scurte, și de data aceasta nu vom face legătura cu o imagine. 454 00:25:53,990 --> 00:25:57,880 Suntem în loc de gând să legați la altă pagină. 455 00:25:57,880 --> 00:25:59,840 Acum, avem o imagine aici. 456 00:25:59,840 --> 00:26:02,970 Mă simt ca și cum putem face un pic mai bine decât legarea la o imagine. 457 00:26:02,970 --> 00:26:05,760 Ce se întâmplă dacă vrem să-l cuprindă, de fapt, în pagina noastra de web proprie? 458 00:26:05,760 --> 00:26:09,290 >> Ei bine, ce pot să fac aici este, mai degrabă decât link către acest grafic, 459 00:26:09,290 --> 00:26:14,690 permiteți-mi să taie în locul URL-ul, și vom scăpa de faptul că hyperlink și curat asta. 460 00:26:14,690 --> 00:26:17,190 Și vom merge în jos aici și a scăpa de acest lucru. 461 00:26:17,190 --> 00:26:20,910 Noi nu prea au nevoie de toate aceste Exemple de acum, asa ca lasa-mi scurteze pagina un pic. 462 00:26:20,910 --> 00:26:24,530 Și apoi în jos să-mi aici, merge mai departe într-un nou alineat, 463 00:26:24,530 --> 00:26:30,100 spun că nu doriți ca textul acum, vreau o imagine a cărei sursă va fi acea adresă URL. 464 00:26:30,100 --> 00:26:33,100 O imagine, cum ar fi un sfârșit de linie, este fie acolo sau nu este. 465 00:26:33,100 --> 00:26:35,900 Așa că lasă-mă să închidă imediat că tag-ul. 466 00:26:35,900 --> 00:26:39,440 Lasă-mă să merg mai departe acum și închide punctul că eu sunt în interior, 467 00:26:39,440 --> 00:26:43,010 și, dacă totul merge bine cu Bună ziua, lume, dacă aș reîncărca acum, 468 00:26:43,010 --> 00:26:45,520 Eu, într-adevăr, a se vedea chiar din interiorul paginii mele de web proprii, o imagine. 469 00:26:45,520 --> 00:26:48,570 Deci acum avem o etichetă imagine, o etichetă ancoră și cum ar fi, 470 00:26:48,570 --> 00:26:51,320 și pentru o bună măsură, lasă-mă să fac un lucru care este de multe ori neglijat 471 00:26:51,320 --> 00:26:55,900 pe site-uri web aceste zile: Să furnizeze un text descriptiv pentru această imagine 472 00:26:55,900 --> 00:26:58,090 pentru oamenii care sunt pe un dispozitiv mobil 473 00:26:58,090 --> 00:27:00,640 și, prin urmare, nu ar putea fi capabil de a descărca această imagine foarte repede, 474 00:27:00,640 --> 00:27:03,310 pentru oamenii care sunt orbi și nu ar putea fi capabil de a vedea imaginea 475 00:27:03,310 --> 00:27:06,480 dar acestea ar putea avea un cititor de ecran care să le poată spune ce această imagine este de. 476 00:27:06,480 --> 00:27:09,100 Și pentru a face acest lucru, există un alt atribut pentru etichetele de imagine 477 00:27:09,100 --> 00:27:11,290 solicitat ALT, pentru text alternativ. 478 00:27:11,290 --> 00:27:14,650 Și ce pot să fac aici este spus, "Acesta este un rapid, maro vulpe." 479 00:27:14,650 --> 00:27:17,650 Așa că, chiar dacă omul nu poate vedea imaginea de pe ecran, 480 00:27:17,650 --> 00:27:20,560 el sau ea poate auzi, cel puțin, ca și cu unele bucată de software, 481 00:27:20,560 --> 00:27:23,080 ceea ce este de fapt acolo, pe ecran. 482 00:27:23,080 --> 00:27:25,040 >> Asta nu se va schimba estetica paginii, 483 00:27:25,040 --> 00:27:27,640 dar este cu siguranță bună practică pentru utilizatori. 484 00:27:27,640 --> 00:27:31,760 În regulă, hai să părăsiți această pagină de web în forma sa actuală, 485 00:27:31,760 --> 00:27:33,890 dar hai sa vedem daca nu putem introduce acum 486 00:27:33,890 --> 00:27:36,210 unele metode mai bune de scris aceste pagini de web, 487 00:27:36,210 --> 00:27:39,980 câteva lecții care ne vor servi ca paginile noastre obține mai multe și mai complexe. 488 00:27:39,980 --> 00:27:42,220 Ceea ce nu vom face peste următoarele câteva săptămâni 489 00:27:42,220 --> 00:27:46,810 te plimbi prin toate etichetele câteva zeci de HTML care există. 490 00:27:46,810 --> 00:27:49,800 La fel ca în zero înapoi în săptămâna 0, probabil că va fi suficient 491 00:27:49,800 --> 00:27:52,120 pentru a oferi o imagine de ansamblu la nivel înalt a unora dintre conceptele, 492 00:27:52,120 --> 00:27:54,530 un tur rapid al unora dintre blocuri care ai fost probabil în măsură, 493 00:27:54,530 --> 00:27:58,240 destul de confortabil, să mergeți pe cont propriu, diverse piese de puzzle. 494 00:27:58,240 --> 00:28:00,460 Și asta se va întâmpla din nou in HTML, cel mai probabil, 495 00:28:00,460 --> 00:28:04,320 care nu e bogate în resurse pe Web care vă vom indica la, 496 00:28:04,320 --> 00:28:06,920 manuale diferite, dacă preferați să citiți o carte, 497 00:28:06,920 --> 00:28:10,560 care vă va conduce prin toate diverse lucruri care le puteți face cu HTML, 498 00:28:10,560 --> 00:28:16,100 dar într-adevăr, am văzut până acum în HTML cele mai multe dintre conceptele fundamentale. 499 00:28:16,100 --> 00:28:19,900 Avem notiunea de tag-uri sunt deschise, etichetele fiind închisă. 500 00:28:19,900 --> 00:28:22,100 Unele tag-uri care sunt atât deschise și închise 501 00:28:22,100 --> 00:28:24,620 în sensul că acestea sunt goale; trebuie să existe nimic în interiorul ei 502 00:28:24,620 --> 00:28:27,490 ca un tag de imagine sau un sfârșit de linie, care sunt doar acolo. 503 00:28:27,490 --> 00:28:32,330 Am, de asemenea, sa uitat deja la noțiunea de atribut, cum ar fi ALT sau sursa. 504 00:28:32,330 --> 00:28:36,410 Observați că aceste cuvinte au tendința de, prin convenție, sa fie scurt si succint. 505 00:28:36,410 --> 00:28:39,140 >> Noi nu avem putere de apreciere asupra a ceea ce aceste lucruri sunt numite, 506 00:28:39,140 --> 00:28:42,060 cineva care a inventat HTML a venit cu aceste nume. 507 00:28:42,060 --> 00:28:44,710 Deci, trebuie doar să înceapă să cunoască sau să căutați, în orice moment aveți nevoie de ele, 508 00:28:44,710 --> 00:28:47,160 ce nume sunt pentru aceste tag-uri și atribute. 509 00:28:47,160 --> 00:28:49,510 În cazul acestor atribute, atribuie, în general, 510 00:28:49,510 --> 00:28:52,900 modifice comportamentul unor tag-ul. 511 00:28:52,900 --> 00:28:55,710 În acest caz, atributul sursa spune tag-ul imaginii 512 00:28:55,710 --> 00:28:57,940 ce sursa a imaginii ar trebui să fie. 513 00:28:57,940 --> 00:29:04,460 Atributul href spune tag-ul ancora ceea ce ar trebui să fie, de fapt conectarea la. 514 00:29:04,460 --> 00:29:06,800 Dar, în ceea ce privește structura unei pagini web, chiar dacă Facebook 515 00:29:06,800 --> 00:29:09,680 și Google și arată ca un dezastru complet ca 516 00:29:09,680 --> 00:29:12,560 sub capota, la prima vedere, dacă începeți să citiți prin ea 517 00:29:12,560 --> 00:29:16,950 mai metodic, ei vor urma această structură de bază, de bază. 518 00:29:16,950 --> 00:29:19,660 Dar putem îmbunătăți stilizare a acestor lucruri. 519 00:29:19,660 --> 00:29:24,180 Așa că lasă-mă să merg la câteva exemple pe care am pregătit în prealabil. 520 00:29:24,180 --> 00:29:27,280 Lasă-mă să mergeți mai departe și a le copia la un alt dosar aici 521 00:29:27,280 --> 00:29:29,380 și le-a pus în acest director. 522 00:29:29,380 --> 00:29:32,210 În prealabil, ceea ce am făcut a fost pregăti câteva fișiere: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2, și search3 și 4. 524 00:29:35,670 --> 00:29:38,740 Lasă-mă să merg mai departe și deschide prima dintre aceste dosare, 525 00:29:38,740 --> 00:29:42,570 și să vedem dacă nu putem începe pentru a crea motorul nostru de cautare propriu. 526 00:29:42,570 --> 00:29:46,530 La partea de sus a acestui fișier, așa cum se întâmplă de obicei în clasa, doar o grămadă de comentarii. 527 00:29:46,530 --> 00:29:49,760 In HTML, însă, mijloacele prin care începe un comentariu 528 00:29:49,760 --> 00:29:55,640 este <- si atunci esti in interiorul unui comentariu, un comentariu pe mai multe linii!. 529 00:29:55,640 --> 00:29:59,800 Când sunteți gata pentru a opri acest comentariu, poti sa faci ->. 530 00:29:59,800 --> 00:30:02,380 Deci, totul la partea de sus în albastru este doar un comentariu. 531 00:30:02,380 --> 00:30:04,620 >> Aceasta este declarația mea de DOCTYPE, care din nou, 532 00:30:04,620 --> 00:30:07,080 puteți să copiați și să lipiți pe credință, pentru acum. 533 00:30:07,080 --> 00:30:10,410 Acest lucru spune doar browser-ul, 'Aici vine ceva HTML 5. " 534 00:30:10,410 --> 00:30:13,600 De mai jos, care, pe linia 14, este prima Tag-urile mele reale, 535 00:30:13,600 --> 00:30:16,900 și acest lucru spune doar, ca și mai înainte, vine aici unele HTML, 536 00:30:16,900 --> 00:30:19,460 vine aici capul de pagina mea, aici vine titlul, 537 00:30:19,460 --> 00:30:23,900 și apoi, invers, asta e. pentru titlu, asta e. pentru cap. 538 00:30:23,900 --> 00:30:26,460 Aici vine acum corpul meu paginii. 539 00:30:26,460 --> 00:30:31,040 Deci, un cuplu de tag-uri noi acum: H1 vine de la poziția 1. 540 00:30:31,040 --> 00:30:33,850 E o tradiție în HTML de mai mulți ani înapoi 541 00:30:33,850 --> 00:30:37,990 de a avea dimensiuni diferite de text. 542 00:30:37,990 --> 00:30:41,980 Și înapoi în a doua zi, fiecare a însemnat, în general, doar mare și îndrăzneț. 543 00:30:41,980 --> 00:30:45,860 Dar există, de asemenea, H2, care este mare, dar nu la fel de mare și îndrăzneț. 544 00:30:45,860 --> 00:30:49,320 Nu e H3, care este un fel de mare, dar nu aproape la fel de mare și îndrăzneț, 545 00:30:49,320 --> 00:30:52,380 și așa mai departe, tot drumul până la H6. 546 00:30:52,380 --> 00:30:55,550 Aceste zile, deși, H1, H2 și H3 sunt într-adevăr menite 547 00:30:55,550 --> 00:30:57,980 pentru a avea mai mult sens semantic pentru a le, 548 00:30:57,980 --> 00:31:01,100 care H1 este într-adevăr o poziție: titlul unei pagini web, 549 00:31:01,100 --> 00:31:04,210 titlul unei coloane sau ceva de genul asta de text. 550 00:31:04,210 --> 00:31:09,030 Așa că am spus în mod deliberat h1 CS50 căutare> h1 551 00:31:09,030 --> 00:31:12,640 pentru a specifiy că aceasta este într-adevăr titlul, titlul paginii mele. 552 00:31:12,640 --> 00:31:14,850 Nu este titlul în sensul bara de titlu, 553 00:31:14,850 --> 00:31:18,960 dar titlul pe care îl vedea de fapt, în pagina web în sine, în organism. 554 00:31:18,960 --> 00:31:20,990 Acum, acest lucru, puteți ghici, probabil, ceea ce este, 555 00:31:20,990 --> 00:31:23,110 chiar dacă avem câteva bucăți noi de sintaxă. 556 00:31:23,110 --> 00:31:25,930 Aceasta este o formă. Deci, într-adevăr web devine interesant 557 00:31:25,930 --> 00:31:28,770 atunci când site-urile iau de intrare de la utilizatori. 558 00:31:28,770 --> 00:31:31,700 În această clasă, în problema setat pe programare web, 559 00:31:31,700 --> 00:31:33,880 noi nu vom face un site web, în ​​sine, 560 00:31:33,880 --> 00:31:37,570 cu conținut static care arată fotografii pe care le-ați luat, 561 00:31:37,570 --> 00:31:40,010 sau acesta este CV-ul meu, si lucruri despre mine, 562 00:31:40,010 --> 00:31:42,450 deoarece aceste lucruri sunt relativ ușor de a pune împreună. 563 00:31:42,450 --> 00:31:44,400 E greu sa faci lucrurile frumoase pe internet, 564 00:31:44,400 --> 00:31:46,390 dar cel puțin la punerea la conținut este destul de banal. 565 00:31:46,390 --> 00:31:49,380 Dar lucrurile devin cu adevarat interesante atunci când cineva se poate vizita site-ul dvs. 566 00:31:49,380 --> 00:31:52,260 și să ofere intrare și pot completa formularele, 567 00:31:52,260 --> 00:31:55,800 poate bifa casetele de selectare și pot interacționa cu site-ul tau. 568 00:31:55,800 --> 00:31:57,780 Și într-adevăr, probabil că fiecare site-ul care vă interesează despre 569 00:31:57,780 --> 00:32:00,710 în aceste zile, în orice detaliu, este oarecum interactiv. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, si ca, pe care ia introduse de utilizator 571 00:32:03,110 --> 00:32:05,100 și produce de ieșire personalizate. 572 00:32:05,100 --> 00:32:07,780 >> Așa că hai să începem să facem asta acum. Să tranziție acum 573 00:32:07,780 --> 00:32:11,150 de la folosind doar HTML pentru marcare de conținut static 574 00:32:11,150 --> 00:32:14,790 în schimb ca un mecanism de livrare pentru conținutul dinamic. 575 00:32:14,790 --> 00:32:17,350 Și spre acest scop, să pună în aplicare de motorul nostru de cautare propriu. 576 00:32:17,350 --> 00:32:20,820 Hai so facem, după cum urmează. Iată tag-ul formularul. 577 00:32:20,820 --> 00:32:24,090 Atributul acțiune specifică faptul că atunci când utilizatorul completează formularul de mai jos 578 00:32:24,090 --> 00:32:28,400 cu tastatura lor, acesta va fi prezentat la această adresă URL aici. 579 00:32:28,400 --> 00:32:31,230 Așa că eu sunt un fel de înșelăciune. O să ne ia un pic mai mult 580 00:32:31,230 --> 00:32:33,780 mult de o clasă de a implementa motorul de căutare ansamblu, 581 00:32:33,780 --> 00:32:35,880 asa ca vom face doar front-end, ca să spunem așa. 582 00:32:35,880 --> 00:32:38,650 Vom face partea care permite căutare a utilizatorilor, iar noi vom sorta de barca în Google 583 00:32:38,650 --> 00:32:40,950 partea cea mai grea a găsi rezultate de căutare, 584 00:32:40,950 --> 00:32:43,520 dar, în mod special, am de gând să vorbesc cu serverul de web Google 585 00:32:43,520 --> 00:32:46,710 folosind una dintre cele două metode foarte populare. 586 00:32:46,710 --> 00:32:50,000 Un curs de înțeles, alta, că vom vedea în cele din urmă, fiind poștă, 587 00:32:50,000 --> 00:32:52,660 deși există altele care sunt mai rar folosite. 588 00:32:52,660 --> 00:32:56,440 Deci, chiar a lua evocă ideea de, vreau sa iau niste conținut, obțineți unele rezultate de căutare. 589 00:32:56,440 --> 00:32:58,440 Acest lucru, puteți ghici, probabil, ce face asta. 590 00:32:58,440 --> 00:33:01,900 Aceasta este un fel de intrare, este, de fapt, o să arate ca un câmp de text, 591 00:33:01,900 --> 00:33:05,200 și numele pe care de intrare, numele de variabile, care, ca să spunem așa, 592 00:33:05,200 --> 00:33:08,610 va fi Q pentru interogare, prin convenție,. 593 00:33:08,610 --> 00:33:11,700 Și din nou, tipul de această intrare nu va fi o casetă de selectare; 594 00:33:11,700 --> 00:33:13,890 nu va fi un meniu, acesta va fi un câmp de text 595 00:33:13,890 --> 00:33:18,060 cum noteaza cu acest atribut aici, și această casetă de text, 596 00:33:18,060 --> 00:33:20,680 ca un sfârșit de linie, este fie acolo sau nu. 597 00:33:20,680 --> 00:33:24,480 Deci avem un element gol cu ​​slash în interiorul acelui tag. 598 00:33:24,480 --> 00:33:28,050 Apoi, am de gând să pună un sfârșit de linie, și puteți, probabil, ghici ce acest lucru este de gând să facă. 599 00:33:28,050 --> 00:33:30,210 Acesta este un alt fel de intrare formular. 600 00:33:30,210 --> 00:33:32,350 >> Acesta va fi utilizat pentru transmiterea formularului. 601 00:33:32,350 --> 00:33:36,140 Deci, acest lucru se va fi butonul mare pe care utilizatorul poate face clic pentru a trimite formularul, 602 00:33:36,140 --> 00:33:40,800 și eticheta de pe acel buton va fi "Căutare CS50." 603 00:33:40,800 --> 00:33:44,170 Formă aproape, corpul aproape, aproape HTML. 604 00:33:44,170 --> 00:33:46,280 Să vedem ce avem în formă a acestei pagini web. 605 00:33:46,280 --> 00:33:48,260 Așa că lasă-mă să merg la browser-ul meu, 606 00:33:48,260 --> 00:33:50,360 lasă-mă să plec, încă, la gazda locală. 607 00:33:50,360 --> 00:33:54,650 Acest lucru este încă index.html, așa că dacă vreau să văd acest fișier numit search0, 608 00:33:54,650 --> 00:33:59,710 Eu pot face pur și simplu / search0.html, introduceți - 609 00:33:59,710 --> 00:34:01,880 și primul greselile mele. 610 00:34:01,880 --> 00:34:04,400 Ce se întâmplă? Eu în mod clar, nu aveți permisiunea de 611 00:34:04,400 --> 00:34:06,430 pentru a accesa acest fișier, pentru un motiv oarecare. 612 00:34:06,430 --> 00:34:10,170 Dar asta e, deoarece, spre deosebire de munca pe care am făcut până acum în C, 613 00:34:10,170 --> 00:34:14,340 în cazul în care programele pe care le scriu sunt presupuse a fi runable de tine, 614 00:34:14,340 --> 00:34:17,590 executabil de tine, că nu e într-adevăr cazul pe Web, 615 00:34:17,590 --> 00:34:21,010 prin care, uneori, este posibil să doriți să creați fișiere de pe un server, 616 00:34:21,010 --> 00:34:23,310 dar tu nu vrei ca toată lumea să fie în măsură să le vadă. 617 00:34:23,310 --> 00:34:25,469 Mai degrabă, vrei ca lumea să vadă unele fișiere 618 00:34:25,469 --> 00:34:27,730 dar nu altele, doar de dragul de confidențialitate lui. 619 00:34:27,730 --> 00:34:30,730 Deci, e mai mult de o bază de opt-in atunci când faci lucruri pe Web. 620 00:34:30,730 --> 00:34:32,810 Și lasă-mă tastezi ls aici, 621 00:34:32,810 --> 00:34:37,440 și veți vedea fișierele pe care le am, dar se amintească faptul că, dacă fac ls-l pentru mult timp, 622 00:34:37,440 --> 00:34:41,520 Voi primi o listă mai lungă, care îmi dă câteva detalii suplimentare despre aceste fișiere 623 00:34:41,520 --> 00:34:45,139 care sunt acum, într-adevăr, pentru prima dată, relevante pentru noi. 624 00:34:45,139 --> 00:34:47,840 Observați că pe dreapta de departe sunt numele de fișiere mele, 625 00:34:47,840 --> 00:34:50,690 și apoi momentul în care acestea au fost modificate ultima dată sau copiate. 626 00:34:50,690 --> 00:34:54,370 Acest număr este ceea ce aici? Îți amintești? 627 00:34:54,370 --> 00:34:56,400 Dimensiunea în octeți, cat de mare este fisierul. 628 00:34:56,400 --> 00:34:59,520 >> Asa ca am par să aibă un fel de logo-ul de aici, care e mai mare decât toate celelalte fișiere. 629 00:34:59,520 --> 00:35:03,610 Aceasta sunt eu, asta este ceea ce am și ceea ce grupul eu sunt inch 630 00:35:03,610 --> 00:35:07,430 Dar apoi, aici pe stânga este un pic de secvență criptic, 631 00:35:07,430 --> 00:35:10,040 și am vorbit, cred, pe scurt despre acest lucru în trecut, 632 00:35:10,040 --> 00:35:12,050 dar acest lucru are de a face cu permisiuni. 633 00:35:12,050 --> 00:35:14,020 Și chiar dacă e un pic neclar, 634 00:35:14,020 --> 00:35:17,270 RW înseamnă, probabil, citeste si scrie. 635 00:35:17,270 --> 00:35:22,560 Deci, se dovedește că aceste linii denotă seturi diferite de permisiuni pentru oameni diferiți. 636 00:35:22,560 --> 00:35:24,730 Și modelul este, în esență, după cum urmează. 637 00:35:24,730 --> 00:35:27,650 Când vedeți o secvență de linii aici, ele arata cum urmează. 638 00:35:27,650 --> 00:35:30,450 Există o cratimă, atunci e mai mult trei linii, 639 00:35:30,450 --> 00:35:33,390 atunci există un alt trei, atunci nu e încă trei. 640 00:35:33,390 --> 00:35:36,800 Prima dintre ele este fie o cratimă sau un anunț e pentru directorul. 641 00:35:36,800 --> 00:35:40,220 Astfel încât unul e destul de ușor. Dacă e un dosar, se spune d, altfel e un cratimă. 642 00:35:40,220 --> 00:35:44,080 Nu e un cuplu de alte cazuri, dar pentru moment ne vom pasa doar despre fișiere și directoare. 643 00:35:44,080 --> 00:35:48,090 Aceste următoarele trei linii - si le-am introdus în mod artificial spații. 644 00:35:48,090 --> 00:35:50,490 Ei au fost, în mod evident, nu există atunci când i-am văzut acum un moment. 645 00:35:50,490 --> 00:35:52,900 Acestea sunt permisiunile fișierului administrator, 646 00:35:52,900 --> 00:35:55,840 și dintr-o amintesc acum al doilea a fost citit și scrie. 647 00:35:55,840 --> 00:35:58,560 Asta a fost pentru ca eu, ca persoana care a creat acest fișier acum un moment, 648 00:35:58,560 --> 00:36:01,250 Eu, doar în mod implicit, pe un calculator Linux, 649 00:36:01,250 --> 00:36:03,910 au capacitatea de a continua citirea și scrierea acel fișier. 650 00:36:03,910 --> 00:36:07,170 >> Deci, sistemul de operare tocmai mi-o dă RW în mod automat. 651 00:36:07,170 --> 00:36:10,840 Cele mijlocii se referă la grupul meu, că de studenți, 652 00:36:10,840 --> 00:36:14,590 care este un fel de lipsită de sens pe aparat, deoarece eu sunt singura persoană de a folosi aparatul. 653 00:36:14,590 --> 00:36:16,620 Așa că lasă-mă să mișcați mâinile mele la asta acum. 654 00:36:16,620 --> 00:36:19,190 Dar cele din urmă sunt cele mai importante pentru Web. 655 00:36:19,190 --> 00:36:21,580 Acest lucru este oricine altcineva în lume, și faptul 656 00:36:21,580 --> 00:36:24,600 că este --- înseamnă că nimeni altcineva în lume 657 00:36:24,600 --> 00:36:26,680 are orice permisiuni către acest fișier. 658 00:36:26,680 --> 00:36:29,180 În mod clar o problemă, așa că am nevoie pentru a rezolva această 659 00:36:29,180 --> 00:36:33,830 de cumva oferind lumii ce? Citeste si scrie? 660 00:36:33,830 --> 00:36:35,850 Asta e, probabil prost, nu? Nu vreau pe nimeni pe Web 661 00:36:35,850 --> 00:36:38,530 pentru a merge pentru a vizita pagina mea și într-un fel modificați acest fișier, 662 00:36:38,530 --> 00:36:40,800 chiar dacă într-adevăr nu ar putea cu un fișier HTML, 663 00:36:40,800 --> 00:36:44,110 dar doar în principiu, probabil, vreau doar să fie capabil să-l citească. 664 00:36:44,110 --> 00:36:47,910 Ce înseamnă să-l citesc? Aceasta nu înseamnă că au de gând să aibă grijă despre HTML reală, 665 00:36:47,910 --> 00:36:51,820 dar browser-ul trebuie să fie capabil să elimine că Limbajul de marcare, 666 00:36:51,820 --> 00:36:53,720 de sus în jos, de la stânga la dreapta. 667 00:36:53,720 --> 00:36:57,990 Deci, cineva de pe Web trebuie să fie capabil să-l citesc, așa că am nevoie de minim să-i dea r. 668 00:36:57,990 --> 00:37:00,240 Eu pot face acest lucru în câteva moduri diferite, dar, probabil, 669 00:37:00,240 --> 00:37:03,080 mai simplă este de a rula această comandă aici. 670 00:37:03,080 --> 00:37:10,860 Chmod, modul de schimbare, atunci A + R astfel încât toate toată lumea, în lumea + citit, 671 00:37:10,860 --> 00:37:13,830 și apoi numele fișierului, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Acum, dacă fac ls-l din nou, observați că fișierul sa schimbat, 673 00:37:18,310 --> 00:37:21,440 și într-adevăr, am pornit R pentru toată lumea. 674 00:37:21,440 --> 00:37:23,350 Am, de asemenea, pornit de grupul meu, dar asta e bine, 675 00:37:23,350 --> 00:37:27,150 pentru că dacă m-am întors în timp de toată lumea, grupul meu este un subset de asta. 676 00:37:27,150 --> 00:37:31,480 Așa că e prea bine. Acest lucru înseamnă doar computerul a creat acum ușor de citit. 677 00:37:31,480 --> 00:37:34,430 Acum, lasă-mă să mă întorc la browser-ul meu, faceți clic pe reîncărca. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Avem acum CS50 Căutare. 679 00:37:36,330 --> 00:37:39,830 Am mărită un pic artificial - motor de cautare destul de hidos. 680 00:37:39,830 --> 00:37:41,930 Dar hai sa vedem daca chiar functioneaza. 681 00:37:41,930 --> 00:37:45,880 În primul rând, permiteți-mi să fac o verificare rapidă bun-simț, lasă-mă să controleze faceți clic și pentru a vizualiza pagina sursă. 682 00:37:45,880 --> 00:37:50,780 Observați că în cadrul Chrome vedem acum HTML aceeași pe care mi-am creat. 683 00:37:50,780 --> 00:37:55,420 Nu te confuz aici, totuși. Eu nu pot începe schimbarea codului aici, 684 00:37:55,420 --> 00:37:59,420 deoarece browser-ul are o vedere doar în citire a acestui cod. 685 00:37:59,420 --> 00:38:06,060 Browser-ul a cerut doar local host pentru un fișier numit search0.html. 686 00:38:06,060 --> 00:38:09,490 În prezent, este o pura coincidenta faptul că aparatul 687 00:38:09,490 --> 00:38:13,480 se întâmplă să fie pe același computer ca și browser-ul meu. 688 00:38:13,480 --> 00:38:20,470 Am putea avea doar, echivalent, s-au introdus în www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 și în cazul în care Facebook a avut un fisier numit care, mi-ar fi văzut apoi HTML lor. 690 00:38:23,830 --> 00:38:27,360 Și, desigur, nu pot schimba fișierul care se întoarce de la Facebook, fie. 691 00:38:27,360 --> 00:38:29,360 Deci, acum suntem un fel de estomparea liniilor. 692 00:38:29,360 --> 00:38:32,130 Aparatul este atât un server, care servește pagini web, 693 00:38:32,130 --> 00:38:34,870 dar este, de asemenea, un client, în sensul că eu sunt cu ajutorul unui browser 694 00:38:34,870 --> 00:38:37,630 pentru a vorbi de fapt, la acel server. 695 00:38:37,630 --> 00:38:39,610 Deci, să vedem dacă motorul meu de căutare Google funcționează. 696 00:38:39,610 --> 00:38:44,930 Lasă-mă să mergeți mai departe și să căutați rapid maro vulpe, introduceți. 697 00:38:44,930 --> 00:38:47,540 Și voila, acum am avea propriul motor de căutare. 698 00:38:47,540 --> 00:38:51,460 >> Dar cum face acest lucru? 699 00:38:51,460 --> 00:38:55,380 Pic de o intindere, dar - și acum nu poti vedea, exact, partea care e de interes. 700 00:38:55,380 --> 00:38:57,370 Observați ce se întâmplă. 701 00:38:57,370 --> 00:39:00,430 Observați adresa URL. Se pare că această metodă, 702 00:39:00,430 --> 00:39:02,780 numit obține, este super-simplu. 703 00:39:02,780 --> 00:39:10,270 Când specificați într-o formă pe care doriți să "obține" rezultate de la un server, 704 00:39:10,270 --> 00:39:13,200 ceea ce va face este să iei tot ce ați introdus în formularul 705 00:39:13,200 --> 00:39:15,290 și pune-l în adresa URL. 706 00:39:15,290 --> 00:39:18,580 Se va standardiza modul în care este pus în URL-ul, după cum urmează. 707 00:39:18,580 --> 00:39:22,290 Observați că aceasta este adresa URL care a fost valoarea atributului acțiunea mea. 708 00:39:22,290 --> 00:39:24,730 Asta e atunci când am vrut să sfârșească formularul. 709 00:39:24,730 --> 00:39:26,950 Dar observați atunci acest semn de întrebare. 710 00:39:26,950 --> 00:39:30,230 Aceasta este o convenție pe Web prin care să furnizeze date introduse de utilizator 711 00:39:30,230 --> 00:39:35,320 la un site web, vă adăuga la URL-ul un semn de întrebare, 712 00:39:35,320 --> 00:39:38,330 și atunci aveți o grămadă de perechi cheie-valoare. 713 00:39:38,330 --> 00:39:42,380 Numele unei chei, altfel cunoscut ca un parametru în Web, 714 00:39:42,380 --> 00:39:46,380 atunci aveți un semn egal, atunci va avea valoarea de acest parametru. 715 00:39:46,380 --> 00:39:49,810 Deci, în esență, că e un nume de variabilă și o valoare variabilă, 716 00:39:49,810 --> 00:39:54,250 dar numele celor variabile și valorile venit de la formularul HTML. 717 00:39:54,250 --> 00:39:56,250 De ce sunt plusurile acolo, nu crezi? 718 00:39:56,250 --> 00:39:59,340 Pentru că nu am tastați + între cuvintele mele. 719 00:39:59,340 --> 00:40:01,430 [Student, neinteligibil] 720 00:40:01,430 --> 00:40:05,080 Da >>, e doar pentru spațiere. Cote sunt, ori de câte ori ați văzut o adresă URL, 721 00:40:05,080 --> 00:40:07,320 nu e niciodată toate spațiile în ea, în cazul în care numai pentru că 722 00:40:07,320 --> 00:40:09,440 dacă ar exista, nu ai putea într-adevăr să copiați și lipiți-o 723 00:40:09,440 --> 00:40:12,700 într-o IM sau într-un e-mail deoarece s-ar rupe. 724 00:40:12,700 --> 00:40:15,420 Vrei totul să fie un șir de caractere contigue. 725 00:40:15,450 --> 00:40:18,450 >> Deci, browser-ul este destul de inteligent pentru a realiza, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Nu se pune doar un spațiu acolo. Lasă-mă să codifica spațiu într-un mod standard. 727 00:40:22,610 --> 00:40:25,170 Unul dintre convențiile pentru a face acest lucru este de a avea browser-ul 728 00:40:25,170 --> 00:40:29,350 pune automat un + în cazul în care ar trebui altfel un spațiu. 729 00:40:29,350 --> 00:40:32,140 Deci, acum, anunțul Google a fost un fel de user-friendly. 730 00:40:32,140 --> 00:40:34,380 Eu cu siguranță nu a creat această pagină web, 731 00:40:34,380 --> 00:40:37,200 dar au prepopulated domeniul propriul lor text 732 00:40:37,200 --> 00:40:39,490 cu ceea ce, exact, am tastat inch 733 00:40:39,490 --> 00:40:43,090 Să presupunem că doriți să căutați pentru altceva, ca un câine leneș. 734 00:40:43,090 --> 00:40:45,340 Eu pot doar acest tip aici, re-căutare. 735 00:40:45,340 --> 00:40:47,730 Observați că URL-ul schimbă aici, 736 00:40:47,730 --> 00:40:51,390 dar observa apoi că pot căuta de fapt, pentru orice vreau 737 00:40:51,390 --> 00:40:53,610 doar prin intelegerea modului de lucru adrese URL. 738 00:40:53,610 --> 00:40:56,840 Am putea face pisică leneș, introduceți, 739 00:40:56,840 --> 00:41:01,370 și observați acum Primesc un foarte leneș - ar trebui sa ne? Mă simt ca și cum ar trebui. 740 00:41:01,370 --> 00:41:09,900 I a lua o pisica foarte leneș. 741 00:41:09,900 --> 00:41:11,930 Bine. Aceasta este una dintre cele mai stupide lucruri pe care le-am făcut. 742 00:41:11,930 --> 00:41:17,160 Dar asta este o pisica lenesa. 743 00:41:17,160 --> 00:41:19,730 Oricum, ceea ce este Takeaway cheie aici? 744 00:41:19,730 --> 00:41:22,830 Acum suntem un fel de a juca în lumea de HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML este limbajul de marcare doar acest, tag-ul deschis, tag-aproape, 746 00:41:26,050 --> 00:41:29,490 care spune un browser cum să facă conținutul de pe o pagină web. 747 00:41:29,490 --> 00:41:32,850 Dar atunci când veți începe transmiterea de date pe Internet 748 00:41:32,850 --> 00:41:36,290 între browser-ul web și serverul, asta e în cazul în care acest protocol 749 00:41:36,290 --> 00:41:39,370 Cunoscut și drept HyperText Transfer Protocol preia. 750 00:41:39,370 --> 00:41:42,630 Aceasta este un fel de convenție umană, atunci când Sam și cu mine a dat mâna luni, 751 00:41:42,630 --> 00:41:48,300 începând cu o conexiune și apoi închiderea unei conexiuni, aceeași idee aici. 752 00:41:48,300 --> 00:41:53,100 Cum sunt rezultatele Google vine înapoi la mine? 753 00:41:53,100 --> 00:41:55,290 Cum este prezentarea mea formă de gând să Google? 754 00:41:55,290 --> 00:41:58,160 Ei bine, amintesc de zilele trecute că ceea ce se întâmplă cu adevărat 755 00:41:58,160 --> 00:42:02,150 sub capota, atunci când solicitați o pagină web este, 756 00:42:02,150 --> 00:42:04,860 Browser-ul dvs. este trimiterea unui mesaj criptic cum ar fi oarecum- 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 pentru pagina de pornire implicită. 758 00:42:09,510 --> 00:42:13,000 >> Sau, în acest caz, pentru că am solicitat în mod expres mai devreme 759 00:42:13,000 --> 00:42:17,340 search0.html, acest lucru, atunci ar fi mesajul oarecum criptic- 760 00:42:17,340 --> 00:42:20,040 că browser-ul meu pentru a trimite aparatul. 761 00:42:20,040 --> 00:42:23,090 Sau, în acest caz de Google, ceea ce de fapt a trimis 762 00:42:23,090 --> 00:42:33,740 este o cerere de a / căutare, apoi Q =? pisica leneș, cu un plus de acolo. 763 00:42:33,740 --> 00:42:36,790 Deci acest mesaj, pe care eu, om, niciodată nu am dactilografiere, 764 00:42:36,790 --> 00:42:40,620 dar este trimis de către browser-ul meu, acesta este modul în care se întâmplă HTTP. 765 00:42:40,620 --> 00:42:43,240 Acesta este echivalentul a mâinile noastre au zguduit. 766 00:42:43,240 --> 00:42:46,320 Aceasta este cererea, iar serverul e pe cale de a trimite un răspuns. 767 00:42:46,320 --> 00:42:48,560 Deci, haideți să aruncăm o privire la acest sub capota. 768 00:42:48,560 --> 00:42:55,320 Ca și mai înainte, ne putem deschide acest domeniu specială într-un browser. 769 00:42:55,320 --> 00:42:58,720 Vezi pagina, pentru a inspecta elemente. 770 00:42:58,720 --> 00:43:01,550 Deci, în temeiul inspecta element, observăm că ceea ce sa întâmplat în Chrome, 771 00:43:01,550 --> 00:43:04,160 și IE si Firefox au mecanisme similare, 772 00:43:04,160 --> 00:43:07,370 avem aceste instrumente pentru dezvoltatori accesibile pentru noi. 773 00:43:07,370 --> 00:43:09,630 Oamenii normali nu folosesc aceste file. 774 00:43:09,630 --> 00:43:11,940 Dar noi, acum, sunt interesati de ceea ce se întâmplă 775 00:43:11,940 --> 00:43:13,890 sub capota, la nivel de rețea. 776 00:43:13,890 --> 00:43:16,130 Deci, dacă am trage în sus nivelul de rețea aici, 777 00:43:16,130 --> 00:43:18,510 lasă-mă să mergeți mai departe și să se extindă această fereastră, 778 00:43:18,510 --> 00:43:21,840 deschidă această intrare aici, si uita-te la anteturile. 779 00:43:21,840 --> 00:43:26,010 Deci, ce se întâmplă atunci când am solicita un fișier de pe un server de web 780 00:43:26,010 --> 00:43:29,410 este browser-ul meu trimite o grămadă de lucruri. 781 00:43:29,410 --> 00:43:32,390 Și lasă-mă să vizualizați sursa. Acest lucru în temeiul anteturile cerere, 782 00:43:32,390 --> 00:43:35,250 Și acesta este doar crom-mi arate ceva de ieșire de diagnosticare, 783 00:43:35,250 --> 00:43:37,340 ca un fel de depanator de un anumit fel, 784 00:43:37,340 --> 00:43:40,500 observați că ceea ce am subliniat aici este exact ceea ce 785 00:43:40,500 --> 00:43:47,060 Chrome trimite la server pentru a cere un fișier numit search0.html. 786 00:43:47,060 --> 00:43:50,160 Se spune serverul de ceea ce crede este numele său, 787 00:43:50,160 --> 00:43:52,210 datorită acestui domeniu de colon gazdă, atunci există unele 788 00:43:52,210 --> 00:43:56,950 chestii destul de ezoteric aici, cum ar fi ceva de-a face cu date și ore, 789 00:43:56,950 --> 00:43:59,720 ceva de-a face cu limbile pe care browser-ul înțelege, 790 00:43:59,720 --> 00:44:02,850 dar liniile cu adevărat importante sunt aceste primele două aici. 791 00:44:02,850 --> 00:44:05,490 >> Ce face serverul răspunde cu? Ei bine, dacă vom derula în jos aici 792 00:44:05,490 --> 00:44:08,510 și pentru a vizualiza sursa de acest lucru, observați că serverul 793 00:44:08,510 --> 00:44:13,700 a răspuns cu un mesaj oarecum criptic, de asemenea, nu 304 modificat. 794 00:44:13,700 --> 00:44:16,030 Asta e un pic ciudat; lasă-mă să încerc de fapt, pentru a remedia acest lucru. 795 00:44:16,030 --> 00:44:18,670 Lasă-mă să țineți apăsată tasta SHIFT și faceți clic pe reîncărca aici 796 00:44:18,670 --> 00:44:22,460 să forțeze browser-ul pentru a face de fapt, această cerere pentru prima dată. 797 00:44:22,460 --> 00:44:25,700 Atunci lasă-mă să zoom in, și vom vedea acum că serverul de răspuns, 798 00:44:25,700 --> 00:44:28,950 pentru că am ținut schimbare, este de 200 OK. 799 00:44:28,950 --> 00:44:31,170 Deci, n-ați văzut, probabil, numărul 200 800 00:44:31,170 --> 00:44:33,300 într-un număr de contextul Web, dar ceea ce 801 00:44:33,300 --> 00:44:36,760 ai văzut, uneori, în mod neașteptat de la un server? 802 00:44:36,760 --> 00:44:42,010 404, fișierul nu a fost găsit, 403, interzis; 500, eroare de server. 803 00:44:42,010 --> 00:44:44,890 Deci, există aceste coduri numerice care lumea le folosește în Web 804 00:44:44,890 --> 00:44:47,870 pentru a semnifica erori, la fel ca și funcțiile C 805 00:44:47,870 --> 00:44:51,030 poate reveni erori și principalele poate returna coduri de ieșire. 806 00:44:51,030 --> 00:44:54,160 200, deși, veți vedea foarte rar, pentru că înseamnă totul este bine. 807 00:44:54,160 --> 00:44:59,000 Și 304 nu veți vedea niciodată, probabil, pentru că ceea ce se ea semnificând? 808 00:44:59,000 --> 00:45:03,330 Că nimic nu are - să vedem dacă putem simula din nou - 809 00:45:03,330 --> 00:45:07,170 Oh, acum nu e cooperant. 304 a spus nemodificate, 810 00:45:07,170 --> 00:45:09,170 Deci, de ce a fost server chiar răspunde? 811 00:45:09,170 --> 00:45:12,550 Ei bine, pentru eficiență, un server de web în mod automat pentru tine, 812 00:45:12,550 --> 00:45:16,570 dacă fișierul nu sa schimbat, nu va retransmite întregul dosar HTML. 813 00:45:16,570 --> 00:45:19,150 Va spun doar browser-ul nu sa schimbat. 814 00:45:19,150 --> 00:45:21,220 Doar folosi copia aveți deja. 815 00:45:21,220 --> 00:45:22,650 Deci, există această noțiune de cache-ul de pe Web 816 00:45:22,650 --> 00:45:25,840 pentru performanță, astfel încât să nu pierdeți timp și de lățime de bandă de deșeuri 817 00:45:25,840 --> 00:45:29,160 descărcarea de fișiere din nou și din nou în mod inutil. 818 00:45:29,160 --> 00:45:31,460 >> Dar această pagină de web, acum, a fost super-simplu, 819 00:45:31,460 --> 00:45:34,980 și doar mi-a arătat HTML care sa întors. 820 00:45:34,980 --> 00:45:40,940 Să folosim efectiv fila rețelei acum pentru a face o căutare pe Google cum ar fi maro rapidă vulpe. 821 00:45:40,940 --> 00:45:43,010 Permiteți-mi să faceți clic pe CS50 căutare, 822 00:45:43,010 --> 00:45:46,950 și acum, observați în partea de jos aici o grămadă de lucruri întors 823 00:45:46,950 --> 00:45:49,900 pentru că atunci când am vizitat un site adevarat ca Google.com, 824 00:45:49,900 --> 00:45:53,520 au imagini, au textul, ele au un limbaj numit JavaScript acolo. 825 00:45:53,520 --> 00:45:55,940 Deci, la fiecare rând în acest tabel aici 826 00:45:55,940 --> 00:46:01,490 reprezintă ceva care Google scuipa, ca răspuns la solicitarea mea unică. 827 00:46:01,490 --> 00:46:04,160 L-am pasă, însă, este aceasta prima. 828 00:46:04,160 --> 00:46:08,420 Și dacă mă duc la căutare, cererea, faceți clic pe Vizualizare sursă de aici, 829 00:46:08,420 --> 00:46:11,300 observă că, într-adevăr, mesajul criptic că browser-ul meu a trimis 830 00:46:11,300 --> 00:46:15,010 în Google a fost aceste două linii aici, 831 00:46:15,010 --> 00:46:18,420 urmate de unele informații arcane aici jos pe care o vom ignora pentru moment. 832 00:46:18,420 --> 00:46:20,890 Dar Notă, de asemenea, ceea ce Chrome este destul de la îndemână, cu, 833 00:46:20,890 --> 00:46:24,540 este, de asemenea, arată-mi șir de interogare care a fost trimis inch 834 00:46:24,540 --> 00:46:27,410 Deci, mai degrabă decât arată-mi asta, care a fost literalmente trimis, 835 00:46:27,410 --> 00:46:30,800 dacă aș ao vizualiza decodat, Chrome, doar pentru scopuri de depanare, 836 00:46:30,800 --> 00:46:34,270 pentru dezvoltatori ca noi, e doar aratandu-mi o versiune uman-friendly a - 837 00:46:34,270 --> 00:46:36,390 că nu este modul în care se scrie vulpea, aparent. 838 00:46:36,390 --> 00:46:40,520 Am observat asta acum - dar te-a arata ceea ce am, se pare, tastat. 839 00:46:40,520 --> 00:46:45,340 Între timp, răspunsul care a venit înapoi de la serverul este din nou 200 OK. 840 00:46:45,340 --> 00:46:47,930 Dar sunt incluse în acest răspuns, desigur, 841 00:46:47,930 --> 00:46:51,920 dacă privim de fapt, HTML page - 842 00:46:51,920 --> 00:46:55,440 Ne pare rău, aceasta este o comandă rapidă de tastatură pic eșuată de astăzi. 843 00:46:55,440 --> 00:46:59,020 >> Mă ocup de asta mai târziu. Deci, dacă am vedea de fapt sursa paginii, 844 00:46:59,020 --> 00:47:02,990 pe care eu pot face aici, făcând clic pe răspuns, 845 00:47:02,990 --> 00:47:10,080 aceasta este ceea ce a fost scuipat de fapt, înapoi, în plus față de faptul că criptic 200 mesaj de OK de la server. 846 00:47:10,080 --> 00:47:12,520 Un pic de criptic, dar în cazul în care este toate astea vine de la? 847 00:47:12,520 --> 00:47:15,570 Ei bine, hai sa facem un lucru aici. O altă comandă oarecum criptic-, 848 00:47:15,570 --> 00:47:20,530 dar un fel asta a lui elegant, în sensul că ne dezvăluie exact ceea ce se întâmplă pe sub capota. 849 00:47:20,530 --> 00:47:22,530 Așa că m-am întors pe Mac-ul meu aici, am conectat 850 00:47:22,530 --> 00:47:25,980 printr-un program numit SSH, Secure Shell, la un alt server 851 00:47:25,980 --> 00:47:28,940 deoarece cele mai multe dintre computerele de la Harvard bloca comanda suntem pe cale de a rula 852 00:47:28,940 --> 00:47:31,640 deoarece exista aceasta comanda pe unele servere numit traceroute 853 00:47:31,640 --> 00:47:34,810 care vă permite să urmărească traseul între punctele A și B, 854 00:47:34,810 --> 00:47:37,020 și, astfel, de departe am fost luați complet de la sine 855 00:47:37,020 --> 00:47:40,170 că am posibilitatea să tastați în Google.com și obțineți într-un fel de date înapoi 856 00:47:40,170 --> 00:47:43,530 de jumătate din țară sau de jumătate din întreaga lume. 857 00:47:43,530 --> 00:47:45,810 Cu traceroute putem scufunda de fapt, într-un pic mai adânc 858 00:47:45,810 --> 00:47:49,370 cu privire la modul în care funcționează Internetul, și să vedem ce se întâmplă pe sub capota. 859 00:47:49,370 --> 00:47:54,440 Așa că hai să mergem mai departe și să urmărească arbitrar o rută, să zicem, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 care este în întreaga țară, și a lovit introduceți. 861 00:47:57,150 --> 00:47:59,380 Această comandă poate fi super-rapid sau super-lent, 862 00:47:59,380 --> 00:48:02,010 dar ceea ce vedem acum, linie cu linie, 863 00:48:02,010 --> 00:48:08,060 este fiecare dintre etapele de hamei între noi și Palo Alto, sau Stanford, 864 00:48:08,060 --> 00:48:11,010 în cazul în care acestea au serverul lor de web. 865 00:48:11,010 --> 00:48:16,600 Deci, ce înseamnă fiecare dintre aceste linii reprezintă mai concret, totuși? 866 00:48:16,600 --> 00:48:19,100 O bucată de jargonul de pe Internet? [Student, neinteligibil] 867 00:48:19,100 --> 00:48:21,570 >> Ce e asta? [Student, neinteligibil] 868 00:48:21,570 --> 00:48:25,390 Oh >>, astfel încât există ori, dar ceea ce nu fiecare rând - ce vreau sa spun prin hop? 869 00:48:25,390 --> 00:48:29,140 >> Ei bine, există aceste lucruri de pe Internet, numite routere. 870 00:48:29,140 --> 00:48:33,020 Și routere, astfel cum sugerează și numele, informații privind rutele din punctul A la punctul B. 871 00:48:33,020 --> 00:48:36,920 Dar există mai multe puncte de dincolo de a și b. 872 00:48:36,920 --> 00:48:40,010 Nu e c și d și e și f între rândul 1, 873 00:48:40,010 --> 00:48:43,480 care se întâmplă să fie adresa IP a computerului meu, 874 00:48:43,480 --> 00:48:46,890 sau adresa mea numeric, care identifica in mod unic computerul meu, 875 00:48:46,890 --> 00:48:50,300 și pasul 15, care este de fapt serverul de web al șaselea, 876 00:48:50,300 --> 00:48:54,640 aparent, pe care am dedus din aceasta, sau versiunea 6 a serverului de web lor la Stanford. 877 00:48:54,640 --> 00:48:56,680 Dar ceea ce este fel de curat este, putem vedea calea de 878 00:48:56,680 --> 00:49:00,480 că-mi 0-uri și 1 sunt luați de pe calculatorul meu la Stanford. 879 00:49:00,480 --> 00:49:02,500 Deci, pasul 1 este adresa calculatorului meu propriu. 880 00:49:02,500 --> 00:49:05,760 Fiecare calculator de pe Internet are un identificator unic, care arata ca acest lucru. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Undeva pe acest campus, probabil, în centrul științei, 883 00:49:10,370 --> 00:49:16,780 este un router numit Gateway Core 2-te83, orice ar insemna asta, 884 00:49:16,780 --> 00:49:20,590 astfel încât acesta este unul dintre Harvard routere mari de lux, care rutele o mulțime de trafic lor. 885 00:49:20,590 --> 00:49:24,640 Iată un alt routere de la Harvard, aceasta este Border Gateway, 886 00:49:24,640 --> 00:49:28,310 sensul de frontieră este, probabil, de la periferia campusul undeva. 887 00:49:28,480 --> 00:49:32,790 Apoi, există NOx unul, rândul 4, care este Crossroads de Nord, 888 00:49:32,790 --> 00:49:35,070 care este un mare ISP, furnizorul de servicii Internet, 889 00:49:35,070 --> 00:49:37,740 ca locuri precum Harvard conecta pana la. 890 00:49:37,740 --> 00:49:40,760 Dar apoi lucrurile devin un pic interesant în linia 6. 891 00:49:40,760 --> 00:49:45,960 În cazul în care sunt biți mele dintr-o dată? Kansas. 892 00:49:45,960 --> 00:49:49,300 Lumea are un obicei de a folosi codurile aeroporturilor într-o mulțime de aceste lucruri, 893 00:49:49,300 --> 00:49:52,900 sau cel puțin abrevieri pentru state sau orașe, 894 00:49:52,900 --> 00:49:56,490 deci se pare ca, in doar 60 ms, 895 00:49:56,490 --> 00:49:59,420 un pachet de informații, a lui 0 și 1 este din laptop-ul meu 896 00:49:59,420 --> 00:50:03,210 am tot drumul spre Kansas, și, din nou, în 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Mai mult decât atât, după Kansas, au facut un tur prin Houston, probabil, 898 00:50:08,180 --> 00:50:10,140 astfel cum a sugerat numele de acest server. 899 00:50:10,140 --> 00:50:13,310 Deci, doar ca un server de pe Internet trebuie să aibă o adresă numerică, 900 00:50:13,310 --> 00:50:18,360 ea poate, de asemenea, opțional, au o adresă de ceva mai uman-friendly, care a venit cu oamenii. 901 00:50:18,360 --> 00:50:20,510 Acum, în pasul 8, nu știm ce e asta. 902 00:50:20,510 --> 00:50:22,550 Uneori, routere doar un fel de te ignoră, 903 00:50:22,550 --> 00:50:25,010 și ei doar nu răspunde la întrebări, așa că e bine. 904 00:50:25,010 --> 00:50:29,290 Unul după pasul 8 este aparent în cazul în care? L.A. 905 00:50:29,290 --> 00:50:35,290 Observă în doar 78 ms, ceea ce ne duce oamenii, cum ar fi 6 + ore pentru a face fizic, 906 00:50:35,290 --> 00:50:40,110 ia pachete de informații pe Internet 78 ms să călătorească atât de departe. 907 00:50:40,110 --> 00:50:45,890 Pasul 10 este, în Los Angeles, de asemenea, și pasul 11 ​​pare să fi plecat spre nord, până aproape de Stanford. 908 00:50:45,890 --> 00:50:48,750 Acest lucru este router-ul lor limita, sau router de frontieră. 909 00:50:48,750 --> 00:50:51,240 Un cuplu pașii de la Stanford, care ne ignorarea, 910 00:50:51,240 --> 00:50:55,610 și, în sfârșit, ajungem serverul de web în numai 87 ms. 911 00:50:55,610 --> 00:50:57,760 Acum, toate aceste numere, ca o parte, 912 00:50:57,760 --> 00:51:00,640 doar să vă spun cât de mult timp este nevoie pentru a obține date de la mine 913 00:51:00,640 --> 00:51:03,530 la fiecare dintre aceste routere, și nu este acumulative. 914 00:51:03,530 --> 00:51:06,960 Ce face acest program este, acesta trimite mai întâi un mesaj, în esență, la primul router. 915 00:51:06,960 --> 00:51:09,490 Apoi, unul la router secunde, apoi una de la router-ul al treilea, 916 00:51:09,490 --> 00:51:12,610 de măsurare de fiecare dată. Deci, în teorie, aceste vremuri vor fi în creștere 917 00:51:12,610 --> 00:51:14,860 sau cel puțin destul de aproape una de alta, 918 00:51:14,860 --> 00:51:18,090 și, într-adevăr, cei care sunt chiar aici în campus sunt super-mici. 919 00:51:18,090 --> 00:51:20,820 De îndată ce ați începe să mergi în toată țara, este nevoie de date 920 00:51:20,820 --> 00:51:24,830 un pic mai mult să călătorească, mai aproape de 100 ms, da sau de a lua. 921 00:51:24,830 --> 00:51:28,330 Dar hai să mergem în altă direcție acum. Ce zici de Universitatea Cambridge din Marea Britanie? 922 00:51:28,330 --> 00:51:32,540 Lasă-mă să ruleze în loc de traceroute www.cam pentru Cambridge, 923 00:51:32,540 --> 00:51:36,710 Ac pentru academică.,. Din Marea Britanie, și a lovit introduceți aici. 924 00:51:36,710 --> 00:51:38,830 Asta a fost destul de al naibii de repede. 925 00:51:38,830 --> 00:51:43,300 Datele mele literalmente sa dus la Cambridge, Anglia, în această fracțiune de secundă de timp. 926 00:51:43,300 --> 00:51:45,340 >> Deci, hai sa vedem calea pe care a luat. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Crossroads de Nord, 928 00:51:47,520 --> 00:51:52,690 care este un ISP, iar apoi acest lucru este Crossroads de Nord, si apoi bam. 929 00:51:52,690 --> 00:51:58,320 Ceea ce este între pașii 6 și 7, 6 și 7 router? 930 00:51:58,320 --> 00:52:02,040 Oceanul Atlantic. Și suntem dedus acest lucru din faptul că 931 00:52:02,040 --> 00:52:06,530 vom merge de la 20 ms la 80 ms aici aici. 932 00:52:06,530 --> 00:52:10,050 Deci ceva a luat 60 ms, da sau de a lua, pentru a trece peste. 933 00:52:10,050 --> 00:52:12,910 Și asta a fost, probabil, un corp mare de apă. 934 00:52:12,910 --> 00:52:15,250 Ce se întâmplă după aceea? Ei bine, aici suntem în Londra, 935 00:52:15,250 --> 00:52:18,860 doar 88 ms mai târziu. Mai mult Londra, mai mult Londra, 936 00:52:18,860 --> 00:52:21,730 nu sunt sigur în cazul în care acest lucru este, dar vom presupune că este în afara Londrei, 937 00:52:21,730 --> 00:52:26,390 Cambridge aici, și în cele din urmă ne - literalmente, Universitatea din Cambridge 938 00:52:26,390 --> 00:52:29,500 Something.net,. Și apoi, în cele din urmă, în linia 16, 939 00:52:29,500 --> 00:52:31,720 serverul lor de web se numește aparent Scorpius 940 00:52:31,720 --> 00:52:35,500 sub capota, deși îl știm ca www. 941 00:52:35,500 --> 00:52:38,790 Fel de minte-suflare, cred. Prima dată când am făcut-o vreodată acest lucru, a suflat în totalitate mintea mea. 942 00:52:38,790 --> 00:52:41,670 Din păcate, la Harvard blochează acest tip de trafic, de obicei, în rețea. 943 00:52:41,670 --> 00:52:44,340 Deci, nu se poate face super-ușor. 944 00:52:44,340 --> 00:52:48,500 Dau seama, însă, acest lucru este posibil aici. 945 00:52:48,500 --> 00:52:53,630 Bine. Să luăm de 5 minute de pauză aici. Vom veni înapoi și se arunca cu capul în adânc. 946 00:52:53,630 --> 00:53:00,850 Deci, ne-am întors, și am un fel de ambled despre în câteva direcții diferite aici. 947 00:53:00,850 --> 00:53:03,700 Deci, haideți să rezuma exact ceea ce se întâmplă aici. 948 00:53:03,700 --> 00:53:07,990 Am început conversația vorbesc despre acest limbaj numit HTML. 949 00:53:07,990 --> 00:53:10,680 Din nou, nu un limbaj de programare. E doar un limbaj de markup 950 00:53:10,680 --> 00:53:15,490 care este în mare măsură cu privire la estetica si de structurare a conținutului în forma unei pagini Web. 951 00:53:15,490 --> 00:53:19,220 Dar HTML, prin urmare, are nevoie de un fel de mecanism de 952 00:53:19,220 --> 00:53:22,870 pentru a călători între browser-ul web și serverul. 953 00:53:22,870 --> 00:53:28,360 HTML, prin urmare, un fel de plimbari pe partea de sus a acestui altă limbă, 954 00:53:28,360 --> 00:53:31,280 sau mai corect, un protocol, cunoscut sub numele de HTTP. 955 00:53:31,280 --> 00:53:33,730 >> Și HTTP, așa cum l-am văzut până acum, 956 00:53:33,730 --> 00:53:37,140 este un fel de analog la această convenție umană a tremura mainile. 957 00:53:37,140 --> 00:53:39,940 Atunci când un browser dorește să solicite o pagină de la un server, 958 00:53:39,940 --> 00:53:43,450 se trimite ca "ajunge" cerere de la browser-ul la server, 959 00:53:43,450 --> 00:53:48,040 și apoi serverul răspunde cu un număr de 200 cum ar fi, totul este în regulă, 960 00:53:48,040 --> 00:53:53,290 precum HTML sau un număr de rău ca și 404, nu a găsit fișierul. 961 00:53:53,290 --> 00:53:58,220 Dar între timp, HTTP sine nu este Internetul, în sine. 962 00:53:58,220 --> 00:54:01,550 HTTP este doar un serviciu, o caracteristică a internetului 963 00:54:01,550 --> 00:54:05,530 la fel ca G este un alt serviciu de chat, la fel ca e-mail este un alt serviciu. 964 00:54:05,530 --> 00:54:09,180 Există tot felul de lucruri pe care le putem face pe internet. 965 00:54:09,180 --> 00:54:12,670 HTTP este doar unul dintre aceste cereri. 966 00:54:12,670 --> 00:54:17,210 Astfel, pe partea de sus a - HTTP este pe partea de sus a altceva 967 00:54:17,210 --> 00:54:21,750 pe care nu am mai aminti de nume, s-ar putea să fi auzit de numele de, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Deci, i-am spus povestea acolo este despre toate 969 00:54:25,160 --> 00:54:28,720 modul în care datele circulă de la punctul A la punctul B. 970 00:54:28,720 --> 00:54:30,950 Și în acest caz, am văzut la un nivel foarte scăzut 971 00:54:30,950 --> 00:54:33,060 router la router la router la router, 972 00:54:33,060 --> 00:54:35,390 modul în care datele sunt transmise este, de fapt. 973 00:54:35,390 --> 00:54:40,510 Dar de-a lungul drum, acesta se va întâlni obstacole diferite. 974 00:54:40,510 --> 00:54:43,770 Pe lângă aceste routere, există lucruri numite firewall-uri de pe Internet, 975 00:54:43,770 --> 00:54:46,680 și astfel de date, cum ar fi faptul că am fost doar transmiterea 976 00:54:46,680 --> 00:54:49,720 la mine la Stanford, de la mine la Cambridge, 977 00:54:49,720 --> 00:54:54,560 este trimis la, la acest nivel, ceva numit o adresă IP. 978 00:54:54,560 --> 00:54:57,340 Am văzut acest lucru în urmă cu un moment, și o adresă IP 979 00:54:57,340 --> 00:55:02,480 este doar o adresă numerică a w.x.y.z formularului, 980 00:55:02,480 --> 00:55:08,070 în cazul în care fiecare dintre acestea este între, da sau de a lua, 0 și 255, 981 00:55:08,070 --> 00:55:10,080 daca nu se poate folosi destul de toate acele numere. 982 00:55:10,080 --> 00:55:14,220 Dar fiecare dintre aceste titularilor de locuri este un număr între 0 și 255. 983 00:55:14,220 --> 00:55:16,820 Deci, o adresă IP în aceste zile este de 32 de biți. 984 00:55:16,820 --> 00:55:20,780 >> Acum, că ne dă adrese de cate posibilă IP din lume? 985 00:55:20,780 --> 00:55:24,420 Aproximativ 4 miliarde de euro, pentru ca în orice moment suntem de numărare în competențele de 2 986 00:55:24,420 --> 00:55:27,760 tot drumul până la 32 din ceva, care de obicei ne oferă 4 miliarde. 987 00:55:27,760 --> 00:55:30,160 Așa că o mulțime de adrese IP, dar s-ar putea fi citit, 988 00:55:30,160 --> 00:55:32,410 sau s-ar putea observa acum în presa populară, 989 00:55:32,410 --> 00:55:36,020 un impuls spre o nouă versiune de IP numit IPv6. 990 00:55:36,020 --> 00:55:38,290 Chiar acum suntem folosind versiunea 4. 991 00:55:38,290 --> 00:55:41,060 Există într-adevăr nu a fost o versiunea 5, suntem doar sari dreptul la 6. 992 00:55:41,060 --> 00:55:46,760 Versiunea 6 se va folosi 128 de biți pentru adrese IP, care este imens sperii. 993 00:55:46,760 --> 00:55:49,430 Noi nu ar trebui să ruleze afară pentru ceva timp acum, 994 00:55:49,430 --> 00:55:52,980 dar am început să curgă fără adrese IP versiunea 4, 995 00:55:52,980 --> 00:55:56,110 pentru că toți dintre noi au lucruri nu doar ca laptop-uri si desktop-uri, 996 00:55:56,110 --> 00:55:58,700 o mulțime de noi au telefoane, o mulțime de noi sunt și alte dispozitive 997 00:55:58,700 --> 00:56:01,600 la fel ca TiVo și așa au adrese IP ei înșiși. 998 00:56:01,600 --> 00:56:03,720 Harvard în sine are zeci de mii de calculatoare. 999 00:56:03,720 --> 00:56:07,970 Deci, lumea este cu adevărat în criză de adrese IP, cel puțin din acest formular. 1000 00:56:07,970 --> 00:56:10,340 Asa ca, in urmatorii cativa ani, aveți de gând pentru a vedea adresele 1001 00:56:10,340 --> 00:56:12,870 pe calculatoarele proprii, probabil, se schimba incet 1002 00:56:12,870 --> 00:56:16,740 ca mai multe companii și universități încep să sprijine versiune mai nouă. 1003 00:56:16,740 --> 00:56:22,770 Dar o adresă IP nu este suficientă pentru a solicita un calculator datele din computerul B. 1004 00:56:22,770 --> 00:56:24,950 Deoarece calculatorul B ar putea fi un server, 1005 00:56:24,950 --> 00:56:27,600 și un server, cum am menționat mai devreme, pot face buchete de lucruri. 1006 00:56:27,600 --> 00:56:29,940 Acesta poate găzdui pagini de web, acesta poate fi un server de e-mail, 1007 00:56:29,940 --> 00:56:32,310 acesta poate fi un server de Skype, acesta poate fi un server de chat G. 1008 00:56:32,310 --> 00:56:35,870 >> Toate aceste servicii diferite, care pot fi furnizate pe un server 1009 00:56:35,870 --> 00:56:38,330 ar putea toate, fizic, fie pe aceeași mașină. 1010 00:56:38,330 --> 00:56:40,380 Deci, în plus față de adrese IP, 1011 00:56:40,380 --> 00:56:43,250 lumea are lucruri numite porturi de pe internet. 1012 00:56:43,250 --> 00:56:47,830 Un port este doar un număr, astfel încât nu există un număr unic pentru HTTP. 1013 00:56:47,830 --> 00:56:50,280 Numărul său este de 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP folosește, de asemenea, numărul 443, dar mai ales, pentru HTTPS criptate. 1015 00:56:55,870 --> 00:57:00,030 Ori de câte ori vedeți e, pentru sigur, care folosește un alt număr. 1016 00:57:00,030 --> 00:57:06,580 Există alte numere, cum ar fi 25, utilizate pentru ceva numit SMTP, altfel cunoscut sub numele de e-mail. 1017 00:57:06,580 --> 00:57:09,620 E ceva numit 22 pentru SSH, 1018 00:57:09,620 --> 00:57:11,850 și există o grămadă de alte porturi acolo. 1019 00:57:11,850 --> 00:57:14,460 Acum, noi, oamenii, a se vedea rareori aceste numere. 1020 00:57:14,460 --> 00:57:21,970 Cu toate acestea, atunci când tastați o adresă cum ar fi http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 browser-ul este inserarea în secret 80, pentru ca esti folosind HTTP. 1022 00:57:26,560 --> 00:57:30,630 Dacă vă, în schimb, HTTPS tip, se introduce secret 443. 1023 00:57:30,630 --> 00:57:35,180 Și putem vedea acest tip de manual dacă am trage o Brower 1024 00:57:35,180 --> 00:57:41,850 și du-te la http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Prin urmare, în mod explicit, nu doar invocând numele site-ului 1026 00:57:44,550 --> 00:57:47,650 dar portul pe care vreau să vorbesc, și a lovit introduceți. 1027 00:57:47,650 --> 00:57:50,170 Observă că dispare, pentru că browser-ul își asumă, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, eu nu sunt chiar de gând să deranjez arată că pentru tine. 1029 00:57:53,360 --> 00:57:56,400 Dar motivul pentru aceasta este că, dacă de fapt am vrut să trimită pe cineva un e-mail, 1030 00:57:56,400 --> 00:58:02,340 Mi-ar fi cu adevărat de a le trimite pe portul 25, aceasta fiind SMTP. 1031 00:58:02,340 --> 00:58:04,890 Un pic de o simplificare, dar unii dintre voi aveți prieteni 1032 00:58:04,890 --> 00:58:09,290 care lucrează efectiv la Facebook, și ei, în mod similar, au servere care primesc e-mail. 1033 00:58:09,290 --> 00:58:12,610 >> De fiecare dată când trimiteți un e-mail, Gmail ceea ce face pentru tine 1034 00:58:12,610 --> 00:58:14,960 sau Outlook sau orice program pe care il folosesc, 1035 00:58:14,960 --> 00:58:19,270 e un fel de a introduce acest număr secret la fel de bine, 25, în acest caz. 1036 00:58:19,270 --> 00:58:24,490 Este această combinație de adresă IP și numărul care identifică în mod unic 1037 00:58:24,490 --> 00:58:29,190 un calculator pe Internet și un serviciu specific pe acel computer. 1038 00:58:29,190 --> 00:58:33,460 Acum, desigur, cele mai multe dintre noi au, probabil, niciodată nu tastat manual o adresă IP. 1039 00:58:33,460 --> 00:58:37,340 Poate că aveți în aparat, dar în lumea reală, nu atât de mult. 1040 00:58:37,340 --> 00:58:42,750 De ce nu ne tastați adresele IP în browsere? 1041 00:58:42,750 --> 00:58:45,860 Acesta ar lucra, de fapt, putem vedea acest lucru; lasă-mă să-ți arăt 1042 00:58:45,860 --> 00:58:50,000 o singură comandă de altă natură care ar trebui să lucreze cel mai mult de oriunde de pe campusul Harvard pe un Mac sau un PC. 1043 00:58:50,000 --> 00:58:53,970 E această comandă numit nslookup, numele serverului de căutare. 1044 00:58:53,970 --> 00:58:59,960 Dacă mă uit în sus www.cnn.com, se dovedește că are CNN - Oh, interesant. 1045 00:58:59,960 --> 00:59:03,180 CNN a început să folosească Amazon servicii web. 1046 00:59:03,180 --> 00:59:06,380 S-ar putea ști de cloud computing, unul Amazon dintre marii jucatori din cloud computing. 1047 00:59:06,380 --> 00:59:10,240 Ce-am făcut a fost, i-am spus, "Dă-mi adresa serverului de web CNN," 1048 00:59:10,240 --> 00:59:14,090 dar se pare că serverul de web al CNN este gestionat de Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web servicii, acest lucru sugerează. 1050 00:59:16,030 --> 00:59:19,680 Și adresa serverului pe care este aceasta aici. 1051 00:59:19,680 --> 00:59:22,350 Deci, eu nu sunt sigur dacă acest lucru va funcționa, pentru că ei nu au folosit pentru a utiliza Amazon. 1052 00:59:22,350 --> 00:59:32,830 Dar hai să încercăm acest lucru; adresa http://, IP, introduceți, și - 1053 00:59:32,830 --> 00:59:35,690 se merge la muncă? 1054 00:59:35,690 --> 00:59:39,280 Da. Acesta este de gând să lucreze. Internetul este super-lent astăzi. 1055 00:59:39,280 --> 00:59:43,680 Dar, într-o clipă, veți vedea o poveste știri. 1056 00:59:43,680 --> 00:59:48,360 Așa. Bank of America a fost dat in judecata. Bine. 1057 00:59:48,360 --> 00:59:54,000 >> Acest lucru se datorează faptului că această adresă IP doar se întâmplă să prin sinonim cu www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Desigur, ar fi de introducere pe piață oribil să spun, vizitati-ne pe Web la 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Niciodată nu aș aminti. Deci, chiar și în aceste zile s-ar putea aminti lucruri 1060 01:00:02,370 --> 01:00:07,210 cum ar fi 1-800-COLLECT sau mnemonice lumea a venit cu de numere de telefon. 1061 01:00:07,210 --> 01:00:09,540 Care, înainte de telefoane mobile, au fost destul de greu să-mi amintesc 1062 01:00:09,540 --> 01:00:11,800 până când ar trebui să scrie doar în și uita despre asta. 1063 01:00:11,800 --> 01:00:15,730 Deci Web, de asemenea, are această convenție de nume și adrese IP, 1064 01:00:15,730 --> 01:00:17,770 și există aceste lucruri acolo numit servere DNS, 1065 01:00:17,770 --> 01:00:23,870 sisteme de servere de nume de domeniu, care traduce adrese IP în nume și viceversa. 1066 01:00:23,870 --> 01:00:26,340 Deci asta este ceea ce se întâmplă pe sub capota. 1067 01:00:26,340 --> 01:00:29,540 În final, avem TCP / IP, care este acest protocol nivel foarte redus 1068 01:00:29,540 --> 01:00:32,570 că, într-adevăr, devine doar 0 și 1, vizavi de Internet, 1069 01:00:32,570 --> 01:00:36,030 și-l face acest lucru prin punerea lor într-un plic virtual, 1070 01:00:36,030 --> 01:00:38,820 dacă vreți, și scris pe exteriorul plicului 1071 01:00:38,820 --> 01:00:43,930 adresa IP a destinației, precum și numărul de port numerică 1072 01:00:43,930 --> 01:00:47,520 de serviciu pe care destinație că vrea să vorbească. 1073 01:00:47,520 --> 01:00:51,060 Între timp, pe plic e, de asemenea, ceva cunoscut ca o adresă de retur, 1074 01:00:51,060 --> 01:00:55,600 care este adresa ta IP, astfel încât atunci când CNN devine un pachet de informații de la tine, 1075 01:00:55,600 --> 01:00:58,710 deschide acest plic virtuale, vede că doriți pagina de pornire, 1076 01:00:58,710 --> 01:01:04,630 știe din partea expeditorului acestui pachet virtuale care să trimită înapoi HTML pentru a. 1077 01:01:04,630 --> 01:01:07,470 Deci, haideți să aruncăm o privire la acest lucru în detaliu un pic mai mult. 1078 01:01:07,470 --> 01:01:11,370 Acest lucru este de la o companie numita Ericson, de la câțiva ani în urmă. 1079 01:01:11,370 --> 01:01:14,780 Și-au luat unele libertăți cu modul în care funcționează de fapt Internetul, 1080 01:01:14,780 --> 01:01:18,920 dar înfățișează o imagine mult mai vizual decât simpla creta aici. 1081 01:01:18,920 --> 01:01:26,690 Așa că am dai "un pic de Internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Naratorul] Pentru prima dată în istorie, 1083 01:02:29,840 --> 01:02:35,260 oameni și utilaje lucrează împreună, realizarea unui vis. 1084 01:02:35,260 --> 01:02:38,910 O forță unind care nu cunoaște limite geografice. 1085 01:02:38,910 --> 01:02:43,230 Indiferent de rasă, crez, culoare sau. 1086 01:02:43,230 --> 01:02:47,770 O nouă eră în care comunicarea aduce oamenii impreuna cu adevărat. 1087 01:02:47,770 --> 01:02:50,070 Acest lucru este 1088 01:02:50,070 --> 01:02:54,980 Dawn of Net. 1089 01:02:54,980 --> 01:03:04,640 Vrei să știi cum funcționează? Click aici pentru a începe călătoria dvs. în Net. 1090 01:03:04,640 --> 01:03:07,890 Acum, exact ceea ce sa întâmplat atunci când ați făcut clic pe link-ul? 1091 01:03:07,890 --> 01:03:10,150 Ai început un flux de informații. 1092 01:03:10,150 --> 01:03:13,310 Această informație de circula în jos dvs. de mailroom personal 1093 01:03:13,310 --> 01:03:18,500 în cazul în care Mr. pachete IP ea, eticheteaza, și trimite-o pe drum. 1094 01:03:18,500 --> 01:03:20,960 Fiecare pachet este limitat în dimensiunea sa. 1095 01:03:20,960 --> 01:03:23,880 Camera de e-mail trebuie să decidă cum să împartă informații 1096 01:03:23,880 --> 01:03:26,070 și cum să-l împachetați. 1097 01:03:26,070 --> 01:03:29,550 Acum, pachetul are nevoie de o etichetă care conține informații importante 1098 01:03:29,550 --> 01:03:35,570 cum ar fi adresa expeditorului, adresa destinatarului, precum și tipul de pachet este. 1099 01:03:51,700 --> 01:03:54,980 Deoarece acest pachet special, care iese pe internet, 1100 01:03:54,980 --> 01:03:57,720 acesta devine, de asemenea, o adresa pentru serverul proxy, 1101 01:03:57,720 --> 01:04:01,520 care are o funcție specială, așa cum vom vedea mai târziu. 1102 01:04:01,520 --> 01:04:06,650 Pachetul este lansat acum pe rețeaua locală, sau LAN. 1103 01:04:06,650 --> 01:04:10,160 Această rețea este utilizată pentru a conecta toate calculatoarele locale " 1104 01:04:10,160 --> 01:04:15,900 routere, imprimante, etcetera, pentru schimbul de informații în interiorul zidurilor fizice ale clădirii. 1105 01:04:15,900 --> 01:04:20,290 LAN este un loc destul de necontrolat, și, din păcate, 1106 01:04:20,290 --> 01:04:23,950 accidente se poate întâmpla. 1107 01:04:31,190 --> 01:04:34,710 Autostrada de LAN este dotat cu toate tipurile de informații. 1108 01:04:34,710 --> 01:04:38,900 Acestea sunt pachete IP, Novell pachete, pachete AppleTalk. 1109 01:04:38,900 --> 01:04:41,270 Ei merg împotriva traficului, ca de obicei. 1110 01:04:41,270 --> 01:04:44,260 Router-ul local, citește adresa și, dacă este necesar, 1111 01:04:44,260 --> 01:04:48,520 ridică pachetul pe o altă rețea. 1112 01:04:48,520 --> 01:04:54,270 Ah, router-ul. Un simbol de control într-o lume aparent dezorganizat. 1113 01:04:54,270 --> 01:05:05,480 [Router mormăind și să vorbesc cu ea însăși] 1114 01:05:05,480 --> 01:05:10,030 >> [Naratorul] Nu el este, sistematic, nepăsător, metodic, 1115 01:05:10,030 --> 01:05:14,150 conservatoare, și, uneori, nu destul de la curent. 1116 01:05:14,150 --> 01:05:17,680 Dar cel puțin el este exact, pentru cea mai mare parte. 1117 01:05:32,270 --> 01:05:36,820 Pe masura ce pachetele părăsească router-ul, ei fac drumul lor spre Internet corporative 1118 01:05:36,820 --> 01:05:40,830 și capul pentru comutatorul de router. 1119 01:05:40,830 --> 01:05:46,250 Un pic mai eficient decât router, router-ul comutatorul joacă rapid și pierde cu pachete IP, 1120 01:05:46,250 --> 01:05:48,920 abil le rutare de-a lungul drum. 1121 01:05:48,920 --> 01:05:52,130 Un "vrăjitor de pinball, 'digitală dacă vrei. 1122 01:05:52,130 --> 01:06:04,270 [Comutatorul Router vorbesc cu ea însăși] 1123 01:06:09,830 --> 01:06:12,150 [Naratorul] În ceea ce pachetele ajung la destinație, 1124 01:06:12,150 --> 01:06:14,740 acestea sunt preluate de interfață de rețea, 1125 01:06:14,740 --> 01:06:18,040 gata de a fi trimis la nivelul următor. 1126 01:06:18,040 --> 01:06:21,010 În acest caz, proxy. 1127 01:06:21,010 --> 01:06:25,040 Proxy este folosit de multe companii ca un fel de om de mijloc 1128 01:06:25,040 --> 01:06:27,630 în scopul de a diminua sarcina pe conexiunea la Internet 1129 01:06:27,630 --> 01:06:32,240 și din motive de securitate, precum și. 1130 01:06:32,240 --> 01:06:38,750 După cum puteți vedea, pachetele sunt toate de diferite dimensiuni în funcție de conținutul lor. 1131 01:06:55,210 --> 01:07:01,890 Proxy deschide pachetul și caută adresa Web sau URL. 1132 01:07:01,890 --> 01:07:04,950 În funcție de faptul dacă adresa este acceptabilă, 1133 01:07:04,950 --> 01:07:08,000 pachetul este trimis la internet. 1134 01:07:13,890 --> 01:07:19,630 Există, totuși, unele adrese care nu îndeplinesc cu aprobarea de proxy. 1135 01:07:19,630 --> 01:07:25,680 Asta este de a spune, orientări corporative sau de management. 1136 01:07:25,680 --> 01:07:30,580 Acestea sunt sumar tratate. 1137 01:07:30,580 --> 01:07:32,410 Vom avea nimic din toate astea. 1138 01:07:32,410 --> 01:07:36,350 Pentru cei care o fac, e din nou la drum. 1139 01:07:46,850 --> 01:07:53,310 >> Următorul, firewall-ul. 1140 01:07:53,310 --> 01:07:57,410 Firewall servește două scopuri. 1141 01:07:57,410 --> 01:08:02,420 Acesta previne unele lucruri destul de urâte la Internet de la venirea in pentru a Intranet, 1142 01:08:02,420 --> 01:08:10,280 și se poate preveni, de asemenea, informații sensibile corporative de a fi trimise pe internet. 1143 01:08:10,280 --> 01:08:12,980 Odată prin firewall, un router preia pachetul 1144 01:08:12,980 --> 01:08:18,180 și-l plasează pe un drum mult mai îngust, sau latime de banda, cum se spune. 1145 01:08:18,180 --> 01:08:23,720 Evident, drumul nu este suficient de larg pentru a lua-le pe toate. 1146 01:08:23,720 --> 01:08:29,319 Acum, s-ar putea întreba ce se întâmplă cu toate acele pachetele pe care nu-l fac de-a lungul drum. 1147 01:08:29,319 --> 01:08:32,270 Ei bine, atunci când domnul IP nu primește o confirmare de primire 1148 01:08:32,270 --> 01:08:35,000 faptul că un pachet a fost primit în timp util, 1149 01:08:35,000 --> 01:08:39,890 el pur și simplu trimite un pachet de înlocuire. 1150 01:08:39,890 --> 01:08:44,760 Acum suntem gata pentru a intra în lumea internetului. 1151 01:08:44,760 --> 01:08:49,370 Un păianjen de rețele interconectate care se întind pe glob întreaga noastră. 1152 01:08:49,370 --> 01:08:56,050 Aici, routere si switch-uri să stabilească legături între rețelele. 1153 01:08:56,050 --> 01:08:59,200 Acum, Net este un mediu complet diferit de cel care le veți găsi 1154 01:08:59,200 --> 01:09:01,569 în interiorul zidurilor protectoare ale LAN-ul. 1155 01:09:01,569 --> 01:09:04,060 Aici, e Vestul Sălbatic. 1156 01:09:04,060 --> 01:09:06,359 O mulțime de spațiu, o mulțime de oportunități, 1157 01:09:06,359 --> 01:09:09,760 o multime de lucruri pentru a explora și de locuri pentru a merge. 1158 01:09:09,760 --> 01:09:12,760 Datorită foarte putin control și reglementare, 1159 01:09:12,760 --> 01:09:18,300 idei noi găsiți sol fertil pentru a împinge plicul a posibilităților lor. 1160 01:09:18,300 --> 01:09:22,330 Dar, din cauza acestei libertăți, anumite pericole pândesc de asemenea. 1161 01:09:22,330 --> 01:09:27,000 Vei Nu se știe niciodată când veți întâlni ping temut de moarte, 1162 01:09:27,000 --> 01:09:29,890 o versiune specială a unui ping cerere normală, 1163 01:09:29,890 --> 01:09:35,720 un idiot care crede până la mizeria gazde încrezători. 1164 01:09:35,720 --> 01:09:39,130 Calea pachetele noastre pot fi luați prin satelit, 1165 01:09:39,130 --> 01:09:43,090 linii telefonice, fără fir, prin cablu sau chiar transoceanic. 1166 01:09:43,090 --> 01:09:46,520 Ei nu iau întotdeauna cele mai rapide rute mai scurte sau posibil, 1167 01:09:46,520 --> 01:09:50,290 dar ei vor ajunge acolo în cele din urmă. 1168 01:09:50,290 --> 01:09:55,230 Poate că de aceea este uneori numit "Stai World Wide." 1169 01:09:55,230 --> 01:09:57,980 Dar când totul funcționează fără probleme, 1170 01:09:57,980 --> 01:10:03,800 puteți ocoli globul de cinci ori la picătură de o pălărie, literalmente. 1171 01:10:03,800 --> 01:10:08,230 Și tot pentru costul unui apel local sau mai puțin. 1172 01:10:08,230 --> 01:10:15,070 Aproape de sfârșitul anului destinația noastră, vom găsi un alt paravan de protecție. 1173 01:10:15,070 --> 01:10:18,420 >> În funcție de perspectiva ca un pachet de date, 1174 01:10:18,420 --> 01:10:23,730 firewall-ul ar putea fi un bastion de securitate sau de un adversar de temut. 1175 01:10:23,730 --> 01:10:28,530 Totul depinde de ce parte ești și ce intentiile tale sunt. 1176 01:10:28,530 --> 01:10:34,990 Firewall-ul este conceput pentru a permite, în numai acele pachete care îndeplinesc criteriile sale. 1177 01:10:34,990 --> 01:10:39,360 Acest firewall este de operare pe porturile 80 și 25. 1178 01:10:39,360 --> 01:10:46,630 Toate încercările de a intra prin porturile sunt închise pentru afaceri. 1179 01:10:57,660 --> 01:11:03,480 Portul 25 este utilizat pentru transmisii de pachete e-mail, 1180 01:11:03,480 --> 01:11:10,720 în timp ce portul 80 este intrarea pentru pachetele de pe Internet la serverul de web. 1181 01:11:10,720 --> 01:11:15,080 În interiorul firewall, pachetele sunt verificate mai bine. 1182 01:11:15,080 --> 01:11:17,970 Unele pachete se face ușor prin vamă, 1183 01:11:17,970 --> 01:11:21,420 în timp ce altele doar uita-te un pic dubios. 1184 01:11:21,420 --> 01:11:24,060 Acum, ordonatorul de firewall-ul nu este ușor de păcălit, 1185 01:11:24,060 --> 01:11:32,120 cum ar fi atunci când acest ping de pachete de moarte incearca sa se deghizeze intr-un pachet ping normală. 1186 01:11:32,120 --> 01:11:37,520 [Ofițer Firewall vorbesc cu pachete] 1187 01:11:37,520 --> 01:11:40,510 [Naratorul] Pentru aceste pachete suficient de norocosi pentru a face atât de departe, 1188 01:11:40,510 --> 01:11:45,730 călătoriei este aproape de peste. 1189 01:11:45,730 --> 01:11:52,130 E doar o linie pe interfața care urmează să fie luate în sus, în serverul de web. 1190 01:11:52,130 --> 01:11:55,440 În zilele noastre, un server web poate rula pe multe lucruri, 1191 01:11:55,440 --> 01:11:59,230 de la un mainframe la un web cam la computerul de pe birou. 1192 01:11:59,230 --> 01:12:01,720 De ce nu-ti frigider? 1193 01:12:01,720 --> 01:12:04,870 Cu configurarea corectă, puteți afla dacă aveți makings 1194 01:12:04,870 --> 01:12:08,390 pentru pui Cacciatore, sau dacă trebuie să mergeți la cumpărături. 1195 01:12:08,390 --> 01:12:11,760 Amintiți-vă, aceasta este începutul Net. 1196 01:12:11,760 --> 01:12:17,310 Aproape orice este posibil. 1197 01:12:17,310 --> 01:12:20,440 Unul câte unul, pachetele sunt primite, 1198 01:12:20,440 --> 01:12:26,320 deschis, și despachetate. 1199 01:12:26,320 --> 01:12:31,200 Informațiile pe care le conțin, care este, solicitarea dvs. de informații, 1200 01:12:31,200 --> 01:12:34,830 este trimis pe cererea serverul de web. 1201 01:12:41,540 --> 01:12:47,140 De pachete de sine este reciclat, 1202 01:12:47,140 --> 01:12:57,570 gata de a fi folosit din nou, și completat cu datele dumneavoastră solicitate, 1203 01:12:57,570 --> 01:13:03,340 abordate, și a trimis pe drumul înapoi la tine. 1204 01:13:03,340 --> 01:13:13,250 Înapoi trecut firewall, routere, și pe la Internet prin intermediul. 1205 01:13:13,250 --> 01:13:21,020 Înapoi prin firewall-ul companiei 1206 01:13:21,020 --> 01:13:24,180 și pe interfața, 1207 01:13:24,180 --> 01:13:31,180 gata de a furniza browser-ul web cu informațiile pe care le-ați solicitat. 1208 01:13:31,180 --> 01:13:39,840 Asta este, acest film. 1209 01:13:39,840 --> 01:13:43,550 Mulțumit de eforturile lor, și de încredere lume mai bună, 1210 01:13:43,550 --> 01:13:50,250 pachete de date demne de încredere ne călărească pe blissfully în apus de soare de o altă zi, 1211 01:13:50,250 --> 01:13:56,880 știind pe deplin că au servit stăpânii lor bine. 1212 01:13:56,880 --> 01:14:02,560 Acum, nu este faptul că un final fericit? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Ok, asta e de ajuns. Ne vedem săptămâna viitoare. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]