1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: Parliamo di un altro protocol-- trasferimento Hypertext 3 00:00:09,310 --> 00:00:12,060 Protocollo, o HTTP. 4 00:00:12,060 --> 00:00:15,074 Così abbiamo parlato IP e TCP in video precedenti. 5 00:00:15,074 --> 00:00:17,240 E questi sono i protocolli che dettare come le informazioni 6 00:00:17,240 --> 00:00:20,970 mosse da macchina a macchina e da programma a programma o servizio 7 00:00:20,970 --> 00:00:27,720 al servizio via Internet, via questa rete di router e macchine. 8 00:00:27,720 --> 00:00:30,640 >> Ma non è di solito l'intera immagine, giusto? 9 00:00:30,640 --> 00:00:33,530 Di solito quando inviamo informazioni, il programma 10 00:00:33,530 --> 00:00:36,570 itself-- quando i dati sono ricevuto, diciamo, ad esempio, 11 00:00:36,570 --> 00:00:44,270 in e-mail tramite la porta TCP 25 o un web richiesta di una pagina tramite la porta 80, 12 00:00:44,270 --> 00:00:48,220 di solito c'è un sistema di regole ci per elaborare quello che ho appena ricevuto. 13 00:00:48,220 --> 00:00:51,960 E HTTP è un esempio di una tale protocollo. 14 00:00:51,960 --> 00:00:54,929 >> HTTP è l'unico protocollo di livello applicativo 15 00:00:54,929 --> 00:00:56,220 che stiamo andando a parlare. 16 00:00:56,220 --> 00:00:59,660 Ma è un altro insieme di regole che dettano come 17 00:00:59,660 --> 00:01:02,790 informazioni da trasmettere ed elaborati via Internet. 18 00:01:02,790 --> 00:01:06,390 In particolare, HTTP specifica esattamente come 19 00:01:06,390 --> 00:01:11,300 bisogna fare una richiesta di una pagina web e esattamente come 20 00:01:11,300 --> 00:01:15,160 un server, una macchina che ospita le pagine web, 21 00:01:15,160 --> 00:01:17,840 fornisce le informazioni indietro ai clienti. 22 00:01:17,840 --> 00:01:20,010 >> Quindi questo protocollo non lo fa in realtà avere nulla 23 00:01:20,010 --> 00:01:22,270 a che fare con informazioni si sposta dal punto A 24 00:01:22,270 --> 00:01:26,090 al punto B. E 'davvero il sistema di regole 25 00:01:26,090 --> 00:01:29,700 for-- è fondamentalmente le regole impegno per lavorare con una pagina web, 26 00:01:29,700 --> 00:01:31,960 simile a quando qualcuno onde la loro mano a voi, 27 00:01:31,960 --> 00:01:33,410 dovresti onda indietro. 28 00:01:33,410 --> 00:01:36,280 Questa è una sorta di protocollo umana convenzionale. 29 00:01:36,280 --> 00:01:39,610 Protocollo HTTP dice solo, se si desidera richiedere un web 30 00:01:39,610 --> 00:01:42,730 pagina, assicurarsi che i vostri sguardi formato come questo-- specie di formattazione 31 00:01:42,730 --> 00:01:44,930 una lettera commerciale, per esempio. 32 00:01:44,930 --> 00:01:50,029 E la risposta sarà simile venire secondo questo protocollo. 33 00:01:50,029 --> 00:01:51,820 Ci sono altri protocolli di livello applicazione 34 00:01:51,820 --> 00:01:53,380 che non stiamo andando a parlare in video. 35 00:01:53,380 --> 00:01:55,790 Ma questi includono cose come File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol per l'invio di email, la Data Distribution 37 00:01:59,200 --> 00:02:02,100 Service, Remote Desktop Protocollo, RDP, che 38 00:02:02,100 --> 00:02:05,590 viene utilizzata se si desidera accedere in remoto il computer da un altro computer, 39 00:02:05,590 --> 00:02:08,479 XMPP, che è spesso conosciuto come Jabber o chat, 40 00:02:08,479 --> 00:02:11,160 quindi questo è il protocollo per l'utilizzo di servizi di chat. 41 00:02:11,160 --> 00:02:13,310 E ci sono molti, molti, molti altri. 42 00:02:13,310 --> 00:02:15,900 >> Così ogni volta che si sta utilizzando un servizio, il servizio 43 00:02:15,900 --> 00:02:18,930 si aspetta informazioni da received-- una richiesta 44 00:02:18,930 --> 00:02:21,010 di essere in un received-- particolare formato molto 45 00:02:21,010 --> 00:02:24,070 ed è tenuto a restituire informazioni indietro 46 00:02:24,070 --> 00:02:27,190 in un formato molto particolare così. 47 00:02:27,190 --> 00:02:31,750 >> Quindi torniamo alla nostra illustrazione di noi che vogliono parlare con Internet. 48 00:02:31,750 --> 00:02:34,810 Così siamo felici, e vogliamo per andare a cats.com, giusto? 49 00:02:34,810 --> 00:02:38,550 Quindi, se stiamo solo parlando con cats.com, potremmo dire qualcosa come hey, 50 00:02:38,550 --> 00:02:39,720 posso vedere la tua home page? 51 00:02:39,720 --> 00:02:42,320 E probabilmente sarà cats.com rispondere, sì, certo. 52 00:02:42,320 --> 00:02:43,440 Ecco qui. 53 00:02:43,440 --> 00:02:46,440 Ecco, questo è una specie umana di chiedere e risposta. 54 00:02:46,440 --> 00:02:47,980 >> Che cosa simile in HTTP? 55 00:02:47,980 --> 00:02:51,340 Beh, in realtà tipo di traduce piuttosto in modo pulito per una cosa del genere. 56 00:02:51,340 --> 00:02:57,290 Potremmo dire GET / HTTP / 1.1 da cats.com ospite. 57 00:02:57,290 --> 00:03:03,039 Quindi, in pratica quello che sto facendo qui è chiede la pagina web www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Noi di solito omettiamo la barra Oggi, ma che sarebbe solo 59 00:03:05,330 --> 00:03:07,200 significare homepage di cats.com. 60 00:03:07,200 --> 00:03:11,910 >> Oh, e dal modo in cui, vado per essere utilizzando la versione HTTP 61 00:03:11,910 --> 00:03:14,182 1.1 per comunicare con voi. 62 00:03:14,182 --> 00:03:16,390 Questo è una sorta di analogo a dicendo, come, tra l'altro, 63 00:03:16,390 --> 00:03:17,870 Ho intenzione di parlare in francese, o l'altro, 64 00:03:17,870 --> 00:03:19,370 Ho intenzione di essere parlando in inglese. 65 00:03:19,370 --> 00:03:22,160 Questo è solo il formato del protocollo. 66 00:03:22,160 --> 00:03:25,050 È anche 1,0, che è Non comunemente usato più. 67 00:03:25,050 --> 00:03:30,615 Così sto parlando HTTP 1.1, e Vorrei www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Si prega di ottenere che per me. 69 00:03:31,710 --> 00:03:34,610 >> E poi c'è altra informazione, too-- il dot, dot, dot lì, 70 00:03:34,610 --> 00:03:38,234 che è informazioni su chi sei così cats.com 71 00:03:38,234 --> 00:03:39,400 saprebbe dove inviarlo. 72 00:03:39,400 --> 00:03:41,480 Ma questi sono i due sorta di parti critiche 73 00:03:41,480 --> 00:03:44,000 proprio all'inizio di un HTTP richiesta-- 74 00:03:44,000 --> 00:03:46,770 proprio come quando si avvia un lettera che dici, caro, vuoto. 75 00:03:46,770 --> 00:03:49,710 Questo è molto simile nello spirito a quello. 76 00:03:49,710 --> 00:03:52,370 >> E se cats.com sta per dite, oh, certo, qui si va. 77 00:03:52,370 --> 00:03:55,590 Si potrebbe rispondere come questo-- Sto anche rispondere. 78 00:03:55,590 --> 00:03:57,960 Parlo anche HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 La vostra richiesta è approvata, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Che cosa stai per ricevere è HTML e quindi 81 00:04:04,709 --> 00:04:06,250 dot, dot, dot qualche informazione in più. 82 00:04:06,250 --> 00:04:10,620 E in fondo del richiesta è in realtà il codice HTML, 83 00:04:10,620 --> 00:04:16,339 il linguaggio di markup, il contenuto della homepage di cats.com. 84 00:04:16,339 --> 00:04:21,227 >> Quindi HTTP / 1.1-- Riconosco la tua richiesta è stata accolta tramite HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 La richiesta è stata approvata. 86 00:04:22,310 --> 00:04:25,810 Posso darti quello che vuoi, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Siete in procinto di ricevere HTML. 88 00:04:27,440 --> 00:04:30,450 E poi ecco la HTML che hai richiesto. 89 00:04:30,450 --> 00:04:33,930 >> Ma a volte le nostre richieste non lo fanno sempre andare tutto secondo i piani. 90 00:04:33,930 --> 00:04:37,100 Posso vedere la tua pagina cats.html? 91 00:04:37,100 --> 00:04:40,366 Beh, e se dicono, noi non hanno una pagina cats.html, 92 00:04:40,366 --> 00:04:42,740 che sembra sorta di realistico perché sono cats.com. 93 00:04:42,740 --> 00:04:44,400 Si potrebbe pensare che avrebbero cats.html. 94 00:04:44,400 --> 00:04:45,420 Ma ok. 95 00:04:45,420 --> 00:04:48,484 Quindi questa è una sorta di interazione umana convenzionale 96 00:04:48,484 --> 00:04:49,650 ora abbiamo avuto con cats.com. 97 00:04:49,650 --> 00:04:51,060 Come funziona che traduce? 98 00:04:51,060 --> 00:04:52,726 >> Questo potrebbe essere qualcosa di familiare a voi. 99 00:04:52,726 --> 00:04:55,690 La nostra richiesta era esattamente lo stesso, tranne che invece di ottenere barra 100 00:04:55,690 --> 00:04:58,110 ora stiamo ottenendo cats.html. 101 00:04:58,110 --> 00:05:01,810 Così ora che cosa fondamentalmente questo intero richiesta sta dicendo è per favore dammi 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Così il padrone di casa e la metà parte di quella linea superiore 104 00:05:08,700 --> 00:05:14,632 ci indica precisamente quale pagina che sto chiedendo. 105 00:05:14,632 --> 00:05:17,590 Ma cats.com in questo caso non sta andando essere in grado di rispondere positivamente. 106 00:05:17,590 --> 00:05:19,089 Non sanno che stiamo parlando. 107 00:05:19,089 --> 00:05:25,170 E quindi questo è qualcosa che si potrebbe avere visto HTTP before-- 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Non riuscivo a trovare quello che che stavi chiedendo. 109 00:05:27,180 --> 00:05:30,460 A proposito, ho intenzione di darvi indietro alcuni HTML, e di solito che l'HTML 110 00:05:30,460 --> 00:05:32,351 è il contenuto di qualche pagina 404. 111 00:05:32,351 --> 00:05:34,100 E nel caso di cats.com, probabilmente 112 00:05:34,100 --> 00:05:37,720 alcuni gatti carino in un cesto con un triste 404 faccia accanto a loro, 113 00:05:37,720 --> 00:05:40,920 perché si sta andando ad essere triste quando non si ottiene la pagina 114 00:05:40,920 --> 00:05:43,040 che stavate cercando. 115 00:05:43,040 --> 00:05:48,520 >> Questo è il tipo delle nozioni di base di ciò che un protocollo, le richieste di protocollo HTTP 116 00:05:48,520 --> 00:05:49,180 Assomiglia a. 117 00:05:49,180 --> 00:05:52,640 Sono davvero simile a come noi farebbe una simile interazione 118 00:05:52,640 --> 00:05:55,460 nelle convenzioni appena umani chiedere qualcosa 119 00:05:55,460 --> 00:05:58,250 e ottenere indietro o la scrittura di un lettera e in attesa di una risposta 120 00:05:58,250 --> 00:06:00,380 lettera in un particolare formato. 121 00:06:00,380 --> 00:06:03,910 Questo è più o meno quello HTTP è solo canonicalizing 122 00:06:03,910 --> 00:06:10,190 per tutti i dispositivi che vogliono accesso le pagine web, i trasferimenti ipertestuali. 123 00:06:10,190 --> 00:06:15,110 >> Così una linea della forma, la presente metodo versione richiesta di destinazione HTTP, 124 00:06:15,110 --> 00:06:17,100 si chiama una linea di richiesta HTTP. 125 00:06:17,100 --> 00:06:23,740 Di solito è la prima cosa che è trasmessa come parte di una richiesta HTTP 126 00:06:23,740 --> 00:06:26,180 o se si sta chiedendo per HTTP. 127 00:06:26,180 --> 00:06:29,970 E 'un po' come, come ho detto, dicendo cara, vuoto in alto la vostra lettera. 128 00:06:29,970 --> 00:06:32,880 Sanno che sei scrivendo loro una lettera. 129 00:06:32,880 --> 00:06:34,796 Quindi questo è molto simile a dire, lo so 130 00:06:34,796 --> 00:06:37,670 che stanno facendo una richiesta HTTP e questo è il particolare formato 131 00:06:37,670 --> 00:06:39,090 che stanno chiedendo. 132 00:06:39,090 --> 00:06:43,810 >> Versione HTTP è probabilmente andando sempre essere HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 Esiste anche, ma non è davvero più utilizzati. 134 00:06:46,670 --> 00:06:49,200 Ai fini del CS50, GET è probabilmente sempre 135 00:06:49,200 --> 00:06:51,540 ciò che si sta andando ad essere utilizzando quando si è in realtà 136 00:06:51,540 --> 00:06:54,250 effettuare richieste HTTP dirette. 137 00:06:54,250 --> 00:06:57,720 Ma POST è un'altra opzione che siamo non andare a parlare in questo momento. 138 00:06:57,720 --> 00:07:02,980 E poi richiesta-obiettivo è quale pagina sul server dell'host 139 00:07:02,980 --> 00:07:05,812 si desidera ottenere. 140 00:07:05,812 --> 00:07:08,020 Come ho già detto, che il nome host è una linea separata, di solito 141 00:07:08,020 --> 00:07:10,350 la seconda riga della richiesta complessiva. 142 00:07:10,350 --> 00:07:13,660 E così nel loro insieme, il padrone di casa nome e la destinazione richiesta 143 00:07:13,660 --> 00:07:16,070 specificare una specifica ricercata risorsa. 144 00:07:16,070 --> 00:07:20,986 Nel nostro esempio 404 un secondo fa, ho è stato chiesto di nuovo per www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com essere il padrone di casa. 146 00:07:22,940 --> 00:07:26,300 E nella mia linea di richiesta, Ho detto /cats.html. 147 00:07:26,300 --> 00:07:27,790 Quella era la mia destinazione richiesta. 148 00:07:27,790 --> 00:07:31,200 Così nel complesso mi è stato chiesto per la contenuti o la risorsa che si trova 149 00:07:31,200 --> 00:07:36,410 a www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> E poi in base a se esiste la risorsa 151 00:07:38,870 --> 00:07:42,160 e se il server è in grado di fornire il reddito di cui il cliente del 152 00:07:42,160 --> 00:07:46,760 richiesta, si potrebbe ottenere vari codici di stato posteriori. 153 00:07:46,760 --> 00:07:50,280 Alcuni di questi codici di stato che hai visto perché sono parte della risposta. 154 00:07:50,280 --> 00:07:53,580 Alcuni di loro, 200 OK, sono probabilmente abbastanza silenzioso. 155 00:07:53,580 --> 00:07:55,650 Probabilmente avete mai visto una pagina risponde 200 OK. 156 00:07:55,650 --> 00:07:56,890 Basta avere la pagina. 157 00:07:56,890 --> 00:08:01,260 Non è come un errore 404, che di solito è abbastanza chiaro. 158 00:08:01,260 --> 00:08:03,850 Di solito si vede che c'è scritto 404. 159 00:08:03,850 --> 00:08:06,880 >> Quindi parliamo di quello che alcuni di questi codici di stato potrebbe essere. 160 00:08:06,880 --> 00:08:09,660 Anche in questo caso, quando il server risponde a noi, sono 161 00:08:09,660 --> 00:08:12,120 andando a rispondere HTTP stato della versione. 162 00:08:12,120 --> 00:08:14,020 Di solito HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Che cosa sono questi codici di stato sarà? 164 00:08:17,410 --> 00:08:18,890 Beh, si potrebbe ottenere un successo. 165 00:08:18,890 --> 00:08:23,617 Così nella categoria successo, potrebbe ottenere il codice 200 con il testo OK. 166 00:08:23,617 --> 00:08:24,450 Cosa significa questo? 167 00:08:24,450 --> 00:08:25,491 Beh, tutto è buono. 168 00:08:25,491 --> 00:08:26,721 Hai fatto una richiesta valida. 169 00:08:26,721 --> 00:08:27,720 Ecco una risposta valida. 170 00:08:27,720 --> 00:08:30,060 Sono stato in grado di fornire esattamente quello che volevi. 171 00:08:30,060 --> 00:08:33,080 >> A volte si potrebbe ottenere altre cose che non si noterà subito 172 00:08:33,080 --> 00:08:35,140 ma sono un po 'fallimenti. 173 00:08:35,140 --> 00:08:36,422 Sono chiamati reindirizzamenti. 174 00:08:36,422 --> 00:08:37,630 Ci sono due più comuni qui. 175 00:08:37,630 --> 00:08:41,520 301 Permanently-- Spostato ciò che questo significa in pratica 176 00:08:41,520 --> 00:08:43,559 è la pagina è ora in una nuova posizione. 177 00:08:43,559 --> 00:08:44,920 Vivrà per sempre. 178 00:08:44,920 --> 00:08:47,150 E la maggior parte dei browser si reindirizzare automaticamente. 179 00:08:47,150 --> 00:08:49,860 Quindi non sarete mai realmente vedere 301, o, se non sei 180 00:08:49,860 --> 00:08:52,210 utilizzando un veramente out-of-date il browser, eventualmente, 181 00:08:52,210 --> 00:08:57,660 perché la risposta 301 è parte di il punto, punto, punto della risposta 301. 182 00:08:57,660 --> 00:08:59,577 Ci dice anche dove la nuova pagina è. 183 00:08:59,577 --> 00:09:01,660 E così maggior parte dei browser solo tu reindirizzare lì, 184 00:09:01,660 --> 00:09:03,570 supponendo che si vuole andare lì. 185 00:09:03,570 --> 00:09:05,440 >> A volte avrete anche trovato 302. 186 00:09:05,440 --> 00:09:07,850 E questo in realtà potrebbe ancora vedere di tanto in tanto. 187 00:09:07,850 --> 00:09:09,720 A volte le pagine si spostano temporaneamente. 188 00:09:09,720 --> 00:09:13,570 Quindi non sta per essere costruito in la richiesta dicendo al browser 189 00:09:13,570 --> 00:09:16,740 di modificare in modo permanente qualsiasi momento vede la richiesta che si 190 00:09:16,740 --> 00:09:18,255 far cambiare a qualcos'altro. 191 00:09:18,255 --> 00:09:21,210 Così si potrebbe vedere 302 Trovato, che fondamentalmente 192 00:09:21,210 --> 00:09:22,710 dice questa pagina vive da qualche altra parte. 193 00:09:22,710 --> 00:09:24,418 Ma non sta andando a vivere lì per sempre. 194 00:09:24,418 --> 00:09:29,052 E alla fine probabilmente andare di nuovo a dove si pensa che è. 195 00:09:29,052 --> 00:09:31,780 >> Poi avrai cose come gli errori del client. 196 00:09:31,780 --> 00:09:34,012 Quindi questi sono quelli che avete probabilmente visto, ora. 197 00:09:34,012 --> 00:09:35,970 Probabilmente non avete visto i 200s o dei 300s, 198 00:09:35,970 --> 00:09:37,370 ma probabilmente sei familiarità con le 400. 199 00:09:37,370 --> 00:09:40,130 Ed è quello che ne parliamo su in un secondo, 500 pure. 200 00:09:40,130 --> 00:09:42,580 >> Si potrebbe vedere 401 non autorizzato. 201 00:09:42,580 --> 00:09:45,100 Di solito questo significa che siete cercando di accedere a una pagina, 202 00:09:45,100 --> 00:09:46,230 ma non avete effettuato l'accesso. 203 00:09:46,230 --> 00:09:50,500 Così si cerca di andare a un po ' profilo o qualcosa su Facebook 204 00:09:50,500 --> 00:09:53,106 o si tenta di accesso some-- sei al lavoro. 205 00:09:53,106 --> 00:09:56,619 Stai cercando di accedere a qualcosa su internet del vostro lavoro, 206 00:09:56,619 --> 00:09:57,660 ma non sei loggato. 207 00:09:57,660 --> 00:09:58,740 Non è possibile visualizzare la pagina. 208 00:09:58,740 --> 00:10:01,770 Si potrebbe ottenere un 401 non autorizzata, il che significa che probabilmente 209 00:10:01,770 --> 00:10:06,590 sarà in grado di soddisfare tale richiesta, ma prima è necessario effettuare il login per farlo. 210 00:10:06,590 --> 00:10:09,590 >> Al contrario, si potrebbe ottenere 403 Forbidden, che è in realtà non 211 00:10:09,590 --> 00:10:11,490 importa se si è registrato o meno. 212 00:10:11,490 --> 00:10:13,020 Questa richiesta non è consentita. 213 00:10:13,020 --> 00:10:15,320 La risorsa presente sul server. 214 00:10:15,320 --> 00:10:17,817 Ma non vi è permesso di accedervi. 215 00:10:17,817 --> 00:10:20,900 Si tratta di file di solito interni vivere sul server per vari motivi 216 00:10:20,900 --> 00:10:23,860 ma non intendono essere accessibile dal mondo esterno, 217 00:10:23,860 --> 00:10:25,030 e quindi sono vietati. 218 00:10:25,030 --> 00:10:27,120 Vivono lì. 219 00:10:27,120 --> 00:10:28,440 Non sto dicendo che non riesco a trovarlo. 220 00:10:28,440 --> 00:10:30,030 Ma sto dicendo che non posso dare a voi. 221 00:10:30,030 --> 00:10:32,071 E non importa se si è registrato o meno. 222 00:10:32,071 --> 00:10:35,479 E poi, naturalmente, la molto comune 404 Not Found. 223 00:10:35,479 --> 00:10:37,020 Il file non esiste sul server. 224 00:10:37,020 --> 00:10:40,200 Vorrei soddisfare la tua richiesta, ma non posso. 225 00:10:40,200 --> 00:10:43,390 >> Inoltre a volte vedere Server errori, il più comune generalmente 226 00:10:43,390 --> 00:10:46,990 essendo 500 Internal Server Error, che in realtà non vi dico nulla 227 00:10:46,990 --> 00:10:50,200 affatto di ciò che è andato storto. 228 00:10:50,200 --> 00:10:53,290 Ma non è effettivamente fare un errore nella richiesta. 229 00:10:53,290 --> 00:10:58,200 In realtà è il server malfunzionante per fornire su richiesta in qualche modo. 230 00:10:58,200 --> 00:11:00,040 Quindi 500 è la risposta generale. 231 00:11:00,040 --> 00:11:03,190 >> Vedrete anche qualcosa come Servizio non disponibile, 232 00:11:03,190 --> 00:11:05,720 che a mio avviso è il codice 503. 233 00:11:05,720 --> 00:11:07,882 E Gateway Timeout-- se Hai mai avuto una pagina solo 234 00:11:07,882 --> 00:11:09,590 sedersi lì carico e caricamento e caricamento 235 00:11:09,590 --> 00:11:12,715 e non si sa mai se sta andando a carico e poi alla fine solo says-- 236 00:11:12,715 --> 00:11:13,650 appena si arrende. 237 00:11:13,650 --> 00:11:15,460 Questo è un timeout 504 Gateway. 238 00:11:15,460 --> 00:11:17,600 Il server ha voluto eseguire la vostra richiesta, 239 00:11:17,600 --> 00:11:19,930 ma qualcosa è andato storto sul server di side-- 240 00:11:19,930 --> 00:11:24,452 non sul vostro side-- per causa che per essere un problema. 241 00:11:24,452 --> 00:11:27,410 Ora, potremmo finire la storia qui, ma quello che sto realmente intenzione di fare ora 242 00:11:27,410 --> 00:11:29,368 è ho intenzione di aprire il mio browser e vi mostrerà 243 00:11:29,368 --> 00:11:32,250 come si potrebbe essere in grado di vedere alcuni di questi codici di stato 244 00:11:32,250 --> 00:11:34,580 anche se non generalmente li vedi. 245 00:11:34,580 --> 00:11:39,090 E abbiamo intenzione di farlo prendendo uno sguardo ad alcuni strumenti di sviluppo. 246 00:11:39,090 --> 00:11:42,050 >> Va bene Così eccomi qui ora nella mia finestra del browser. 247 00:11:42,050 --> 00:11:45,840 E voglio imparare un po ' di più su queste richieste HTTP. 248 00:11:45,840 --> 00:11:49,060 Come faccio a know-- certamente sappiamo se un Pagina goes-- quando qualcosa va storto, 249 00:11:49,060 --> 00:11:49,630 si ottiene un 404. 250 00:11:49,630 --> 00:11:50,465 Abbiamo visto tutti che. 251 00:11:50,465 --> 00:11:51,840 Non abbiamo bisogno di dimostrare che. 252 00:11:51,840 --> 00:11:53,048 Ma quali sono alcuni altri? 253 00:11:53,048 --> 00:11:56,850 E come potremmo vedere queste richieste in azione? 254 00:11:56,850 --> 00:11:59,990 >> Quindi prima cosa che ho intenzione di fare è aprire Developer Tools. 255 00:11:59,990 --> 00:12:02,580 Così Developer Tools sono costruiti nella maggior parte dei browser moderni 256 00:12:02,580 --> 00:12:06,020 e ci permettono di vedere le cose che non lo facciamo altrimenti 257 00:12:06,020 --> 00:12:10,580 see-- qualche informazione in più specie di la trasmissione sotto la nostra web 258 00:12:10,580 --> 00:12:11,500 richieste. 259 00:12:11,500 --> 00:12:12,790 Sto utilizzando Google Chrome qui. 260 00:12:12,790 --> 00:12:16,900 E per aprire Strumenti di sviluppo in Chrome, basta premere F-12, 261 00:12:16,900 --> 00:12:18,729 e sta andando ad aprire esso sul lato. 262 00:12:18,729 --> 00:12:21,770 Una volta digito la richiesta, io lo zoom in così possiamo vedere che cosa sta succedendo qui. 263 00:12:21,770 --> 00:12:28,530 Ma quello che ho intenzione di fare nel mio browser Bar è-- e io lo zoom in oltre qui-- 264 00:12:28,530 --> 00:12:32,427 Farò una richiesta a www.google.com. 265 00:12:32,427 --> 00:12:34,260 Tutti noi abbiamo probabilmente fatto questa richiesta prima. 266 00:12:34,260 --> 00:12:35,400 Ho intenzione di premere Invio. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Ora, qui nella mia Developer Strumenti, ho scelto la scheda Rete. 269 00:12:46,400 --> 00:12:48,010 E si nota un sacco di cose qui. 270 00:12:48,010 --> 00:12:51,732 Guardate these-- 200 OK, OK 200, un po ' di questi codici di stato in arrivo. 271 00:12:51,732 --> 00:12:53,356 Non so perché mi sto 302 Found. 272 00:12:53,356 --> 00:12:54,860 Non mi rendevo conto che avrei visto che uno. 273 00:12:54,860 --> 00:12:58,192 Ma in fondo notare che piuttosto molto, in termini di mia richiesta-- Google 274 00:12:58,192 --> 00:13:00,150 Ho fatto un semplice richiesta per la pagina di Google. 275 00:13:00,150 --> 00:13:02,890 E nel processo di offrendo la mia richiesta, 276 00:13:02,890 --> 00:13:05,670 Google a quanto pare ha fatto un sacco di altre richieste da parte mia. 277 00:13:05,670 --> 00:13:11,990 >> Ma ho fatto una richiesta GET per Google pagina e sto ricevendo un sacco di 200 OKs. 278 00:13:11,990 --> 00:13:14,830 Non riesco a visualizzare 200 OK mio schermo, ma mi sto 279 00:13:14,830 --> 00:13:17,170 molte richieste che sono state fatte. 280 00:13:17,170 --> 00:13:19,550 Più Uno che io sono abbastanza sicuro è andare a lavorare 281 00:13:19,550 --> 00:13:21,920 è-- per quelli di voi che sono veramente vecchia scuola, 282 00:13:21,920 --> 00:13:26,012 si può sapere che Facebook è stato Non sempre a Facebook.com. 283 00:13:26,012 --> 00:13:29,780 Nei suoi primi giorni era a wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 A quanto pare non potevano avere accesso a Facebook.com per un bel po '. 285 00:13:33,560 --> 00:13:35,870 >> E così quello che mi aspetto qui è quello di ottenere informazioni. 286 00:13:35,870 --> 00:13:37,315 E vedremo se questo filtra fuori. 287 00:13:37,315 --> 00:13:39,190 Quello che sto aspettando qui è quello di ottenere informazioni 288 00:13:39,190 --> 00:13:43,980 che Facebook si è mosso in modo permanente da thefacebook.com a Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Quindi mi aspetto qualche parte vicino alla parte superiore delle mie richieste 290 00:13:46,830 --> 00:13:50,730 sopra nei miei Developer Tools per ottenere una notifica 301 291 00:13:50,730 --> 00:13:52,580 che Facebook si è mosso in modo permanente. 292 00:13:52,580 --> 00:13:59,070 Ancora una volta, non voglio vedere 301 sul mio schermo del browser. 293 00:13:59,070 --> 00:14:01,380 E poiché si tratta di un 301, si tratta di un trasferimento definitivo. 294 00:14:01,380 --> 00:14:03,500 Il mio browser, è che si tratta di un browser moderno, 295 00:14:03,500 --> 00:14:06,110 sta probabilmente andando a reindirizzare mi Facebook.com comunque. 296 00:14:06,110 --> 00:14:07,260 Ma vediamo cosa succede. 297 00:14:07,260 --> 00:14:09,340 >> E ora ho intenzione di andare a thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 E sì, ci è proprio in cima. 299 00:14:11,370 --> 00:14:13,390 E 'andato via, ma era lì. 300 00:14:13,390 --> 00:14:14,820 Mi permetta di scorrere qui. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Proprio qui in alto. 303 00:14:18,920 --> 00:14:23,080 Ho fatto una richiesta di thefacebook.com, e sto ottenendo una risposta 304 00:14:23,080 --> 00:14:25,410 che questa pagina si è spostato definitivamente. 305 00:14:25,410 --> 00:14:27,770 E poi qui è 307 un reindirizzamento interno. 306 00:14:27,770 --> 00:14:30,680 E così questo è quello che ha in realtà mi ha commosso per la molto più 307 00:14:30,680 --> 00:14:33,330 www.facebook.com familiare. 308 00:14:33,330 --> 00:14:38,480 >> Così questi codici di risposta fanno ancora accadere, anche se noi non li vediamo. 309 00:14:38,480 --> 00:14:40,710 non ci andrò illustrare 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 perché probabilmente avete visto quelli in vari punti. 311 00:14:43,090 --> 00:14:45,740 E 500, vorrei solo essere tipo di-- saremmo fortunati 312 00:14:45,740 --> 00:14:50,380 se ha ottenuto un 500 perché non sappiamo cosa server sono attualmente nessuna parte. 313 00:14:50,380 --> 00:14:53,060 Ma questi codici fanno esiste, e c'è un modo 314 00:14:53,060 --> 00:14:58,610 per accedervi, anche se non lo facciamo vederli in prima persona sui nostri sistemi. 315 00:14:58,610 --> 00:14:59,530 Sono Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Questo è CS50. 317 00:15:01,570 --> 00:15:03,557