Oggi parliamo del ciclo richiesta-risposta o fondamentalmente di cosa succede quando digiti qualcosa nella barra degli indirizzi del tuo browser. Una delle cose che penso sia davvero divertente e ne sono colpevole, è che tutti facciamo le cose e non abbiamo idea di come funzionino. Quindi, se ti chiedessi quando scrivi un indirizzo, cosa succede? Quindi, questa lezione è in realtà una delle più tecniche di tutta la classe. Non voglio sentirti come se avessi bisogno di memorizzarlo o scriverlo, ma penso che ti aiuterà a capire un po 'di più cosa sta succedendo mentre impari HTML5. Quindi, una delle cose che potresti voler capire è la relazione client-server. I server sono fondamentalmente macchine che contengono tutte le risorse. La nostra speranza è che siano sempre connessi alla rete. I clienti sono ciò che stiamo usando, dove le macchine che usi per uso personale, come laptop, telefoni, eccetera. Lascia che ti mostri in questa foto. È molto comune usare reti come una rete chiamata LAN o WAN. Una LAN è una rete locale, e quindi quello che ho qui è l'idea che possiamo avere tre computer diversi e che tutti condividano un server. Perche' dovremmo volerlo fare? Beh, molte volte, hai solo una stampante o una delle diverse risorse. In questo modo, tutte e tre le macchine possono lavorare insieme e condividere quella risorsa. Quindi, la LAN è la rete locale. A volte, si desidera avere qualcosa di più grande o una rete Wide Area. Quindi, nei film, dove il bravo ragazzo sta entrando nell'edificio per rubare il software, quello che di solito è successo è che hanno questo server a cui tutti coloro che lavorano nell'edificio possono accedere, ma nessuno fuori dall'edificio, o si può anche avere attraverso edifici diversi, ma non si vogliono che chiunque dall'esterno sia davvero in grado di ottenere le tue informazioni. Quindi, la rete locale è come il tuo edificio per uffici. Una rete Wide Area potrebbe essere un'università in cui si desidera condividere i server in più edifici. La più grande rete Wide Area è, naturalmente, Internet. Quindi, ora torniamo a quella domanda su cosa succede quando digiti qualcosa nell'URL? Quello che stai facendo è che il client sta richiedendo una pagina web e il server deve rispondere con i file appropriati. Quindi, quando digiti qualcosa, questo è chiamato URL. Ogni URL ha tre parti. Il protocollo, la modalità di connessione, il dominio, che è il server, e quindi facoltativamente, è possibile includere il documento. Quindi, anche se stai digitando un URL, una delle cose da capire è che di solito, in realtà stai richiedendo un sacco di file tutti in una volta. Quindi, i protocolli che la maggior parte delle persone hanno visto; il primo è HTTP, il Hypertext Transfer Protocol. Il secondo, HTTPS, è la stessa idea, solo che ora abbiamo un protocollo più sicuro. Quindi, se ti connetti a una banca o a qualsiasi luogo in cui inserisci le password, assicurati che la prima cosa che vedi in quell'URL sia HTTPS. Se non lo fai, non connetterti. Il terzo è chiamato File Transfer Protocol. E' un po' diverso. Quando vedi HTTP, si aspetta che stai per dare avanti e indietro codice HTML5; con FTP, potrebbe essere qualsiasi tipo di file. Quindi, abbiamo il protocollo, ora parliamo di cosa rappresentano i nomi di dominio. Di solito, i nomi di dominio sono qualcosa di riconoscibile, come umich.edu, sarebbe per l'Università del Michigan. Google.com, wikipedia.org. Quindi, ognuno di questi siti ha un dominio di primo livello diverso. Come hai fatto a prenderli? Come fanno alcune persone ad arrivare a be.edu e some.com, some.biz, eccetera? Beh, in realta' sono determinati dall'ICANN. Il loro compito è quello di entrare e decidere quali tipi di organizzazioni si qualificano per diversi domini. Ho incluso un link qui se vuoi, puoi andare a vedere quali sono i diversi tipi. Ma la cosa importante da sapere è che il tuo nome di dominio è effettivamente mappato a un indirizzo. Ai vecchi tempi, come quando mio padre era su Internet, se voleva connettersi a qualche posto, in realtà digitava i numeri: 185.261 eccetera, eccetera. Beh, c'e' stata una nuova versione degli indirizzi IP, perche' ogni singolo cliente ha bisogno del proprio indirizzo. Se pensi a quante persone hanno laptop e smartphone, abbiamo bisogno di molte opzioni diverse. Quindi, con questi indirizzi IP, hai fondamentalmente serie di numeri, hai questi set diversi proprio qui, dove ogni X può rappresentare uno dei 16 valori diversi. Quindi, potete vedere che abbiamo un sacco di opzioni, oltre 300 trilioni, in effetti. Come ho detto, fortunatamente per te, il server dei nomi di dominio ti consente di digitare qualcosa di molto semplice come Umich o Google, ed è quello che lo trasforma in quel numero davvero lungo. L' ultima parte dell'URL è il documento. Quindi, a volte si desidera specificare un documento molto specifico che si desidera ottenere. Quindi, per esempio, la pagina dei contatti, o in questo caso, un altro ho il file che si trova all'interno di una cartella. Ma a volte non metti affatto un documento. Infatti, la maggior parte delle volte, non lo fai. Se digiti wikipedia.org o Facebook.com, non c'è il nome del file. Ma va bene cosi'. Ogni server ha un documento predefinito che sta per restituire. Di solito, si chiama index.HTML. Va bene. Quindi, l'abbiamo capito. Sappiamo cosa significa quando scriviamo qualcosa. Capiamo la richiesta. Quello che succede anche se una volta che lo scriviamo, è che stiamo effettivamente andando a recuperare un sacco di informazioni. Intestazioni, cookie, dati del modulo, tutto quello che non vedi. Quindi, la cosa importante da sapere è che il server restituisce file, non pagine web. Per molti di noi, siamo molto visivi. Quindi, quando scriviamo un URL, stiamo cercando e facciamo : «Oh, ecco la mia pagina». Ma a volte il browser potrebbe restituire qualcosa per diversi tipi di screen reader, tecnologia assistiva, quindi non sta restituendo una pagina web, sta restituendo molti e molti file. Speriamo di ammettere che a volte il server non può soddisfare la richiesta. Se non riesce, invierà un codice di errore. Penso che molti di voi abbiano familiarità con 404, dove dice, «File non trovato». Di solito significa che hai digitato qualcosa di sbagliato. Se si ottiene un errore 500, in realtà significa che i server sono disattivati. Quindi, potresti anche andare a fare uno spuntino, fare qualcosa di divertente, tornare più tardi e digitarlo di nuovo. Quindi, voglio fare una demo dal vivo con te di quello che succede quando scriviamo qualcosa. Quindi, l'ho scritto per te. Cerca il dominio, il DNS restituisce un indirizzo IP e quindi inizia a essere restituito un sacco di file. Diamo un'occhiata. Quello che ho fatto qui è che sono andato al sito della scuola di informazione dell'Università del Michigan. Ho semplicemente digitato si.umich.edu. Non ho digitato il protocollo perché di solito è solo predefinito. Quindi, quello che vedi qui visivamente è una pagina. Studente che guarda fuori, sembra molto ispirato, eccetera. Ma ora, ho intenzione di fare un piccolo trucco qui, dove faccio clic destro sullo schermo, e ho intenzione di scegliere l'opzione che dice, «Ispezionare». Si aprirà una finestra di lato qui. Sto per dire: «Sai una cosa? Vorrei vedere tutte le informazioni che vengono restituite quando effettivamente richiedo questa pagina.» Richiedo una pagina, vado a premere «Aggiorna». Se guardi di lato, non preoccuparti che non puoi vedere i dettagli. Ma dovresti vedere che la singola pagina è in realtà composta da molti e molti file, e ognuno di questi file era una richiesta separata. Ok. Quindi, esaminiamo. Questo è stato un lungo video, in cui tutto quello che voglio che tu ti allontani è la consapevolezza che ogni URL ha quelle tre parti: il protocollo, il dominio e il documento. Rendi conto che ciò che stai creando è più grande di un solo file alla volta. Ogni ciclo di richiesta-risposta è di solito un sacco di round di comunicazione tra il client e il server. Quindi, inizieremo da piccolo. Stiamo andando a fare un file alla volta, ma si può sempre guardare avanti per costruire applicazioni web più grandi e più grandi.