DOUG LLOYD: Dacă ați fost uitam aceste videoclipuri în ordinea pe care vă recomandăm, suntem pe cale să se supună pic de o schimbare de cultură. Pentru că acum, vom incepe vorbind despre internet si web tehnologii. Deci, până acum, ne-am într-adevăr făcut o mulțime de C. Și când am fost derularea programelor noastre, am fost difuzate le din linia de comandă. Asta e destul de mult modul în care utilizatorii au interactionat cu programele pe care le scrie. Ei aleg ceva pentru a solicita, ceva se întâmplă în fereastra terminalului, și apoi se face. Uneori s-ar putea avea persistente date care rămâne după aceea. Dar asta e destul de mult. E la linia de comandă. Este singurul mod utilizatorul poate interacționa. Din acest moment, vom începe tranzitia astfel încât utilizatorii pot interacționa cu site-urile noastre. Așa că am de gând să fi scris site-uri web, care nu sunt scrise în C, dar sunt scrise într-o varietate de alte limbaje de programare, inclusiv PHP, și este un fel de limbi helper, HTML, CSS, și altele asemenea. Deci vom începe vorbind despre aceste lucruri. Înainte de a intra în web programare în sine, Cred că este, probabil, un bun ideea de a face un pas înapoi și să vorbească despre modul în care calculatoarele și oamenii interacționează pe web. Deci acest film este într-adevăr un primer, un ghid de bază, la internet. Acum, avertismentul aici este CS50 nu este o clasă de rețea. Deci, ce vom vorbi aici este destul de ridicat nivel. Noi nu vom intra în orice nivel scăzut detalii de cum funcționează toate astea. Dacă sunteți interesat în asta, aș puternic recomanda de a lua o clasă pe rețele de calculatoare. Și s-ar putea spune chiar am minciună albă sau două doar în scopul de a face înțelegere generală clară. Deci, cu care a spus, hai sa vorbim despre cum interacționează cu internetul. Deci, aici suntem. Iată noi. Suntem destul de nerăbdare să obtinerea pe internet, care cum știm cu toții, este chock plin de pisici. Acum nu ne-am conecta la Internetul ca asta? Ei bine, probabil că nu. Intuitiv, știți că, spunem, de exemplu, atunci când vă schimbați dvs. Wi-Fi de rețea de pe computer, tu nu vezi unul numit internet cu excepția cazului în care doar așa se întâmplă să fie numele locale Wi-Fi. Dreapta? Este, de obicei ceva de genul acasă. Sau, dacă sunteți la locul de muncă, s-ar putea fie numele companiei dumneavoastră. Nu e doar un opțiune numită internet. Și așa ceva sau unele lucruri există în când între vrem să se conecteze la internet. Care sunt unele din acele lucruri? Ei bine, vom vorbi despre asta. De asemenea, vom vorbi despre unele dintre cele mai importante lucruri avem nevoie pentru a putea pentru a vă conecta la internet. Și primul dintre acestea lucruri este o adresă IP. Deci ai auzit, probabil, adresa IP pe termen înainte. Ce inseamna? Ei bine, o adresă IP este în principiu, un identificator unic de pe computer pe o rețea. La fel ca în fiecare casă sau de birouri are o adresă unică la care s-ar putea trimite un e-mail. În mod similar, în cazul în care fiecare calculator dorește să primească date sau trimite date, trebuie să aibă o adresă unică. Astfel încât atunci când informații este trimis sau primit, este în curs de trimis de la sau primite în locația corectă. Acest sistem adresare, așa cum am a spus, se numește abordarea IP. IP este standuri pentru Internet Protocol, care vom vorbi despre din nou în scurt timp. Acum, ce abordează IP arata ca? Ei bine, sistemul de practic a fost, atunci când a fost pus în aplicare în primul rând, pentru a da fiecare computer o adresa unica pe 32 de biți. Asta-i o mulțime de biți. Asta e de 4 miliarde de adrese. Și, în general, în loc să folosească notație hexazecimală, care am folosit anterior în contextul indicii în C pentru a vorbi despre adresele, Noi, de obicei reprezintă IP adrese într-un pic mai mult de un amical uman Astfel, le reprezintă ca patru grupuri de 8 biți reprezentate ca numere zecimale. Deoarece oamenii nu vorbesc frecvent hexazecimal, daca nu esti de programare. Dar oamenii care folosesc internetul nu sunt neapărat programatori. Și așa făcându-l ușor și accesibil pentru ei pentru a putea vorbi despre ceea ce lor Adresa IP este în cazul în care poate nevoie pentru a apela la cineva pentru a depana ceva, e mai bine să-l facă în mai mult număr comun zecimal convențional format. Și astfel o adresă IP doar arata destul de mult ca aceasta, w.x.y.z, în cazul în care fiecare dintre aceste scrisori reprezintă o valoare non-negativă în intervalul de la 0 la 255. Amintiti-va ca un număr de 8 biți poate deține 256 valori distincte. Și așa de aceea gama noastră este de 0 la 255. Și avem patru grupuri de 8 biți pentru un total de 32 de biți. Și astfel o adresă IP poate arata ceva de genul asta. Aceasta este un fel de generic implicit adresa IP, 123.45.67.89. Toate acestea sunt în intervalul de la 0 la 255, astfel că este o adresă IP validă. Aici, la Universitatea Harvard, toate adresele noastre IP începe cu 140.247. Asta e doar modul în care PA adrese în acest spațiu geografic au fost atribuite. Și astfel aceasta ar putea fi o adresă IP care ar putea exista aici, la Harvard. Deci, după cum am spus, dacă fiecare adresă IP este de 32 de biți, avem aproximativ 4 miliarde pentru a da afară, un pic mai mult de 4 miliarde de euro. Dar putem vedea un fel de problemă, nu? Care este populația lumii chiar acum? Ei bine, e pe undeva la nord de 7 miliarde de oameni. Și în lumea occidentală cel puțin, cei mai mulți oameni au mai mult de un dispozitiv capabil de conectivitate la internet. Am unul chiar aici. Și am încă unul în buzunar. Și am o înapoi în biroul meu. Și așa că e trei. Și că nici măcar nu conta cele pe care le am acasă, de asemenea. Și așa că e un fel de problemă, nu? Avem cel puțin 7 miliarde de oameni și doar 4 miliarde de adrese. Și fiecare dispozitiv ar trebui care urmează să fie identificate în mod unic. Ne-am dezvoltat unele soluții să se ocupe de această problemă, ceva numit un privat Adresa IP, care nu suntem mergi la a lua în în acest film. Dar în esență, permite în continuare web, internet, la fel de fals un pic că aveți un unic Adresa de a avea adrese private și apoi funneling-le prin o singură adresă, care este împărtășită de mai multe calculatoare diferite. Dar asta nu e într-adevăr o soluție pe termen lung. Chiar că nu este fix va dura pentru totdeauna. Și astfel avem nevoie de un alt mod de a face cu acest lucru. Deci, după cum am spus, am avut aproximativ 4 miliarde de euro. Dar asta nu se va fi destul de bun, nu? Și astfel modul în care aceasta are sa decis acolo suntem O să se ocupe de acest lucru este pentru a face adrese IP mai lungi. În loc de adrese pe 32 de biți, suntem Va trebui adrese pe 128 de biți. Deci, în loc de 4 miliarde adrese, vom pentru a avea acest număr foarte mare de adrese, care este 340 miliarde de miliarde miliarde de euro, astfel încât o mulțime de adrese IP. Și acest nou sistem se numește IPv6 este de obicei cum se face referire. Schema de vechi fiind IPv4. Este un pic de o problemă în că această problemă a fost stie despre pentru un timp foarte lung. Și veți vedea acest foarte mult în context de computere și de calcul. Suntem bun la probleme așteaptă. Dar suntem prost la a face cu ei chiar dacă știm despre ele. Deci, IPv6 a fost în jurul pentru un timp. Și numai în ultimii doi ani ne-am de fapt, a început introducerea treptată în aceste adrese IPv6 de eliminare treptată a adresele IPv4. Dar unele locuri să le aibă. Si arata similare la o adresă IP regulat. Dar ele sunt mult mai mult. Deci, în loc de a avea acum patru grupuri de 8 octeți pentru adresa, acum avem opt grupuri de 16 bytes. Și de 8 ori 16 este de 128. Și noi reprezintă acestea în mai puțin Formularul hexazecimal convențional. Deoarece au un număr de 16 biți înseamnă că în loc să fie un interval de la 0 la 255, Am avea o gamă de la 0 la 65535. Și așa mai departe cu un buchet din cei lipite împreună ar fi foarte greu de citit. Și așa vom folosi de obicei, hex doar din comoditate. Și astfel o adresă IPv6 tipic ar putea arata ceva de genul asta. Este cu siguranță o mulțime mai mult decât adresa IPv4 am văzut înainte. Dar aceasta ar fi o adresă IPv6 validă. Acesta este, de asemenea despre adresa IPv6. Acest lucru se întâmplă să aparțină Google. Și există un aviz grămadă de zerouri acolo. Uneori aceste adrese poate obține atât de mult timp. Si din moment ce suntem încă destul de devreme în IPv6, uneori pot exista bucăți mari de zerouri acolo care nu avem nevoie. Dacă sunteți de lectură acest lucru cu voce tare, e 2001.4860.4860.0.0.0.0.8844. E un fel de mult, nu? Deci, dacă vedeți o grămadă de zerouri, s-ar putea uneori vezi o adresa IPv6 de acest fel, în cazul în care omite zerouri și de a folosi un colon dublu în schimb. Acest lucru este în regulă, totuși. Pentru că știm că există ar trebui să fie de opt bucăți distincte. Și astfel prin implicație, vom vedea patru. Deci, noi știm că trebuie să existe patru seturi de zerouri ca aceasta, ca să umple în. Astfel încât, uneori, s-ar putea vedea o adresă IPv6 nu au opt bucăți separate, cum ar fi facem noi aici. S-ar putea vedea aratand ca aceasta. Și asta înseamnă doar că tot ceea ce nu vezi în între cazul în care acest dublu colon este este doar zero, separat. Deci bine. Știm un pic mai mult despre adrese IP acum. Dar cum putem lua pe ei? Nu putem alege doar unul ne-o dorim. Dacă am făcut asta, am putea ajunge luptă cineva pentru aceeași adresă IP. Sau cineva ar putea avea ales o anterior. Dacă încercăm și să-l, vom pentru a rula într-un pic de o problemă. Și așa nu putem alege adresa IP pe care ne-o dorim. Deci modul în care avem o Adresa IP este undeva între calculatorul nostru și internet, că internet de mare acolo, există ceva numit un server DHCP, un Dynamic Host Configuration Protocol serverul. E o gura mare de text. Dar, de fapt tot ce face este vă atribuie o adresă IP. Serverul DHCP are o listă de adresează că poate atribui în mod valabil. Și vă oferă o. Asta e destul de mult tot ce e de ea. Acum, înainte de DHCP, această sarcină de atribuirea de adrese a scăzut la un administrator de sistem. Deci, o persoană reală ar trebui pentru a atribui manual computer și adresa atunci când conectat la o rețea. Deci, DHCP doar un fel de automatizează această proces de oferindu-vă o adresă IP. Dar asta e modul în care-l. E doar un program de funcționare undeva între tine și a internetului, care are o bancă de Adrese IP care se poate da afară. Și când vă conectați la rețea, vă oferă o. Așa că haideți să reexamineze această diagramă. Undeva între tine și internet, există un server DHCP. BINE. Așa că e bine. Acum, hai sa vorbim despre DNS. Deci am vorbit cu toate că aceste adrese IP. Și știm că, dacă suntem O să identifice în mod unic un dispozitiv de pe internet, aceasta trebuie să aibă o adresă unică. Și am putea vizita pe care adresa, dacă am vrut să. Dar nu ați introdus probabil în ceva de genul 192.168.1.0 în browser-ul dvs., nu? Tu nu tastați în număr în browser. De obicei introduceți numele care pot fi citite umane cum ar fi google.com sau cs50.harvard.edu, dreapta? Cei care nu sunt adrese IP, deși. Deci, există acest serviciu numit Numele de Domeniu Sistem, DNS, care se traduce IP adreseaza cuvinte inteligibile omului sau fraze care sunt mult mai memorabile decât amintindu un set de patru numere sau, în curând, un set de opt numere hexazecimale. Asta ar fi cu adevărat o provocare, nu? Gândiți-vă la înainte ca zile de telefoane mobile. Ai avut Memorează ta ta numere de telefon prietenului. S-ar putea au ajuns greu după o vreme. Și în mod similar, dacă doriți pentru a vizita o grămadă de site-uri web, probabil că nu vreau să amintiți-vă o grămadă de numere. V-ar aminti mai degrabă o grămadă de cuvinte. Deci aceasta cartografiere, această traducere, de seturi de numere la nume care pot fi citite umane un fel de face DNS pagini galbene ale web. Și vă puteți gândi despre l ca daca este doar o lista mare de funcționare de la 0.0.0.0 toate drumul până la 255.255.255.255, care ar fi cea mai mare possible-- care este gama completă de la 0s la 255s de toate 4 adrese IPv4 miliarde de ish. Am inventat cele pe partea de sus și de jos. Dar cel din mijloc se este de fapt o adresă IP. Deci, dacă am vizitat 74.125.202.138, aparent care se traduce la site-ul acolo, io-- ce naiba e asta? Ei bine, nu orice nume care Maps este de fapt clar ce este, nu? Astfel încât, uneori cineva care detine o adresă IP s-ar putea numi ceva gazdă că ei nu sunt de fapt. De exemplu, faptul că adresa IP, dacă dus acolo, este de fapt doar google.com. Dar Google are o mulțime de diferite servere. Și nu le pot suna toate google.com. Deci, ei au propriile lor sistem intern de traducere google.com la orice server de fapt, este conectat la acea adresă IP. Și apoi există o altă sistem care există între pentru a traduce că bolboroseală aici pentru a google.com. Dar nu vom intra în asta. Și în mod similar pentru IPv6s, vom merge, de asemenea, pentru a avea un galben pagini care va fi mult mai mare. Și în mod similar, în mijloc there-- a fost greu de găsit un IPv6 adresă care a fost legitimă. Dar am găsit unul pentru Google. Dar e site-ul irlandez Google. Dar dacă te-ai dus la acea adresă IPv6, în cazul în care browser-ul a fost capabil IPv6, care le-ar aduce la Pagină irlandez Google. Deci nu te duci. Dar acest lucru nu este în întregime adevărat, nu? Acest sistem pare greoaie, nu? Dacă există o listă foarte mare de 4 miliarde lucruri pentru a avea să se uite în sus, asta e destul de mare. Nu sunt pagini aurii din lume, nu? Dacă obțineți galben pagini livrate Tu-- Am mea de altă zi, și tocmai am reciclat. Dar dacă faci obține galben pagini livrate la tine, nu ai o carte care este fiecare număr de telefon care există pe planetă, dreapta? Ai o listă a numere de telefon locale, cele ești cel mai probabil pentru a apela. Și asta e de fapt ceea ce este DNS. Dacă te gândești la asta, DNS este Într-adevăr paginile locale galben. Și servere DNS mari ca google.coms, ei sunt de fapt doar mai ca biblioteci care au o copie a tuturor galben locale pagini sau toate înregistrările DNS locale. Deci, nu e într-adevăr nimeni depozit de DNS completă a internetului, la fel ca nu e nimeni pagini galbene ale lumii. Există toate aceste mici locale scară DNSs că există acolo. Și acolo sunt servicii care le agrega împreună. Dar ele depind de cei Sisteme de DNS mai mici actualizarea informațiilor lor, astfel încât acestea dispun de informațiile cele mai exacte. Deci, din nou, această analogie este de agregare mare Sistemele DNS sunt ca biblioteci care au o copie de fiecare pagini galbene ale lumii. Ei nu se actualiza aceste cărți. Ele depind de cărțile care vin în, astfel încât să poată actualiza informațiile dacă au nevoie de ea. Astfel încât sistemul DNS nu este un bloc uriaș. Este descentralizate peste multe, multe servere. Deci, acum știm că undeva între noi și pe internet există un server DNS precum și un server DHCP. Acum, puncte de acces, ce puncte de acces? Ei bine, punctele de acces esti, probabil, destul de familiarizat cu de la de fapt conectarea la Internet. Asta e rețeaua pe care o alegeți, casa sau rețeaua de lucru sau ceea ce ai. Și mă generalizării Conceptul de un punct de acces aici în scopul acest videoclip. Dar există, de fapt o mulțime de lucruri pe care poate fi rulată în puncte de acces. Există concepte de routere, care este un fel de un termen general care le folosim. Dar există, de asemenea întrerupătoare și lucrurile de fapt numit puncte de acces, care sunt separate de acest concept general de acces punct. Dar în esență ceea ce se întâmplă este cu IPv4, am a spus, avem acest concept de adrese private, nu? Și în loc de fiecare mașină având o adresă IP unică, care am alerga afară de, deoarece suntem peste 4 miliarde de dispozitive încearcă să se conecteze la internet, ceea ce facem este în schimb o atribuie Adresă IP la un router. Acest punct de acces sau router doar în casa ta, de exemplu. Și de locuri de muncă a router-ului cu privire la un fel de acționa ca un politist de trafic, permițând oricine este conectat pentru că router pentru a utiliza acelasi IP adresa pentru a iesi. Are sens? Deci, toată lumea la tine acasa are o adresă IP privată. Ei nu pot conecta la internet, sau mai degrabă pe internet nu se poate vorbi cu ei, prin acea adresă privată. Ei pot vorbi numai pentru a le prin adresa din router. Și e anii router de locuri de muncă pentru a lua informații pe care le trimiteți router și direct la locul corect și pentru informații care vine în router pentru router să-l trimită la tine. Deci, routere sunt într-adevăr Dispozitive here-- special un router în casa ta, cele mai frecvente fel de caz de utilizare pentru cele mai multe people-- care are adresa IP publică. Asta e dispozitivul care este conectat la internet. Și vă conectați la router de a avea fluxul de informații prin ea în numele dumneavoastră. Așa cum am spus, o rețea de domiciliu modernă, router și comutator și punctul de acces sunt tot felul de pachet în sus, în un singur dispozitiv. Uneori, un modem este incluse în acolo, de asemenea. Asta de obicei, doar numeste un router. Dar este într-adevăr toate aceste lucruri împreună. Rețele de afaceri pe scară largă sau așa-numita Wide Area Networks, WAN, ține de fapt, aceste dispozitive separate. Ei au un comutator. Ei au routere. Ei au mai multe puncte de acces. De exemplu, la o Universitatea veți vedea lucrurile care arata ca asa-numitele routere montate sunt peste tot în jurul campusului. Acestea sunt toate punctele de acces care curg în routere, switch-uri, etc., pentru a trece de-a lungul informații. Deoarece aceste rețele sunt atât de mare care o punct unic de acces nu poate acoperi zona sa mare. Și astfel aceste rețele mari, rețele de afaceri, etc., împărțit aceste separat în dispozitive, astfel încât rețeaua și scala și să crească, dacă este necesar. Deci, din nou, undeva între noi și internet, avem un punct de acces. Și asta e ceea ce ne-am conecta la. Și pe acolo, ne-am poate ajunge la internet. Așa cum am spus la începutul acestui film, acest lucru nu este un curs de rețea. Deci acest lucru nu este întreaga poveste. Și am un fel de glosat peste el. Și poate te-am lăsat chiar un pic confuz cu privire la ceea ce unele dintre aceste lucruri sunt. Dar asta e în regulă. Nu avem nevoie de toată povestea. E de ajuns pentru noi să știm în mișcare înainte doar în principiu, un pic despre modul în care funcționează internetul. Deci, ceea ce știm este avem aceste rețele private de la casa noastră. Și am conecta la un router. Și că router este conectat la internet în general. Dar ceea ce este internetul în general? Mă tot spun asta, dar ce este? Ei bine, e de fapt doar toate acestea rețelele individuale de la casa mea, și la tine acasă, și la orice alt casa, care sunt conectate împreună. Este un interconectate rețea, un inter-net. Deci, în loc de gândire despre internet ca acest nor gigant, acest eteric lucru care există acolo, este într-adevăr doar o conexiune printre toate aceste rețele. Deci, aici vom merge. Avem rețeaua noastră locală. Și nu ești singura persoană probabil, pe rețeaua noastră locală încercarea de a utiliza internetul. Există, probabil, mai multe dintre noi încercarea de a obține în. Și nu ești singura retea care există în lume, nu? Există alte rețele, de asemenea, că încearcă să se conecteze la internet. Dar internetul nu este, din nou, o entitate separată. E doar un set de reguli care permit aceste rețele, aceste rețele mici, albastru, purpuriu, și rețeaua roșu aici, pentru a comunica unul cu altul. Deci nu e nici un lucru toate sunt conectați. Sunt toate doar conectezi reciproc, nu? Și așa undeva pe aceste rețele există serviciile pe care le doresc de fapt. Deci, poate în rețeaua albastru este locul unde locuieste Google. Și în rețeaua violet este locul unde locuieste Facebook. Și în rețeaua roșu, bine, poate care este în cazul în care toate aceste pisicile sunt. Și astfel, dacă vrem să ajungem informații despre pisici, am traversa doar acest lanț de rețele pentru a obține informațiile pe care le doriți. Și aici, am reprezentat rețea ca toate fiind capabil de a vorbi unul cu altul. Și putem vorbi doar la rețea. Dar rețeaua nu se poate vorbi înapoi la noi. Dar asta nu e adevărat, fie, nu? Acest lucru este o stradă cu două sensuri. Informații poate curge prin rețele și înapoi. Cum se face asta? Ei bine, pe Internet într-adevăr un sistem de protocoale. Și am de gând să începem să vorbim despre ceea ce aceste protocoale sunt videoclipuri viitoare. Dar, din nou, pe internet nu este un lucru separat. Este un set de reguli care definește cum rețele comunica, aceste rețele mici, acestea rețea locală care suntem obișnuiți, oamenii din casa noastră, oamenii la școala noastră, cei de la treaba noastră, toate partajare o rețea. Și modul în care aceste rețele de interconectare și vorbesc cu fiecare parte, Asta este de fapt Ce de Internet despre toate. Așa că haideți să, într-un viitor video, vorbim despre unele protocoalelor care cuprind internet pentru a sperăm vă dau un pic mai mult de un bine-rotunjite înțelegere. Sunt Doug Lloyd. Acest lucru este CS50.