DOUG LLOYD: Se hai stato a guardare questi video nell'ordine che consigliamo, stiamo per subire po 'di un cambiamento culturale. Perché ora, stiamo andando a iniziare parlando del internet e web tecnologie. Quindi, fino ad ora, abbiamo sta facendo davvero un sacco di C. E quando siamo stati correndo nostri programmi, li abbiamo stati in esecuzione dalla riga di comando. Questo è più o meno come gli utenti hanno stato interagendo con i programmi che scriviamo. Prendono qualcosa per richiedere, qualcosa accade nella finestra del terminale, e poi è fatta. A volte si potrebbe avere persistente dati che rimane dopo. Ma che è praticamente esso. E 'nella riga di comando. E 'l'unico modo in cui l'utente può interagire. Da questo punto in avanti, stiamo per iniziare la transizione in modo che gli utenti può interagire con i nostri siti web. Quindi stiamo andando a scrivere siti web, che non sono scritti in C, ma sono scritti in una varietà di altri linguaggi di programmazione, tra cui PHP, ed è una sorta di lingue helper, HTML, CSS, e simili. Quindi stiamo per iniziare parlare di queste cose. Prima di entrare in web programmazione stessa, Penso che sia probabilmente una buona idea di fare un passo indietro e parlare su come i computer e gli esseri umani interagiscono attraverso il web. Quindi questo video è davvero un primer, una guida di base, a internet. Ora, il caveat qui è la CS50 non è una classe di rete. Quindi quello che stiamo andando a parlare qui è piuttosto alto livello. Non stiamo andando a entrare in qualsiasi basso livello dettagli di come funziona tutta questa roba. Se ti interessa in quanto, avevo fortemente Consiglio di prendere una classe su reti di computer. E potremmo anche dire bugia o due solo ai fini di rendere la comprensione generale chiaro. Quindi, con quello detto, parliamo di come interagiamo con Internet. Ed eccoci qui. Ecco noi c'è. Siamo abbastanza in attesa di sempre su internet, che come tutti sappiamo, è pieno zeppo di gatti. Ora dobbiamo solo collegare a internet come questo? Beh, probabilmente no. Intuitivamente, lo sai che, diciamo per esempio, quando si modifica la connessione Wi-Fi rete sul computer, non si vede uno chiamato internet a meno che dà il caso per essere il nome del locale Wi-Fi. Destra? Di solito è qualcosa di simile a casa. Oppure, se sei al lavoro, potrebbe essere il nome della vostra azienda. Non c'è solo uno opzione chiamato Internet. E così qualcosa o qualche le cose esistono tra cui vogliamo collegare a internet. Quali sono alcune di queste cose? Beh, stiamo andando a parlare di questo. Stiamo anche andando a parlare alcune delle cose importanti abbiamo bisogno per poter per la connessione a Internet. Il primo di questi cose è un indirizzo IP. Quindi, probabilmente avete sentito parlare l'indirizzo IP termine prima. Cosa significa? Beh, un indirizzo IP è fondamentalmente un identificatore univoco del vostro computer in una rete. Proprio come ogni casa o ufficio ha un indirizzo univoco a cui si potrebbe inviare una mail. Allo stesso modo, ogni computer se vuole ricevere dati o inviare dati, deve avere un indirizzo univoco. In modo che quando le informazioni viene inviato o ricevuto, è stato inviato o ricevuto alla posizione corretta. Questo schema di indirizzamento, come ho ha detto, si chiama indirizzamento IP. IP è l'acronimo di Internet Protocol, che parleremo di nuovo a breve. Ora, che cosa fa l'indirizzamento IP assomigliare? Beh, lo schema in fondo era, quando è stato attuato, per dare ogni computer un indirizzo univoco a 32 bit. Questo è un sacco di bit. Ecco 4 miliardi di indirizzi. E generalmente, invece di utilizzare notazione esadecimale, che abbiamo usato in precedenza nel contesto di puntatori in C per parlare di indirizzi, noi di solito rappresentiamo IP indirizzi in un po 'di più di un amichevole umana modo, rappresentandoli come quattro gruppi di 8 bit rappresentate come numeri decimali. Perché gli esseri umani non parlano spesso esadecimale, a meno che non si sta programmando. Ma le persone che utilizzano Internet non sono necessariamente i programmatori. E così che la rende facile e accessibile per loro per essere in grado di parlare di ciò che la loro Indirizzo IP è nel caso in cui forse bisogno di richiamare qualcuno per risolvere qualcosa, è meglio farlo nel più numero comune decimale convenzionale formato. E così un indirizzo IP sembra proprio molto simile a questo, w.x.y.z, dove ognuna di queste lettere rappresenta un valore non negativo nell'intervallo da 0 a 255. Ricordiamo che un numero a 8 bit può contenere 256 valori distinti. Ed è per questo che la nostra gamma è 0-255. E abbiamo quattro gruppi di 8 bit per un totale di 32 bit. E così un indirizzo IP potrebbe simile a questo. Questa è una sorta di generica indirizzo IP di default, 123.45.67.89. Tutti sono nella gamma da 0 a 255, così che è un indirizzo IP valido. Qui presso la Harvard University, tutti i nostri indirizzi IP iniziano con 140,247. Questo è solo il modo in cui il PI indirizzi in quest'area geografica sono stati assegnati. E quindi questo potrebbe essere un indirizzo IP che potrebbero esistere qui a Harvard. Così come ho detto, se ogni indirizzo IP è di 32 bit, abbiamo circa 4 miliardi di dare, un po ' più di 4 miliardi. Ma possiamo sorta di vedere un problema, giusto? Qual è la popolazione mondiale in questo momento? Beh, è ​​da qualche parte a nord di 7 miliardi di persone. E nel mondo occidentale almeno, la maggior parte delle persone avere più di un dispositivo capace di connettività internet. Ne ho uno proprio qui. E ho un altro in tasca. E ho uno indietro nel mio ufficio. E così che è tre. E che non ha nemmeno contare il quelli che ho a casa, troppo. E così che è una specie di problema, giusto? Abbiamo almeno 7 miliardi di persone e solo 4 miliardi di indirizzi. E ogni dispositivo dovrebbe di essere identificati in modo univoco. Abbiamo sviluppato alcune soluzioni per affrontare questo problema, qualcosa chiamato un privato Indirizzo IP, che non siamo intenzione di entrare in in questo video. Ma in fondo, consente favorire la web, internet, per tipo di falso fuori un po 'che si dispone di un unico indirizzo avendo indirizzi privati e poi incanalando attraverso un unico indirizzo, che è condivisa da molti computer differenti. Ma che non è proprio una soluzione a lungo termine. Anche questo non è fisso destinato a durare per sempre. E quindi abbiamo bisogno di avere un diverso modo di trattare con questo. Così come ho detto, abbiamo avuto circa 4 miliardi. Ma questo non sta andando essere abbastanza buono, giusto? E così il modo in cui essa ha stato deciso ci siamo andare a affrontare questo è per rendere gli indirizzi IP più lunghi. Invece di indirizzi a 32 bit, siamo andando ad avere indirizzi a 128 bit. Così, invece di 4 miliardi indirizzi, stiamo andando per avere quel grande numero di indirizzi, che è 340 miliardi di miliardi di miliardi miliardi di euro, così un sacco di indirizzi IP. E questo nuovo schema si chiama IPv6 è comunemente come è indicato. Il vecchio schema essere IPv4. E 'un po' un problema in che questo problema è stata conosciuto circa per un tempo molto lungo. E vedrete questo molto nella contesto di computer e informatica. Siamo bravi a problemi anticipando. Ma siamo male a trattare con loro anche se sappiamo di loro. Così IPv6 è stato intorno per un po '. E solo negli ultimi due anni hanno in realtà iniziato phasing in questi indirizzi IPv6 per eliminare gradualmente gli indirizzi IPv4. Ma alcuni luoghi hanno loro. E sembrano simili ad un indirizzo IP normale. Ma sono molto più a lungo. Così, invece di avere quattro ora gruppi di 8 byte per il vostro indirizzo, ora abbiamo otto gruppi di 16 byte. E 8 volte 16 è 128. E noi rappresentiamo questi in meno formato esadecimale convenzionale. Poiché con numero di 16 bit che indica invece di essere un intervallo da 0 a 255, Avremmo una gamma da 0 a 65.535. E in modo da avere un mucchio di quelli bloccati insieme sarebbe molto difficile da leggere. E così usiamo solitamente esagonale solo per comodità. E così un tipico indirizzo IPv6 potrebbe essere simile a questa. E 'sicuramente molto più a lungo l'indirizzo IPv4 che abbiamo visto prima. Ma questo sarebbe un indirizzo IPv6 valido. Questo è anche di indirizzo IPv6. Questo accade a far parte di Google. E c'è un avviso mucchio di zeri lì. A volte questi indirizzi può ottenere così a lungo. E visto che siamo ancora piuttosto presto IPv6, a volte ci possono essere grandi blocchi di zeri in là che non abbiamo bisogno. Se stai leggendo questo ad alta voce, è 2001.4860.4860.0.0.0.0.8844. E 'una specie di molto, giusto? Quindi, se si vede un po 'di zeri, si potrebbe a volte vedere un indirizzo IPv6 come questo, dove si omettono gli zeri e utilizzare invece un doppio due punti. Questo va bene, però. Perché noi sappiamo che ci sono doveva essere otto blocchi distinti. E così, implicitamente, vediamo quattro. Così sappiamo che ci deve essere quattro set di zeri come questo, che riempiono in. Così a volte, si potrebbe vedere un indirizzo IPv6 non avere otto pezzi separati come facciamo noi qui. Si potrebbe vedere cercando come questo. E questo significa solo che tutto quello che non si vede in tra cui quella di due punti si è appena separato zero. Va bene allora. Sappiamo un po 'di più su indirizzi IP ora. Ma come facciamo a loro? Non possiamo scegliere quello che vogliamo. Se lo facessimo, potremmo finire combattimenti qualcuno per lo stesso indirizzo IP. Oppure qualcuno potrebbe avere scelto in precedenza. Se cerchiamo e prendiamo, stiamo andando di imbattersi in un po 'un problema. E così noi non possiamo semplicemente scegliere l'indirizzo IP che vogliamo. Quindi il modo che otteniamo un Indirizzo IP è da qualche parte tra il nostro computer e la Internet, che grande internet là fuori, c'è qualcosa che si chiama un server DHCP, un Dynamic Host Configuration Protocol server. E 'una grande boccata di testo. Ma in realtà tutto ciò che fa è che si assegna un indirizzo IP. Il server DHCP ha una lista di gli indirizzi che possa validamente assegnare. E ti dà uno. Questo è più o meno tutto ciò che devi fare. Ora, prima di DHCP, questo compito di assegnazione degli indirizzi è sceso a un amministratore di sistema. Così una persona reale avrebbe per assegnare manualmente il computer e indirizzo quando collegato ad una rete. Quindi DHCP appena sorta di automatizzare questo processo di dare un indirizzo IP. Ma è così che si ottiene. E 'solo un programma in esecuzione da qualche parte tra voi e internet che ha una banca di Indirizzi IP che può dare fuori. E quando ci si connette a rete, ti dà uno. Quindi cerchiamo di rivisitare questo schema. Da qualche parte tra voi e il internet, c'è un server DHCP. OK. Quindi, questo è un bene. Ora, parliamo di DNS. Così abbiamo parlato, anche se questi indirizzi IP. E sappiamo che se siamo andando a identificare in modo univoco un dispositivo su internet, è deve avere un indirizzo univoco. E abbiamo potuto visitare che affrontare se volevamo. Ma probabilmente non avete mai digitato in qualcosa come 192.168.1.0 nel browser, giusto? Non si digita in numeri nel browser. Di solito digitare nomi leggibili come google.com o cs50.harvard.edu, destra? Quelli non sono gli indirizzi IP, però. Quindi esiste questo servizio chiamato il nome di dominio Sistema, DNS, che traduce IP indirizzi per parole comprensibili umane o frasi che sono molto più memorabile che ricordare un insieme di quattro numeri o, presto, una serie di otto numeri esadecimali. Sarebbe davvero difficile, giusto? Pensate prima della giorni di telefoni cellulari. Hai avuto la tua memorizza la vostra i numeri di telefono di amici. Si potrebbe ottenere duro dopo un po 'di tempo. E allo stesso modo, se volete a visitare un gruppo di siti web, probabilmente non si vuole ricordare una serie di numeri. Preferisci ricorda un mucchio di parole. Quindi questa mappatura, questa traduzione, di serie di numeri ai nomi leggibili tipo di rende DNS pagine gialle del web. E si può pensare come se è solo una lista enorme che va dal 0.0.0.0 tutto la strada fino a 255.255.255.255, che sarebbe il più alto possible-- che è la gamma completa da 0s a 255s di tutti e 4 indirizzi IPv4 miliardo-ish. Ho fatto su quelli su la parte superiore e la parte inferiore. Ma quello in mezzo c'è è in realtà un indirizzo IP. Quindi, se abbiamo visitato 74.125.202.138, pare che si traduce in quel sito lì, io-- cosa diavolo è questo? Beh, non ogni nome che mappa è in realtà chiaro di cosa si tratta, giusto? Così a volte qualcuno che possiede un indirizzo IP potrebbe il nome del loro qualcosa di accoglienza che non sono in realtà. Ad esempio, che indirizzo IP se si ci siamo andati, è in realtà solo google.com. Ma Google ha un sacco di diversi server. E non possono chiamarli tutti google.com. Quindi hanno il loro sistema interno per la traduzione google.com a qualsiasi server di realtà è collegato a tale indirizzo IP. E poi c'è un altro sistema che esiste tra di tradurre che gobbledygook qui a google.com. Ma non vogliamo entrare in questo. E analogamente per IPv6s, stiamo anche andando per avere un pagine gialle che sarà molto più grande. E similmente, nel mezzo there-- era difficile trovare un IPv6 indirizzo che era legittimo. Ma ho trovato uno per Google. Ma è il sito irlandese di Google. Ma se si è andato a tale indirizzo IPv6, se il vostro browser è stato capace di IPv6, che avrebbe portato a Homepage irlandese di Google. Così ci si va. Ma questo non è del tutto vero, giusto? Questo il sistema sembra ingombrante, giusto? Se c'è una lista enorme di 4 miliardi di cose da avere a guardare in alto, che è abbastanza grande. Non ci sono pagine gialle del mondo, giusto? Se viene ancora giallo pagine consegnate you-- Ho ottenuto il mio l'altro giorno, e ho appena riciclato esso. Ma se si vuole ricevere il giallo pagine consegnato a voi, non si ottiene un libro che è ogni numero di telefono che esiste sul pianeta, destra? È possibile ottenere un elenco dei i numeri di telefono locali, quelli che stai più probabilità di chiamare. E questo è in realtà quello che il DNS è. Se ci pensate, DNS è in realtà le pagine gialle locali. Ei server DNS di grandi dimensioni come google.coms, essi sono in realtà solo più come le biblioteche che avere una copia di tutti i gialle pagine o tutti i record DNS locali. Quindi non c'è davvero nessuno repository della piena DNS di Internet, così come non c'è nessuno pagine gialle del mondo. Ci sono tutti questi piccoli locali DNSs scala che esistono là fuori. E ci sono servizi che aggregare insieme. Ma dipendono da quelli sistemi DNS più piccoli aggiornare le loro informazioni, in modo che essi hanno le informazioni più accurate. Quindi, di nuovo, questa analogia è grande aggregazione Sistemi DNS sono come biblioteche che hanno una copia di ogni pagine gialle del mondo. Loro non lo fanno loro stessi aggiornare quei libri. Essi dipendono i libri in arrivo, in modo che possano aggiornare le informazioni se ne hanno bisogno. Così il sistema DNS non è un blocco gigante. E 'decentrato attraverso molti, molti server. Così ora sappiamo che da qualche parte tra noi e internet esiste un server DNS così come un server DHCP. Ora, i punti di accesso, quali sono i nostri punti di accesso? Beh, i punti di accesso si sono probabilmente abbastanza familiare con da realtà la connessione a Internet. Questa è la rete che si sceglie, la casa o la rete aziendale o quello che hai. E sto generalizzando il concetto di un punto di accesso qui ai fini dello video. Ma vi sono in realtà un sacco di cose che può essere arrotolato in punti di accesso. Ci sono concetti di router, che è una sorta di un termine generico che usiamo. Ma vi sono anche interruttori e le cose in realtà chiamato i punti di accesso che sono separati da questo concetto generale di accesso punto. Ma in fondo cosa accade è con IPv4, io detto che abbiamo questo concetto di indirizzi privati, giusto? E invece di ogni macchina avente un indirizzo IP univoco, abbiamo esaurito, perché siamo più di 4 miliardi di dispositivi tenta di connettersi a Internet, cosa facciamo è invece assegnare un Indirizzo IP di un router. Questo router o access point solo in casa, per esempio. E il lavoro del router come a sorta di agire come un vigile urbano, consentendo a tutti che è collegato a quel router di utilizzare lo stesso IP affrontare per uscire. Questo fa senso? Quindi tutti a casa vostra ha un indirizzo IP privato. Essi non possono connettersi al internet, o internet meglio non si può parlare con loro, attraverso tale indirizzo privato. Essi possono parlare solo a loro attraverso l'indirizzo nel router. Ed è il router di compito di prendere le informazioni che si sta inviando il router e dirigerla al posto giusto e per le informazioni che sta venendo nel router per il router per inviare a voi. Così i router sono davvero il dispositivi qui-- particolare un router nella vostra casa, il tipo più comune di cassa uso per la maggior parte people-- che ha l'indirizzo IP pubblico. Questo è il dispositivo che è collegato a Internet. E si collega al router di avere il flusso di informazioni attraverso di essa a vostro nome. Come ho già detto, una rete domestica moderna, il router e switch e access point sono tutti i tipi di bundle up in un unico dispositivo. A volte un modem bundle in là pure. Questo è di solito solo chiamato un router. Ma è davvero tutto queste cose insieme. Le grandi reti di imprese scala o cosiddetto Wide Area Network, WAN, in realtà mantenere questi dispositivi separati. Hanno un interruttore. Hanno router. Hanno più punti di accesso. Ad esempio, in un università vedrete cose quello sguardo come i cosiddetti router montati sono tutti intorno alla città universitaria. Questi sono tutti i punti di accesso che scorrono in router, switch, eccetera, per passare le informazioni lungo. Perché queste reti sono così grande che un unico punto di accesso non può coprire la sua grande area. E così questi grandi reti, reti di imprese, eccetera, suddividerle in separata dispositivi, per cui la rete e la scala e crescere se necessario. Quindi, di nuovo, da qualche parte tra noi e Internet, abbiamo un punto di accesso. Ed è quello che ci colleghiamo a. E di lì, abbiamo può arrivare a Internet. Come ho detto al inizio di questo video, questo non è un corso sul networking. Quindi questo non è l'intera storia. E ho tipo di glissato su di esso. E forse ho lasciato te anche un po 'confuso su ciò che alcune di queste cose sono. Ma va bene. Non abbiamo bisogno di tutta la storia. E 'sufficiente per noi sapere in movimento in avanti proprio in fondo un po ' su come funziona Internet. Quindi quello che sappiamo è che abbiamo questi reti private a casa nostra. E ci colleghiamo a un router. E questo router è collegato a internet in generale. Ma che cosa è internet in generale? Io continuo a dire questo, ma che cosa è? Beh, è ​​davvero solo tutti questi singole reti a casa mia, e alla vostra casa, e ad ogni altra casa, che sono collegati insieme. E 'un interconnesso rete, un inter-net. Così, invece di pensare su internet come questo gigante nuvola, questo etereo cosa che esiste là fuori, è davvero solo un collegamento Tra tutte queste reti. Quindi qui si va. Abbiamo la nostra rete locale. E non siamo l'unica persona probabilmente sulla nostra rete locale cercando di utilizzare Internet. C'è probabilmente diversi di noi cercando di entrare. E non siamo l'unica rete che esiste nel mondo, giusto? Ci sono altre reti, anche, che stanno cercando di connettersi a internet. Ma Internet non è, di nuovo, una entità separata. E 'solo un insieme di regole che permettono queste reti, queste piccole reti, il blu, il viola, e la rete rossa qui, a comunicare tra loro. Quindi non c'è cosa sono tutti la connessione a. Sono tutti appena collegati tra loro, giusto? E così da qualche parte su questi reti esiste servizi che vogliamo davvero. Così forse nella rete blu è dove abita Google. E nella rete viola è dove abita Facebook. E nella rete rossa, beh, forse è lì che tutti questi gatti sono. E così, se vogliamo ottenere informazioni sui gatti, abbiamo appena attraversiamo questa catena di reti per ottenere le informazioni che vogliamo. E qui, ho rappresentato la rete come tutte essere in grado di comunicare tra loro. E possiamo solo parlare con la rete. Ma la rete non può parlare di nuovo noi. Ma questo non è vero neanche, giusto? Tutto questo è una strada a doppio senso. Informazioni può fluire attraverso reti avanti e indietro. Come farlo? Beh, la Internet è davvero un sistema di protocolli. E stiamo andando a cominciare a parlare di ciò che questi protocolli sono in video futuri. Ma ancora, internet non è una cosa separata. Si tratta di un insieme di regole che definisce come le reti di comunicare, queste piccole reti, queste rete locale che siamo abituati, la gente nella nostra casa, la gente nella nostra scuola, le persone al nostro lavoro, tutti accomunati una rete. E come queste reti di interconnessione e parlare tra di loro, questo è in realtà ciò che il Internet di tutto. Quindi cerchiamo di, in un futuro video, parlare di alcuni dei protocolli che comprende Internet per spera dare un po 'più di un comprensione a tutto tondo. Sono Doug Lloyd. Questo è CS50.