1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Semana 7, continuación] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Harvard University] 3 00:00:05,090 --> 00:00:07,780 [Esta é CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Todo ben. Welcome Back. Este é CS50, 5 00:00:09,810 --> 00:00:12,100 e este é o fin de semana 7. 6 00:00:12,100 --> 00:00:15,460 Así, unha desas cousas estúpidas pequenas que xira en torno de Internet 7 00:00:15,460 --> 00:00:24,080 e sorveu-se, e debe agora facer un pouco de sentido nerd para ti. 8 00:00:24,080 --> 00:00:28,330 Ben, era máis divertido con este cara que era para vós. 9 00:00:28,330 --> 00:00:32,619 Fala niso, así, persoal, 10 00:00:32,619 --> 00:00:42,550 hoxe é o aniversario de Nate. 11 00:00:42,550 --> 00:00:46,630 Para lle dar unha sensación de Nate o quão bo e eu somos 12 00:00:46,630 --> 00:00:50,140 en desenvolvemento web con base na clase de luns e con base agora sobre iso, 13 00:00:50,140 --> 00:00:53,170 Eu penso que eu ía tirar páxina Nate casa, se non viu aínda. 14 00:00:53,170 --> 00:00:57,020 Este aquí HTML ía Nate. 15 00:00:57,020 --> 00:00:59,380 Entón, ver o código fonte, se quere ver como facelo, e Nate, 16 00:00:59,380 --> 00:01:02,250 se puidésemos embarass só brevemente, o equipo ten peixe 17 00:01:02,250 --> 00:01:06,080 Se quere compartir algunha sobremesa con algunhas dos nenos da clase aquí. 18 00:01:06,080 --> 00:01:10,150 Se desexa vir abaixo. 19 00:01:10,150 --> 00:01:14,350 Vostedes todos aplauden e son moi agradables, pero ninguén está sentado preto Nate, 20 00:01:14,350 --> 00:01:17,560 por algunha razón, aquela zona ao redor. 21 00:01:17,560 --> 00:01:24,020 Entón quizais podes atopar algunhas persoas para gozar estes con. 22 00:01:24,020 --> 00:01:33,380 Feliz Aniversario, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Hellos adicionais: Nós mostramos un clips parella nosos alumnos CS50x. 24 00:01:37,660 --> 00:01:39,710 Se desexa ver quen é o mundo 25 00:01:39,710 --> 00:01:41,850 que está acompañando, pode ir a esta URL, 26 00:01:41,850 --> 00:01:45,780 onde José, un dos nosos TFS, montou unha especie de montaxe 27 00:01:45,780 --> 00:01:50,290 de todos que ten enviado os vídeos, entre eles Rick Astley. 28 00:01:50,290 --> 00:01:53,010 E se percorrer estes, é realmente moi inspirado 29 00:01:53,010 --> 00:01:56,890 ver a diversidade de países e cidades a partir do cal as persoas están vindos. 30 00:01:56,890 --> 00:02:00,830 Entón, se quere dar un ollo niso, que será de ata o final do semestre. 31 00:02:00,830 --> 00:02:05,370 Hoxe imos seguir o noso ollar para a web, programación web, HTML e afíns, 32 00:02:05,370 --> 00:02:08,280 e tamén comer chegando este venres 33 00:02:08,280 --> 00:02:11,360 Se desexa, e, en particular, non o fixeron antes. 34 00:02:11,360 --> 00:02:13,630 O tema deste venres será o aniversario de Nate, 35 00:02:13,630 --> 00:02:15,700 Entón, se quere ter xantar de aniversario con Nate 36 00:02:15,700 --> 00:02:17,500 e outros, algúns dos nosos amigos de Industria, 37 00:02:17,500 --> 00:02:19,300 por favor cabeza para a URL alí. 38 00:02:19,300 --> 00:02:22,510 Espazo, como sempre, é limitada. Ademais, se esqueceu, 39 00:02:22,510 --> 00:02:26,460 entender que a próxima semana é o prazo para o problema definido 4 de cacería, 40 00:02:26,460 --> 00:02:30,070 en que despois de se recuperar de todas esas JPEGs de card.raw, 41 00:02:30,070 --> 00:02:32,880 vostede e os seus compañeiros de sección, se o desexa, pode tentar fotografía 42 00:02:32,880 --> 00:02:36,100 como moitos dos científicos da computación de tarxeta de memoria que sexa posible, 43 00:02:36,100 --> 00:02:39,070 e vostede ea súa sección pode gañar un premio fabuloso. 44 00:02:39,070 --> 00:02:44,470 Remitir a pset 4 de especificación do que presentar e cando. 45 00:02:44,470 --> 00:02:47,650 Ademais, se quere ter a súa obra imortalizada 46 00:02:47,650 --> 00:02:51,400 na páxina web do curso ea súa historia de roupa, 47 00:02:51,400 --> 00:02:54,010 sei que é benvido agora para comezar a enviar proxectos 48 00:02:54,010 --> 00:02:57,180 para este ano, camisetas e camisolas e afíns. 49 00:02:57,180 --> 00:02:59,200 Nós imos facer o noso mellor para incluír o maior número que pode, 50 00:02:59,200 --> 00:03:01,440 pero imos ter algúns membros do persoal da revisión de todos os proxectos 51 00:03:01,440 --> 00:03:04,180 para asegurarse de que eles están de acordo coas especificacións, 52 00:03:04,180 --> 00:03:07,500 e en seguida, escoller xeralmente un puñado deles para ser exhibido. 53 00:03:07,500 --> 00:03:10,620 Entón, se é o tipo de construción, só sei que os requisitos 54 00:03:10,620 --> 00:03:14,030 para gráficos PNG son, polo menos 200 dpi, 55 00:03:14,030 --> 00:03:16,520 non debe ser superior a 4000 x 4000 píxeles, 56 00:03:16,520 --> 00:03:19,010 e non máis de 10 MB, pero é benvido para usar cousas como 57 00:03:19,010 --> 00:03:22,430 Photoshop ou GIMP ou varios gráficos de programas, 58 00:03:22,430 --> 00:03:24,590 o que ten á súa disposición. 59 00:03:24,590 --> 00:03:28,280 >> Tamén no horizonte é o proxecto final. O proxecto final é realmente o clímax de 50, 60 00:03:28,280 --> 00:03:30,560 cal de todas as atribucións do curso, 61 00:03:30,560 --> 00:03:33,170 É a súa oportunidade de realmente facer a súa propia cousa. 62 00:03:33,170 --> 00:03:35,280 E iso pode ser simplemente facer algo para divertirse, 63 00:03:35,280 --> 00:03:38,160 pode ser para resolver un problema urxente seu grupo de estudante ten, 64 00:03:38,160 --> 00:03:40,980 por algún novo sitio web, algún mecanismo de nova colección de datos. 65 00:03:40,980 --> 00:03:43,420 Pode ser unha aplicación móbil para Android, para IOS. 66 00:03:43,420 --> 00:03:46,030 Realmente, o ceo é o límite, e ao longo das próximas semanas, 67 00:03:46,030 --> 00:03:50,900 como transición C para estas linguaxes de alto nivel como PHP e JavaScript, 68 00:03:50,900 --> 00:03:55,150 vai atopar-se cada vez máis familiarizado con algunhas técnicas do mundo real, 69 00:03:55,150 --> 00:03:57,800 algunhas ferramentas do mundo real, e para complementar que, 70 00:03:57,800 --> 00:04:00,170 sei que o curso ten unha historia de seminarios, 71 00:04:00,170 --> 00:04:02,880 en que ao longo das semanas seguintes, algúns dos docentes 72 00:04:02,880 --> 00:04:06,160 e os nosos amigos de no campus ofrecerá seminarios opcionais 73 00:04:06,160 --> 00:04:08,540 que van enriba e alén do que é normalmente feito na sección 74 00:04:08,540 --> 00:04:11,090 para presentar-lle cousas como programación Android 75 00:04:11,090 --> 00:04:13,450 para presentar-lle cousas como IOS programación 76 00:04:13,450 --> 00:04:15,950 ou máis avanzadas técnicas de desenvolvemento web. 77 00:04:15,950 --> 00:04:17,970 Hai toda unha historia de estes xa en liña. 78 00:04:17,970 --> 00:04:25,000 Se vai para cs50.net/seminars, estamos facendo iso hai varios anos, 79 00:04:25,000 --> 00:04:28,740 e vai ver que arquivada aquí con PDFs e vídeos e afíns 80 00:04:28,740 --> 00:04:33,090 son decenas de vídeos de varios seminarios. 81 00:04:33,090 --> 00:04:37,380 O ano pasado, por exemplo, tivemos un seminario sobre acing súas entrevistas técnicas, 82 00:04:37,380 --> 00:04:40,980 se está realmente ollando para saír e facer un estadio ou de tempo completo show. 83 00:04:40,980 --> 00:04:43,450 Windows Mobile desenvolvemento, desenvolvemento Android, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, desenvolvemento para o BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Realmente, vostede é benvido para dar un ollo en calquera destes seminarios da súa conveniencia. 86 00:04:52,610 --> 00:04:57,080 E nós imos estar seguro algúns novos neste semestre, tamén. 87 00:04:57,080 --> 00:04:59,020 >> Entón, o que está á fronte co proxecto final? 88 00:04:59,020 --> 00:05:01,090 Ben, en primeiro lugar, aínda que esta data é un pouco inminente, 89 00:05:01,090 --> 00:05:06,460 iso é realmente só unha oportunidade para comezar a pensar o proxecto final bastante realista. 90 00:05:06,460 --> 00:05:10,550 Sabemos só o comezo algunhas das cousas que aínda imos facer a cobertura no curso, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP e afíns, pero estamos todos familiarizado coa web, 92 00:05:13,470 --> 00:05:16,270 e prexuízo eu esta conversa para a web só porque 93 00:05:16,270 --> 00:05:18,380 a maioría da xente acaban facendo proxectos baseados na web finais, 94 00:05:18,380 --> 00:05:20,260 pero que non é de forma necesaria. 95 00:05:20,260 --> 00:05:22,260 Usando C é bo, Objective C, Java, 96 00:05:22,260 --> 00:05:25,350 calquera outra lingua que poida saber ou querer saber, é moi tenue. 97 00:05:25,350 --> 00:05:29,370 Pero, para obter os zumes fluíndo inicialmente, imos esperar a presentación dun preproposal 98 00:05:29,370 --> 00:05:33,520 que, polo PDF na web, que é agora de cs50.net, 99 00:05:33,520 --> 00:05:36,080 e na esquina superior esquerda podes ver proxecto final 100 00:05:36,080 --> 00:05:38,920 é a especificación para o proxecto final, 101 00:05:38,920 --> 00:05:41,470 e existen máis detalles sobre a preproposal e similares. 102 00:05:41,470 --> 00:05:44,760 Ferve practicamente resume a un correo electrónico para o seu compañeiro de ensino 103 00:05:44,760 --> 00:05:48,450 só para iniciar unha conversa con el ou con ela sobre o que está a pensar. 104 00:05:48,450 --> 00:05:52,510 En projects.cs50.net é un repositorio de ideas de persoas no campus 105 00:05:52,510 --> 00:05:54,480 Se está loitando para chegar a algunha idea, 106 00:05:54,480 --> 00:06:01,140 e manual.cs50.net/APIs é un repositorio de enlaces a APIs 107 00:06:01,140 --> 00:06:06,710 >> O que, con todo, é unha API? 108 00:06:06,710 --> 00:06:09,790 ¿Que é unha API? Eu xa dixen iso polo menos dúas veces, 109 00:06:09,790 --> 00:06:12,640 de acordo coas transcricións das últimas semanas. 110 00:06:12,640 --> 00:06:17,050 ¿Que é iso? [Estudante, inintelixible] 111 00:06:17,050 --> 00:06:19,340 >> Ok, bo. Entón, interface de programación de algo. 112 00:06:19,340 --> 00:06:22,710 Interface de programación de aplicación, e isto pode tomar varias formas, 113 00:06:22,710 --> 00:06:25,850 pero o que dicir resume realmente para abaixo e de código 114 00:06:25,850 --> 00:06:29,660 que alguén hs escrito ou datos que alguén teña recollidos 115 00:06:29,660 --> 00:06:33,670 que está dispoñible para vostede de algunha maneira programática. 116 00:06:33,670 --> 00:06:36,630 Podes escribir código en C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 calquera que sexa o idioma da súa elección xeralmente é, 118 00:06:38,760 --> 00:06:42,240 e pode dalgún xeito construír enriba de outra persoa funcionalidade 119 00:06:42,240 --> 00:06:44,440 ou outra persoa conxunto de datos. 120 00:06:44,440 --> 00:06:47,210 Por exemplo, se eu ir a este enlace aquí, 121 00:06:47,210 --> 00:06:50,750 e vai ver un par de enlaces que aparecen na páxina seguinte 122 00:06:50,750 --> 00:06:56,093 polo que temos propias APIs CS50, que son moi Harvard-céntrica, e despois APIs de terceiros. 123 00:06:56,930 --> 00:06:59,300 Entre as APIs de terceiros son cousas realmente útiles 124 00:06:59,300 --> 00:07:01,780 como ser capaz de enviar a xente para o SMS, o 125 00:07:01,780 --> 00:07:04,690 ser capaz de recibir as mensaxes de texto SMS de persoas. 126 00:07:04,690 --> 00:07:08,160 E cousas así que pode ter ningunha idea de como aplicar a si mesmo, 127 00:07:08,160 --> 00:07:10,440 pero grazas a servizos, algúns, libres e algúns comerciais 128 00:07:10,440 --> 00:07:14,000 pode construír sobre os e facer algo de interese para vostede. 129 00:07:14,000 --> 00:07:16,990 Entre APIs CS50 son estas cousas campus-céntrica como 130 00:07:16,990 --> 00:07:21,480 Cursos de Harvard, enerxía, eventos, alimentación, mapas, novas, tweets e Shuttleboy propio, 131 00:07:21,480 --> 00:07:23,940 e estes son APIs que mirar un pouco algo como isto. 132 00:07:23,940 --> 00:07:26,990 >> Deixe-me puxar arriba a API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Se xa foi para o sitio web do HUD, probablemente xa estivo alí 134 00:07:30,620 --> 00:07:35,410 só para ver o que hai para a cea ou para ver o que as horas son para algúns d-hall. 135 00:07:35,410 --> 00:07:38,000 Ben, non é particularmente fácil de navegar, 136 00:07:38,000 --> 00:07:41,100 e así o que fixemos hai algún tempo foi que escribiu o software, 137 00:07:41,100 --> 00:07:47,270 el pasa a ser en PHP, que realmente pantalla raspa a totalidade do web HUD. 138 00:07:47,270 --> 00:07:51,400 Para a pantalla algo raspar significa escribir un programa nunha linguaxe como PHP 139 00:07:51,400 --> 00:07:55,270 que pretende ser un navegador, aínda que poida executa-lo nun ventá de consola, 140 00:07:55,270 --> 00:07:58,180 que pretende ser un navegador, se conecta a un sitio web, 141 00:07:58,180 --> 00:08:01,480 traslada o seu HTML, a linguaxe en que está escrito, 142 00:08:01,480 --> 00:08:04,300 e, a continuación, le-lo, ou máis especificamente, analiza-lo 143 00:08:04,300 --> 00:08:06,140 de arriba abaixo, de esquerda a dereita. 144 00:08:06,140 --> 00:08:08,870 E o que fixemos foi que escribir o noso código de tal forma que 145 00:08:08,870 --> 00:08:12,910 cada vez que viu algo en que o HTML que parecía algo no menú, 146 00:08:12,910 --> 00:08:16,470 como hamburguesa, teriamos entón que importar o noso propio banco de datos. 147 00:08:16,470 --> 00:08:20,410 E cada vez que viu o contido nutricional, teriamos que importar o noso propio banco de datos. 148 00:08:20,410 --> 00:08:23,090 E o que fixemos foi aproveitar o feito de que o sitio web do HUD, 149 00:08:23,090 --> 00:08:27,280 aínda que poida ser un pouco de un desafío para nós seres humanos para navegar 150 00:08:27,280 --> 00:08:32,559 debaixo da capa, todo o HTML é xerado polos seus propios programas de ordenador. 151 00:08:32,559 --> 00:08:35,159 Entón, todo o seu HTML, aínda que poida parecer confuso, 152 00:08:35,159 --> 00:08:38,026 como a maioría dos sitios debaixo do capó, segue un patrón. 153 00:08:38,260 --> 00:08:40,799 Entón, só pasei un par de horas para descubrir que o patrón 154 00:08:40,799 --> 00:08:44,240 de xeito que, ao final, nós xogamos fóra todo o HTML desorde, 155 00:08:44,240 --> 00:08:47,340 todos da estética fronte negra e cursiva e afíns, 156 00:08:47,340 --> 00:08:52,350 eo que nós somos entón capaces de facer é expoñer os mesmos datos. 157 00:08:52,350 --> 00:08:54,870 Por exemplo, deste xeito. 158 00:08:54,870 --> 00:08:56,840 Polo tanto, de acordo coa documentación aquí, 159 00:08:56,840 --> 00:08:59,190 informaron o mundo que se solicite unha URL 160 00:08:59,190 --> 00:09:03,310 que se parece iso, food.cs50.net / algo, 161 00:09:03,310 --> 00:09:07,220 e proporcionar certos parámetros, que imos falar hoxe, 162 00:09:07,220 --> 00:09:11,780 como data final hora de inicio da data comida, tempo, e así por diante, 163 00:09:11,780 --> 00:09:14,090 o que os nosos servidores pode voltar a vostede, por exemplo, 164 00:09:14,090 --> 00:09:18,740 é un ficheiro CSV coma, separted valores como un arquivo de Excel, 165 00:09:18,740 --> 00:09:23,140 conteñen todo no almorzo, nesta data especial en marzo do ano pasado 166 00:09:23,140 --> 00:09:25,450 cando pasou de eu escribir esta documentación. 167 00:09:25,450 --> 00:09:27,870 >> Para os familiares, CSV non é o formato de ficheiro único. 168 00:09:27,870 --> 00:09:30,610 Hai outro formato que é todo o máis versátil 169 00:09:30,610 --> 00:09:32,670 chamado JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Os datos poden volver nese formato. 171 00:09:34,770 --> 00:09:38,110 Así, o takeaway aquí é que se mergullar nesta API 172 00:09:38,110 --> 00:09:41,170 ou calquera outro dos CS50 ou calquera cousa aí fóra, en Internet, 173 00:09:41,170 --> 00:09:45,560 ou non en todo, entender que o mundo ten cada vez máis comezou a estandarizar 174 00:09:45,560 --> 00:09:47,670 como as máquinas se intercomunicam. 175 00:09:47,670 --> 00:09:50,660 Usan formatos estándar de datos como CSV ou JSON. 176 00:09:50,660 --> 00:09:54,320 E o que isto significa para vostede é que pode escribir a parte interesante dun programa 177 00:09:54,320 --> 00:09:56,580 que permite que o usuario procure un menú de comedor, 178 00:09:56,580 --> 00:10:00,010 que lles permite crear listas de favoritos que lles permite recibir alertas de texto 179 00:10:00,010 --> 00:10:02,480 cando a súa comida favorita está a piques de ser servido en algúns d-hall 180 00:10:02,480 --> 00:10:07,090 usando conxuntos de datos de outra persoa e de construción enriba da súa API. 181 00:10:07,090 --> 00:10:13,600 Así, máis do que en forma de seminarios e da documentación que ten aquí en liña. 182 00:10:13,600 --> 00:10:16,450 Polo tanto, aqueles, entón, son APIs 183 00:10:16,450 --> 00:10:18,900 >> Iso nos trae de volta ó HTML. Rápida recapitulação. 184 00:10:18,900 --> 00:10:22,920 ¿Que é HTML? 185 00:10:22,920 --> 00:10:25,000 [Estudante, inintelixible] Boa. >> Formato Markup Language. 186 00:10:25,000 --> 00:10:31,300 Outra persoa, o que é de formato Markup Language? 187 00:10:31,300 --> 00:10:37,340 Formato Markup Language. 188 00:10:37,340 --> 00:10:40,330 Okay. Entón, HTML, formato. 189 00:10:40,330 --> 00:10:43,100 Formato refírese só á web, para a maior parte. 190 00:10:43,100 --> 00:10:45,730 Replanteo significa que non é, en realidade, unha linguaxe de programación, HTML. 191 00:10:45,730 --> 00:10:48,120 Non é unha linguaxe que pode expresar a lóxica dentro 192 00:10:48,120 --> 00:10:50,710 El non ten loops. El non ten condicións. 193 00:10:50,710 --> 00:10:52,820 El non ten funcións, per se. 194 00:10:52,820 --> 00:10:56,680 Pola contra, ten estas cousas chamadas etiquetas, ou máis correctamente, elementos. 195 00:10:56,680 --> 00:10:59,970 E eses elementos teñen marcas de inicio e etiquetas de final, 196 00:10:59,970 --> 00:11:04,300 ou etiquetas abertas e etiquetas pechadas, e que esas marcas xeralmente significa para un navegador é, 197 00:11:04,300 --> 00:11:09,270 comezar a facer algo e, a continuación, deixar de facer algo, aínda que haxa excepcións. 198 00:11:09,270 --> 00:11:12,480 Ás veces é só "poñer unha quebra de liña aquí", por exemplo. 199 00:11:12,480 --> 00:11:15,150 E nós vimos exemplos de que o outro día, entre o enfrontamento negra, 200 00:11:15,150 --> 00:11:17,430 quebras de liña, e entón un par de outras etiquetas. 201 00:11:17,430 --> 00:11:19,880 Entón HTML é a linguaxe no que páxinas están escritas. 202 00:11:19,880 --> 00:11:23,760 Entón, se eu for a algo como Google.com 203 00:11:23,760 --> 00:11:26,180 tire-se só a páxina a súa casa, 204 00:11:26,180 --> 00:11:29,690 lembrar que, se prema co botón dereito ou controlar clic 205 00:11:29,690 --> 00:11:32,140 e ollar para a orixe da páxina vista, normalmente 206 00:11:32,140 --> 00:11:34,420 é unha desorde completa nestes días debaixo da capa, pero iso é porque 207 00:11:34,420 --> 00:11:38,170 ordenadores non se preocupan o espazo en branco, para que isto non ten que ser fermosa. 208 00:11:38,170 --> 00:11:40,240 Pero se ampliar en partes do mesmo, 209 00:11:40,240 --> 00:11:43,460 observar que o Chrome, só para ser agradable, ten código de cor as cousas. 210 00:11:43,460 --> 00:11:48,460 En realidade, esta é a primeira etiqueta que vimos nunha páxina web. 211 00:11:48,460 --> 00:11:51,750 E, de novo, o HTML 5, a última versión desta linguaxe, 212 00:11:51,750 --> 00:11:53,830 ten esa cousa no inicio, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 pero iso é só unha especie de patrón que di, hey mundo, aí ven un arquivo HTML na versión 5. 215 00:12:03,580 --> 00:12:08,920 >> A parte interesante comeza aquí. Entón 00:12:11,640 dos elementos HTML última vez. 217 00:12:11,640 --> 00:12:14,630 O que eran aquelas dúas nenos principais? 218 00:12:14,630 --> 00:12:17,170 Cabeza e corpo, así como o cara a tatuaxe dun momento atrás. 219 00:12:17,170 --> 00:12:19,640 Hai dúas porcións de páxina web, cabeza e corpo, 220 00:12:19,640 --> 00:12:23,750 e recordo, entón, que talvez a páxina máis simple web poderiamos facer coma este. 221 00:12:23,750 --> 00:12:27,460 E eu teño recuado só para ser unha especie de limpo e arrumado con meu código, 222 00:12:27,460 --> 00:12:30,710 pero o que é realmente importante aquí é que non hai unha xerarquía para iso. 223 00:12:30,710 --> 00:12:35,420 E calquera marca que eu abri eu pechado e que non hai, polo tanto, esta simetría 224 00:12:35,420 --> 00:12:38,300 todos marcado que eu creei. 225 00:12:38,300 --> 00:12:41,620 Entón última vez que comece a escribir páxinas web no meu propio ordenador portátil. 226 00:12:41,620 --> 00:12:45,470 Eu abrín edición de texto, eu salvei o ficheiro como hello.html, 227 00:12:45,470 --> 00:12:50,190 Eu, entón, arrastrou o ficheiro para o meu navegador, e listo, eu tiña unha páxina en Internet. 228 00:12:50,190 --> 00:12:53,110 Agora, non é ben así, eu tiña unha páxina no meu disco duro, 229 00:12:53,110 --> 00:12:58,260 e eu estaba literalmente a única persoa no mundo que vai ver a páxina web en un navegador. 230 00:12:58,260 --> 00:13:00,670 >> Entón, hoxe, nós introducimos un servidor web real 231 00:13:00,670 --> 00:13:02,750 ea noción de verdade servindo de contido en internet 232 00:13:02,750 --> 00:13:04,970 e como iso todo comeza a encaixar. 233 00:13:04,970 --> 00:13:08,350 Así, verifícase que todo este tempo no aparello CS50 234 00:13:08,350 --> 00:13:11,590 xa tivo un servidor web no seu computador. 235 00:13:11,590 --> 00:13:16,560 Nós, con xustiza, só utilizado para gedit, por Clang, para o GDB e similares, 236 00:13:16,560 --> 00:13:21,000 pero tamén instalado por nós para o aparello é un servidor web, 237 00:13:21,000 --> 00:13:23,940 e que o servidor web pasa a ser libre, de código aberto, 238 00:13:23,940 --> 00:13:26,580 un dos máis populares do mundo, chamado Apache. 239 00:13:26,580 --> 00:13:31,340 O seu nome máis técnico é HTTPd, o d estar a servizo aquí, 240 00:13:31,340 --> 00:13:34,110 que é un termo técnico para un servidor. 241 00:13:34,110 --> 00:13:38,690 Entón instalado no aparello CS50 é un servidor web, eo que é o que significa isto? 242 00:13:38,690 --> 00:13:43,740 Ben, un servidor web é, conceptualmente, algún servidor na Internet que serve de contido web. 243 00:13:43,740 --> 00:13:48,630 Cando se lle pregunte sobre un arquivo, el cospe HTML que compón o arquivo, e listo. 244 00:13:48,630 --> 00:13:51,370 Vostede ve algunha páxina de inicio do sitio web. 245 00:13:51,370 --> 00:13:54,970 Pero un servidor é, máis precisamente, unha parte do software. 246 00:13:54,970 --> 00:13:59,190 Non ten que estar nunha máquina física, el só ten que ser un anaco de funcionamento do software. 247 00:13:59,190 --> 00:14:01,980 Así, o dispositivo CS50, por suposto, é un compoñente de software 248 00:14:01,980 --> 00:14:04,270 aínda que é unha especie de finxir ser unha máquina. 249 00:14:04,270 --> 00:14:06,960 El finxe ser un ordenador dentro dun ordenador, 250 00:14:06,960 --> 00:14:11,140 pero iso só significa que o aparello pode certamente facer cousas como servidores web. 251 00:14:11,140 --> 00:14:13,260 Pode executar servidores de correo electrónico. 252 00:14:13,260 --> 00:14:16,440 Nós poderiamos facer un servidor de mensaxería instantánea no aparello, se quixésemos, 253 00:14:16,440 --> 00:14:20,780 e, de feito, nós executar outro tipo de servidor, coñecido como un servidor de base de datos, MySQL. 254 00:14:20,780 --> 00:14:22,620 Pero máis sobre iso a próxima semana. 255 00:14:22,620 --> 00:14:26,400 Isto significa que podo realmente visitar páxinas web 256 00:14:26,400 --> 00:14:30,480 dentro do meu aparello usando un navegador dentro do aparello 257 00:14:30,480 --> 00:14:33,600 ou incluso no meu portátil, meu Mac ou o meu ordenador. 258 00:14:33,600 --> 00:14:37,780 Entón, o que significa isto? Acontece que cada vez que está executando un ordenador con Linux, 259 00:14:37,780 --> 00:14:40,910 seu apelido é "host local." 260 00:14:40,910 --> 00:14:43,370 El non ten un nome de dominio, porque non compraron un nome de dominio 261 00:14:43,370 --> 00:14:46,590 para algo así como o aparello, así que o seu nome por defecto é host local. 262 00:14:46,590 --> 00:14:50,470 >> Pero, para obter o aparello para comezar a servir as páxinas, 263 00:14:50,470 --> 00:14:52,270 temos que crealos primeiro. 264 00:14:52,270 --> 00:14:55,200 Entón, imos facelo. Deixe-me entrar nunha xanela de terminal aquí 265 00:14:55,200 --> 00:14:58,190 e entender que eu estou no meu típico John Harvard ventá. 266 00:14:58,190 --> 00:15:01,670 Deixe-me ir adiante e escriba ls, e imos ver algunhas cousas familiares a partir deste semestre, 267 00:15:01,670 --> 00:15:04,580 escritorio, descargas, dropbox e así por diante, 268 00:15:04,580 --> 00:15:07,540 pero agora comezar a transformar a nosa atención sobre unha parella. 269 00:15:07,540 --> 00:15:11,530 En moitos servidores web Linux hai esa carpeta chamada html público, 270 00:15:11,530 --> 00:15:15,630 pero imos saltar esta unha para agora e centrar esta vhosts,. 271 00:15:15,630 --> 00:15:18,850 Alguén sabe o que é un vhost? 272 00:15:18,850 --> 00:15:21,110 Só xerga estúpido por máquina virtual, 273 00:15:21,110 --> 00:15:23,850 eo que iso significa que, en un típico servidor 274 00:15:23,850 --> 00:15:26,810 realmente pode hospedar varios sitios. 275 00:15:26,810 --> 00:15:31,500 Podes mercar un nome de dominio como foo.com, e pode hóspede-lo nun servidor. 276 00:15:31,500 --> 00:15:36,100 Pero tamén pode mercar bar.com e hóspede-lo no mesmo servidor. 277 00:15:36,100 --> 00:15:40,250 A razón de ser, os navegadores son intelixentes o suficiente para informar ao servidor 278 00:15:40,250 --> 00:15:45,880 cando un usuario está pedindo algunha páxina, o que o nome de dominio que o usuario quere a páxina de inicio para. 279 00:15:45,880 --> 00:15:48,760 Entón, o que é legal sobre iso é que non precisa de un servidor físico 280 00:15:48,760 --> 00:15:52,040 ou un aparello CS50 para cada sitio que pode crear. 281 00:15:52,040 --> 00:15:55,520 Podes usar o mesmo servidor e desenvolver un centenar de sitios diferentes. 282 00:15:55,520 --> 00:15:58,770 E, de feito, se vostede é unha persoa que intenta iniciar un sitio web, 283 00:15:58,770 --> 00:16:02,100 para divertirse ou para o negocio, normalmente vai saír en Internet, 284 00:16:02,100 --> 00:16:04,650 e vai pagar alguén 10 dólares por mes, cen dólares por mes 285 00:16:04,650 --> 00:16:06,670 para hospedar o seu sitio para ti. 286 00:16:06,670 --> 00:16:11,060 E a forma que funciona é que eles están cobrando outros 287 00:16:11,060 --> 00:16:13,160 10 dólares por mes ou cen dólares por mes 288 00:16:13,160 --> 00:16:17,200 para hospedar sitios de outras persoas no seu servidor mesmo. 289 00:16:17,200 --> 00:16:20,740 A razón que poden facer iso é a causa deste recurso chamado bhosts, 290 00:16:20,740 --> 00:16:23,790 pero máis sobre iso cando se trata tempo para proxectos finais. 291 00:16:23,790 --> 00:16:28,360 >> De momento, imos mergullar alí. Entón vhosts cd, e se eu escribir ls agora, 292 00:16:28,360 --> 00:16:31,370 entender que hai unha carpeta alí chamada host local. 293 00:16:31,370 --> 00:16:33,440 Isto porque, por defecto, os números de aparellos 294 00:16:33,440 --> 00:16:36,160 está sempre indo para executar un sitio web nun aparello. 295 00:16:36,160 --> 00:16:38,970 Isto non é realmente o mundo real, non é un servidor web no mundo real. 296 00:16:38,970 --> 00:16:41,690 Entón deixe-me ir a lugares de acollida, e agora imos ver alí 297 00:16:41,690 --> 00:16:44,290 un último directorio chamado HTML. 298 00:16:44,290 --> 00:16:47,080 Entón é un pouco profundo, a xerarquía, pero se e cando 299 00:16:47,080 --> 00:16:51,230 decide comezar a desenvolver varios sitios ao longo dos próximos meses ou anos n, 300 00:16:51,230 --> 00:16:54,370 este tipo de estrutura do cartafol tende a ser útil. 301 00:16:54,370 --> 00:16:56,560 Agora imos HTML como eu fixen, 302 00:16:56,560 --> 00:16:59,010 ls tipo, e nada está aí. 303 00:16:59,010 --> 00:17:01,390 Entón agora imos seguir adiante e facelo. Deixe-me abrir Chrome 304 00:17:01,390 --> 00:17:07,300 interior do aparello, e deixe-me ir a http://localhost. 305 00:17:07,300 --> 00:17:14,440 Entón, literalmente, o nome para o meu aparello, entrar, e eu recibín índice de /. 306 00:17:14,440 --> 00:17:18,290 Isto non é realmente mostrando-me calquera cousa de interese, 307 00:17:18,290 --> 00:17:23,400 pero acontece que o que estamos vendo é que carpeta, HTML. 308 00:17:23,400 --> 00:17:25,770 Non hai nada dentro desa carpeta, agora, 309 00:17:25,770 --> 00:17:28,750 En vez diso, o que eu vou ter que facer é crear un arquivo. 310 00:17:28,750 --> 00:17:33,530 Crear un arquivo HTML, como fixemos o luns, pero esta vez poñelas dentro do aparello. 311 00:17:33,530 --> 00:17:36,830 Para aqueles de vostedes que están tentando seguir xunto con portátiles agora, 312 00:17:36,830 --> 00:17:42,040 deixe-me facer unha separadamente que vai ser abordado no pset web-based, 313 00:17:42,040 --> 00:17:44,280 pero para chegar a este traballo para a primeira vez, 314 00:17:44,280 --> 00:17:49,830 vai ter que correr o comando: sudo start httpd servizo. 315 00:17:49,830 --> 00:17:52,670 E isto, unha vez máis, vai ser repetida no pset último, 316 00:17:52,670 --> 00:17:55,460 pero se está tocando na casa agora, o servidor web 317 00:17:55,460 --> 00:17:58,660 é desactivado o aparello, e iso é para que non debilitar a memoria RAM 318 00:17:58,660 --> 00:18:01,960 e memoria para 7 semanas do semestre cando non precisa. 319 00:18:01,960 --> 00:18:05,190 Entón, ten que executar este comando unha vez, e terá unha saída como esta. 320 00:18:05,190 --> 00:18:07,920 Entón ten que ser capaz de xogar xunto aquí. 321 00:18:07,920 --> 00:18:10,330 Agora imos voltar a esta carpeta. 322 00:18:10,330 --> 00:18:12,770 Este cartafol está baleira, entón deixe-me comezar a crear un arquivo, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Todo ben. Gedit é aberta, como de costume. Deixe-me facer doctype, html, 325 00:18:20,930 --> 00:18:25,270 html, deixe-me chegar á fronte de min e comezar a pechar as miñas marcas con antelación. 326 00:18:25,270 --> 00:18:28,380 Agora eu teño a cabeza. Deixe-me ir á fronte e pechar a cabeza, 327 00:18:28,380 --> 00:18:32,450 deixe-me agora facer o título da páxina, Ola mundo como a última vez, 328 00:18:32,450 --> 00:18:34,790 título preto, agora déixeme facer un corpo. 329 00:18:34,790 --> 00:18:38,130 Aquí eu vou dicir Hola, mundo con algúns exclams 330 00:18:38,130 --> 00:18:40,550 para deixar claro que é unha secuencia diferente. 331 00:18:40,550 --> 00:18:45,800 Corpo preto, e agora déixeme ir adiante e presentar gardar. 332 00:18:45,800 --> 00:18:48,470 Deixe-me volver para a miña xanela de terminal, e se eu escribir ls, 333 00:18:48,470 --> 00:18:51,830 Eu debería, supostamente, ver hello.html. E fago. 334 00:18:51,830 --> 00:18:55,070 Entón agora imos voltar para o meu navegador, prema en Recargar, 335 00:18:55,070 --> 00:18:58,930 e podes ver que estamos de feito neste cartafol HTML. 336 00:18:58,930 --> 00:19:02,310 Eu non estou a ver unha páxina web aínda, o que é o Apache, servidor web, 337 00:19:02,310 --> 00:19:04,670 só me amosando o contido da lista deste directorio. 338 00:19:04,670 --> 00:19:08,260 Así como o Mac OS ou Windows normalmente fan na súa unidade local duro. 339 00:19:08,260 --> 00:19:12,730 Entón, se eu quero ver esta páxina web, facer clic nese enlace pouco aquí, hello.html, 340 00:19:12,730 --> 00:19:15,160 e, de feito, é o que eu estaba esperando para ver. 341 00:19:15,160 --> 00:19:18,080 Agora, de novo, este non é un URL que calquera de vostedes pode visitar agora, 342 00:19:18,080 --> 00:19:20,760 porque para aloxar, lugar, se ten un portátil aquí, 343 00:19:20,760 --> 00:19:23,050 Está referíndose á súa propia instancia do aparello. 344 00:19:23,050 --> 00:19:25,900 Iso está no meu dispositivo persoal, 345 00:19:25,900 --> 00:19:29,080 pero este é o tipo de idiota que eu teño, de 346 00:19:29,080 --> 00:19:34,480 un usuario como eu premer en hello.html para realmente ver o contido da páxina. 347 00:19:34,480 --> 00:19:42,590 Acontece que os servidores web como Apache deixa vostede ten un arquivo por defecto para calquera servidor web. 348 00:19:42,590 --> 00:19:44,640 Teña en conta aquí temos hello.html. 349 00:19:44,640 --> 00:19:48,410 Cal é o comando Linux para renomear un ficheiro? 350 00:19:48,410 --> 00:19:50,870 >> MV, para o movemento. Entón deixe-me facer isto, 351 00:19:50,870 --> 00:19:55,870 e deixe-me o nome hello.html a index.html. 352 00:19:55,870 --> 00:19:58,610 Deixe-me escribir ls para confirmala la agora foi renomeado. 353 00:19:58,610 --> 00:20:03,250 Agora é que isto vai - se eu volver aos lugares de acollida, 354 00:20:03,250 --> 00:20:06,710 entender agora que eu estou vendo que automaticamente páxina web. 355 00:20:06,710 --> 00:20:11,740 Isto é o mesmo que o meu realmente facendo / index.html, 356 00:20:11,740 --> 00:20:14,740 pero o bo é que agora o servidor web está imaxinando, 357 00:20:14,740 --> 00:20:18,830 oh, se ten un arquivo que, por convencións humanas, é chamado index.html 358 00:20:18,830 --> 00:20:21,200 deixe-me amosar o usuario arquivo por defecto 359 00:20:21,200 --> 00:20:25,290 en vez de un directorio listaxe estúpido que non é de todo amigable. 360 00:20:25,290 --> 00:20:28,900 En realidade, a maioría dos sitios que visita en Internet non ten unha lista de arquivos para premer, 361 00:20:28,900 --> 00:20:34,040 eles só amosar-lle o contido. Entón é así que podemos facer iso, index.html. 362 00:20:34,040 --> 00:20:37,000 Polo tanto, esta é toda a diversión e bo, pero esta é unha páxina web moi sinxelo. 363 00:20:37,000 --> 00:20:41,640 Deixe-me ir adiante e abrir index.html meus vhosts, 364 00:20:41,640 --> 00:20:47,620 hosts locais, directorio de HTML, e imos engadir algo de maior interese. 365 00:20:47,620 --> 00:20:56,120 Polo tanto, non hai Ola mundo, imos en vez dicir 'Isto é CS50, Harvard College. . . ' 366 00:20:56,120 --> 00:21:00,000 Así, no inicio do curso da descrición do catálogo de calquera tipo alí. 367 00:21:00,000 --> 00:21:03,780 Agora, se eu actualizar, eu debería ver iso na miña páxina de inicio. 368 00:21:03,780 --> 00:21:09,560 Ok, e eu vexo iso, pero supoñamos que quero agora listar algúns contidos máis neste arquivo. 369 00:21:09,560 --> 00:21:15,160 Eu podería ir ata aquí e dicir que ningún requisitos, 370 00:21:15,160 --> 00:21:18,740 aínda que algúns de vostedes probablemente están como, "ha ha ha, ningún requisito. 371 00:21:18,740 --> 00:21:24,320 Pero - oficialmente. Entón actualizar, e agora temos a peculiaridade mesmo que vimos a última vez. 372 00:21:24,320 --> 00:21:26,240 Pero por que isto? Foi unha simple corrección. 373 00:21:26,240 --> 00:21:31,440 Por que é que esta páxina roto? 374 00:21:31,440 --> 00:21:34,170 [Estudante, inintelixible] >> Si, nós resolvemos isto antes 375 00:21:34,170 --> 00:21:37,440 explicitamente dicindo ao navegador "poñer unha quebra de liña aquí." 376 00:21:37,440 --> 00:21:39,440 E iso porque, de novo, un navegador só vai facer 377 00:21:39,440 --> 00:21:42,610 explicitamente que a linguaxe de marcado di para facer, 378 00:21:42,610 --> 00:21:45,730 por iso mesmo que pode atinxir entrar unha ou dúas veces incluso dez veces, 379 00:21:45,730 --> 00:21:49,870 que vai combinar iso todo nun único espazo, só por convención. 380 00:21:49,870 --> 00:21:52,770 Entón, se realmente quere unha quebra de liña, ten que usar a etiqueta br, 381 00:21:52,770 --> 00:21:56,840 e agora o aviso previo, como o luns, eu coloque o dentro / desa marca, 382 00:21:56,840 --> 00:22:00,090 só porque esta simplemente non se sente ben 383 00:22:00,090 --> 00:22:02,990 para iniciar unha quebra de liña, entón para-lo con nada entre eles. 384 00:22:02,990 --> 00:22:07,740 >> Así, a convención HTML é abrir e pechar unha etiqueta simultaneamente. 385 00:22:07,740 --> 00:22:11,050 Como un aparte, vai ver unha morea de sitios de libros non facendo iso. 386 00:22:11,050 --> 00:22:14,240 É correcto facer ou non facer, pero diriamos 387 00:22:14,240 --> 00:22:17,430 que o proxecto-sabio e estilisticamente, é só mellor 388 00:22:17,430 --> 00:22:20,540 porque, entón, cada marca é tanto abrir e pechar de algunha maneira. 389 00:22:20,540 --> 00:22:23,370 Entón agora imos gardar e recargar. Voltar para o navegador, ok. 390 00:22:23,370 --> 00:22:26,680 Agora estamos facendo algún progreso, pero non é o bastante. 391 00:22:26,680 --> 00:22:33,210 Imos adiante e comezar a escribir nalgún tempo o corpo do texto. 392 00:22:33,210 --> 00:22:40,610 Entón, imos dicir, 'A rápida raposo marrón salta sobre un can preguiceiro. " 393 00:22:40,610 --> 00:22:42,700 E agora déixeme só copiar e pegar este algunhas veces 394 00:22:42,700 --> 00:22:45,040 de xeito que temos un parágrafo de texto. 395 00:22:45,040 --> 00:22:47,780 Deixe-me volver aquí. Polo tanto, non está mirando moi bo. 396 00:22:47,780 --> 00:22:50,000 Eu teño unha quebra de liña, entón está todo ben, 397 00:22:50,000 --> 00:22:52,140 pero agora, xa que estamos chegando ao punto de ter unha páxina web 398 00:22:52,140 --> 00:22:55,640 que ten moito contido e non só liñas individuais para demostrar HTML 399 00:22:55,640 --> 00:22:58,570 podemos empezar a pensar nesas cousas como parágrafos reais. 400 00:22:58,570 --> 00:23:01,590 E podemos empezar a estruturar a nosa páxina web un pouco máis limpa. 401 00:23:01,590 --> 00:23:05,120 E, de feito, o que podo facer é ir ata aquí, dentro da miña tag corpo, 402 00:23:05,120 --> 00:23:09,400 e vostede sabe que, se 'Este é CS50. . . ' demarks realmente o inicio dun parágrafo, 403 00:23:09,400 --> 00:23:11,310 así, imos marcalo como tal. 404 00:23:11,310 --> 00:23:13,570 Deixe-me recuar o texto, só por convención, deixe-me dicir 405 00:23:13,570 --> 00:23:15,710 que este parágrafo remata aquí, 406 00:23:15,710 --> 00:23:18,320 e despois, no canto de facelo quebra de liña, deixe-me dicir 407 00:23:18,320 --> 00:23:23,300 que este pertence alí e como un novo parágrafo 408 00:23:23,300 --> 00:23:27,610 e eu vou só rapidamente guión por só superpoñer todas esas cousas. 409 00:23:27,610 --> 00:23:30,660 >> Polo tanto, agora temos un parágrafo recuado alí, 410 00:23:30,660 --> 00:23:33,510 e agora a nosa cita está empezando a estar un pouco máis 411 00:23:33,510 --> 00:23:37,070 semanticamente consistente co que estamos intentando facer. 412 00:23:37,070 --> 00:23:40,130 Temos un parágrafo, entón imos chamalo de un parágrafo coa tag p. 413 00:23:40,130 --> 00:23:43,370 Temos un parágrafo segundo, entón imos chamalo de un parágrafo coa tag p. 414 00:23:43,370 --> 00:23:45,850 E agora, que o navegador normalmente fan 415 00:23:45,850 --> 00:23:48,490 é como un libro de inglés ou ensaio, 416 00:23:48,490 --> 00:23:51,280 onde adoita ver algunhas quebras de liña entre os parágrafos. 417 00:23:51,280 --> 00:23:53,720 Navegadores vai facelo por vostede automaticamente. 418 00:23:53,720 --> 00:23:56,680 Polo tanto, agora temos dous parágrafos e podemos seguir iso. 419 00:23:56,680 --> 00:23:58,770 Pero, por suposto, na web, cando ten corpos de texto 420 00:23:58,770 --> 00:24:01,370 non é normalmente só manchas enormes de texto. 421 00:24:01,370 --> 00:24:04,040 Existen moitas veces hiperlinks alí. 422 00:24:04,040 --> 00:24:07,250 Entón, se queremos, por exemplo, incluír algúns enlaces alí, 423 00:24:07,250 --> 00:24:10,760 creo que o que pode ser de interese en calquera páxina web que eu estou creando aquí é - 424 00:24:10,760 --> 00:24:12,780 deixe-me ir ao Google.com, 425 00:24:12,780 --> 00:24:16,540 e deixe-me buscar unha lixeira raposo marrón. 426 00:24:16,540 --> 00:24:22,150 Ir imaxes de Google, e que tal - isto é bonito. 427 00:24:22,150 --> 00:24:27,420 Nós imos con iso. Polo tanto, temos aquí un rápido salto marrón Fox sobre un can preguiceiro. 428 00:24:27,420 --> 00:24:30,560 Entón o que eu vou facer aquí, só por unha cuestión de demostración, 429 00:24:30,560 --> 00:24:32,950 é supoñer que esta imaxe foi no meu servidor, 430 00:24:32,950 --> 00:24:35,240 e eu tiña benvida a crear esas imaxes. 431 00:24:35,240 --> 00:24:38,720 O que eu fixen foi co botón dereito ou prema na imaxe, 432 00:24:38,720 --> 00:24:42,370 eo que vai ver na maioría dos navegadores é un pequeno menú - 433 00:24:42,370 --> 00:24:48,800 deixar de facelo - un pequeno menú que permite que escolla a localización copia ligazón ou URL copia. 434 00:24:48,800 --> 00:24:52,750 Entón deixe-me volver agora para o meu HTML, e supoña que quero 435 00:24:52,750 --> 00:24:56,420 Ligazón a esta a outra páxina web. 436 00:24:56,420 --> 00:24:58,640 >> Cal foi a marca chamada para iso? 437 00:24:58,640 --> 00:25:01,650 [Estudante, inintelixible] >> Yeah. Entón a href a referencia amiga. 438 00:25:01,650 --> 00:25:04,660 Deixe-me ir adiante e pegar que dentro 439 00:25:04,660 --> 00:25:07,290 É unha URL moi longa, entón deixe-me zoom out. 440 00:25:07,290 --> 00:25:09,950 Soportes próximos, entón agora eu estou en conta camiño ata aquí 441 00:25:09,950 --> 00:25:11,960 porque esa URL pasou a ser bastante longa. 442 00:25:11,960 --> 00:25:15,180 Deixe-me desprazar ata aquí a final de lixeira raposo marrón, 443 00:25:15,180 --> 00:25:18,830 e deixe-me terminar este comando con 00:25:21,280 onde só pechou o nome da marca. 445 00:25:21,280 --> 00:25:24,470 Agora déixeme ir adiante e gardar o ficheiro, volva a páxina web, 446 00:25:24,470 --> 00:25:27,880 e agora, por defecto, que vai ser subliñada en azul para min, 447 00:25:27,880 --> 00:25:31,980 pero, en realidade, agora podo facer clic neste e listo. Hai esa imaxe. 448 00:25:31,980 --> 00:25:33,990 E non ten que ser unha imaxe, podería ter conectado 449 00:25:33,990 --> 00:25:36,270 para algún outro sitio aleatoria en internet. 450 00:25:36,270 --> 00:25:39,610 Eu podería facelo, por exemplo, co CS50, para un último exemplo aquí. 451 00:25:39,610 --> 00:25:42,730 'Este é CS50 "pode ​​facer sentido para ir un, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, multimedia preto, referencia preto. 453 00:25:50,340 --> 00:25:53,990 Polo tanto, agora que é unha URL aínda menor, e esta vez non imos chamar a imaxe. 454 00:25:53,990 --> 00:25:57,880 Estamos en vez de ir de obrigar á outra páxina. 455 00:25:57,880 --> 00:25:59,840 Agora, temos unha imaxe aquí. 456 00:25:59,840 --> 00:26:02,970 Eu sinto que podemos facer un pouco mellor do que só unha ligazón a unha imaxe. 457 00:26:02,970 --> 00:26:05,760 E se queremos realmente incorpora-lo na nosa páxina web? 458 00:26:05,760 --> 00:26:09,290 >> Ben, o que podo facer aquí é, en vez de enlace para gráfico, 459 00:26:09,290 --> 00:26:14,690 deixe-me en vez cortar a URL, e nós imos nos librar dese enlace e limpar isto. 460 00:26:14,690 --> 00:26:17,190 E nós imos descender aquí e se librar desa. 461 00:26:17,190 --> 00:26:20,910 Nós realmente non precisa de todas estas frases agora, entón deixe-me acurtar a páxina un pouco. 462 00:26:20,910 --> 00:26:24,530 E entón, aquí déixame ir á fronte nun novo parágrafo 463 00:26:24,530 --> 00:26:30,100 dicir que eu non quero texto agora, quero unha imaxe cuxa orixe vai ser esa URL. 464 00:26:30,100 --> 00:26:33,100 Unha imaxe, como unha quebra de liña, pode existir ou non é. 465 00:26:33,100 --> 00:26:35,900 Entón deixe-me inmediatamente pechar esa marca. 466 00:26:35,900 --> 00:26:39,440 Deixe-me ir adiante agora e pechar o parágrafo que eu estou dentro, 467 00:26:39,440 --> 00:26:43,010 e se todo funcionar ben con Ola, mundo, se eu actualizar agora, 468 00:26:43,010 --> 00:26:45,520 Eu, de feito, ver ben dentro da miña propia páxina web unha imaxe. 469 00:26:45,520 --> 00:26:48,570 Polo tanto, agora temos unha etiqueta de imaxe, unha marca de referencia e similares, 470 00:26:48,570 --> 00:26:51,320 e para unha boa medida, deixe-me facer outra cousa que é moitas veces negligenciado 471 00:26:51,320 --> 00:26:55,900 en sitios estes días: Imos fornecer un texto descritivo para esta imaxe 472 00:26:55,900 --> 00:26:58,090 para persoas que están nun dispositivo móbil 473 00:26:58,090 --> 00:27:00,640 e, polo tanto, pode non ser capaz de baixar esta imaxe moi rapidamente, 474 00:27:00,640 --> 00:27:03,310 para as persoas que son cegas e pode non ser capaz de ver a imaxe 475 00:27:03,310 --> 00:27:06,480 pero poden ter un lector de pantalla que pode dicir-lles que esta imaxe é de. 476 00:27:06,480 --> 00:27:09,100 E para facelo, hai outro atributo para etiquetas de imaxe 477 00:27:09,100 --> 00:27:11,290 chamado alt para texto alternativo. 478 00:27:11,290 --> 00:27:14,650 E o que podo facer aquí é dicir: 'Esta é unha rápida raposo marrón. 479 00:27:14,650 --> 00:27:17,650 De xeito que, aínda que o ser humano non pode ver a imaxe na pantalla, 480 00:27:17,650 --> 00:27:20,560 el ou ela pode, polo menos, escoitar, como con algún anaco de software, 481 00:27:20,560 --> 00:27:23,080 o que realmente está alí na pantalla. 482 00:27:23,080 --> 00:27:25,040 >> Iso non vai cambiar a estética da páxina, 483 00:27:25,040 --> 00:27:27,640 pero certamente é unha boa práctica para os usuarios. 484 00:27:27,640 --> 00:27:31,760 Todo ben, imos saír desta páxina web na súa forma actual, 485 00:27:31,760 --> 00:27:33,890 pero imos ver se non podemos agora presentar 486 00:27:33,890 --> 00:27:36,210 algunhas enfoques mellores para escribir estas páxinas web, 487 00:27:36,210 --> 00:27:39,980 algunhas leccións que van servir-nos así como as nosas páxinas máis e máis complexo. 488 00:27:39,980 --> 00:27:42,220 O que nós non imos facer máis nas próximas semanas 489 00:27:42,220 --> 00:27:46,810 e leva-lo a través de todas as etiquetas HTML de varias decenas que hai. 490 00:27:46,810 --> 00:27:49,800 Así como no cero de volta a semana 0, el probablemente será suficiente 491 00:27:49,800 --> 00:27:52,120 para dar unha visión xeral de alto nivel de algúns dos conceptos, 492 00:27:52,120 --> 00:27:54,530 un rápido paseo de algúns dos bloques que probablemente eran capaces, 493 00:27:54,530 --> 00:27:58,240 moi confort, para navegar no seu propio país, as varias pezas do puzzle. 494 00:27:58,240 --> 00:28:00,460 E iso vai ocorrer de novo en HTML, o máis probable, 495 00:28:00,460 --> 00:28:04,320 en que hai amplos recursos na web que nós imos apuntala-lo menos, 496 00:28:04,320 --> 00:28:06,920 varios libros, se o prefire ler un libro, 497 00:28:06,920 --> 00:28:10,560 que ha oriente-lo a través de todas as moitas cousas que podes facer con HTML, 498 00:28:10,560 --> 00:28:16,100 pero realmente, vimos ata agora en HTML a maioría dos conceptos fundamentais. 499 00:28:16,100 --> 00:28:19,900 Temos a noción de etiquetas sendo abertos, etiquetas de ser pechada. 500 00:28:19,900 --> 00:28:22,100 Algunhas marcas que son ambos abertos e pechados 501 00:28:22,100 --> 00:28:24,620 no sentido de que están baleiros e que debería haber nada dentro deles 502 00:28:24,620 --> 00:28:27,490 como unha etiqueta de imaxe ou unha quebra de liña, que están aí só. 503 00:28:27,490 --> 00:28:32,330 Buscamos tamén xa coa noción dun atributo, como alt ou fonte. 504 00:28:32,330 --> 00:28:36,410 Teña en conta que estas palabras tenden, por convención, para ser curto e sucinto. 505 00:28:36,410 --> 00:28:39,140 >> Non temos autoridade sobre o que estas cousas son chamados, 506 00:28:39,140 --> 00:28:42,060 alguén que inventou o HTML veu con eses nomes. 507 00:28:42,060 --> 00:28:44,710 Entón, só tes que empezar a coñecer ou buscar, sempre que precisa deles, 508 00:28:44,710 --> 00:28:47,160 que os nomes son para estas etiquetas e atributos. 509 00:28:47,160 --> 00:28:49,510 No caso de que estes atributos, atribúe xeralmente 510 00:28:49,510 --> 00:28:52,900 modificar o comportamento dalgúns tag. 511 00:28:52,900 --> 00:28:55,710 Neste caso, o atributo de fonte di a marca de imaxe 512 00:28:55,710 --> 00:28:57,940 o que a fonte da imaxe debe ser. 513 00:28:57,940 --> 00:29:04,460 O atributo href di a marca de referencia o que realmente debe ser vinculándoo. 514 00:29:04,460 --> 00:29:06,800 Pero en termos da estrutura dunha páxina web, a pesar Facebook 515 00:29:06,800 --> 00:29:09,680 e Google e do ollar como como unha desorde completa 516 00:29:09,680 --> 00:29:12,560 debaixo do capó, a primeira vista, se comezar a le-lo 517 00:29:12,560 --> 00:29:16,950 máis metodicamente, todos seguen esta estrutura básica, básica. 518 00:29:16,950 --> 00:29:19,660 Pero podemos mellorar a estilización destas cousas. 519 00:29:19,660 --> 00:29:24,180 Entón deixe-me ir a algúns exemplos que eu preparadas con antelación. 520 00:29:24,180 --> 00:29:27,280 Deixe-me ir adiante e copia-los doutra pasta aquí 521 00:29:27,280 --> 00:29:29,380 e poñer-los neste directorio. 522 00:29:29,380 --> 00:29:32,210 De antemán, o que fixen foi preparar algúns arquivos: 523 00:29:32,210 --> 00:29:35,670 search0, SEARCH1, Search2 e search3 e 4. 524 00:29:35,670 --> 00:29:38,740 Deixe-me ir adiante e abrir o primeiro destes arquivos, 525 00:29:38,740 --> 00:29:42,570 e imos ver se non podemos comezar a crear o noso propio motor de procura. 526 00:29:42,570 --> 00:29:46,530 No cume deste arquivo, como é xeralmente o caso en clase, só unha morea de comentarios. 527 00:29:46,530 --> 00:29:49,760 HTML, porén, os medios polos que iniciar un comentario 528 00:29:49,760 --> 00:29:55,640 é <-! e entón está dentro dun comentario, un comentario multi-liña. 529 00:29:55,640 --> 00:29:59,800 Cando estea listo para deixar ese comentario, podes facer ->. 530 00:29:59,800 --> 00:30:02,380 Entón, todo enriba en azul é só un comentario. 531 00:30:02,380 --> 00:30:04,620 >> Esta é a miña declaración doctype, que de novo, 532 00:30:04,620 --> 00:30:07,080 pode só copiar e pegar na fe, por agora. 533 00:30:07,080 --> 00:30:10,410 Isto só di ao navegador 'Aquí vén algún HTML 5. " 534 00:30:10,410 --> 00:30:13,600 Abaixo diso, na liña 14, é a primeira das miñas marcas reais, 535 00:30:13,600 --> 00:30:16,900 e iso só se, como antes, aquí vén un pouco de HTML, 536 00:30:16,900 --> 00:30:19,460 aquí vén a cabeza da miña páxina, aquí vén o título, 537 00:30:19,460 --> 00:30:23,900 e, inversamente, que é todo para o título, que é iso para a cabeza. 538 00:30:23,900 --> 00:30:26,460 Aquí, agora, vén o corpo da miña páxina. 539 00:30:26,460 --> 00:30:31,040 Entón algunhas etiquetas novas agora: h1 queda para a categoría 1. 540 00:30:31,040 --> 00:30:33,850 Hai unha tradición en HTML moitos anos 541 00:30:33,850 --> 00:30:37,990 de diferentes tamaños de texto. 542 00:30:37,990 --> 00:30:41,980 E de volta ao día, cada un fixo, xeralmente, só grande e valente. 543 00:30:41,980 --> 00:30:45,860 Pero hai tamén h2, que é grande, pero non tan grande e valente. 544 00:30:45,860 --> 00:30:49,320 Hai h3, que é unha especie de gran, pero non tan grande e en negriña, 545 00:30:49,320 --> 00:30:52,380 e así por diante, todo o camiño ata H6. 546 00:30:52,380 --> 00:30:55,550 Estes días, porén, H1, H2 e H3 son realmente significaba 547 00:30:55,550 --> 00:30:57,980 de significado máis semántica a eles, 548 00:30:57,980 --> 00:31:01,100 en que h1 é realmente un título: o título dunha páxina web, 549 00:31:01,100 --> 00:31:04,210 o título dunha columna ou algo así do texto. 550 00:31:04,210 --> 00:31:09,030 Entón eu dixen deliberadamente h1 CS50 busca> h1 551 00:31:09,030 --> 00:31:12,640 para especificar que esta é realmente o título, o título da miña páxina. 552 00:31:12,640 --> 00:31:14,850 Non o título, no sentido barra de título, 553 00:31:14,850 --> 00:31:18,960 pero o título que realmente ver na páxina web en si, no corpo. 554 00:31:18,960 --> 00:31:20,990 Agora isto, probablemente pode adiviñar o que é, 555 00:31:20,990 --> 00:31:23,110 aínda que teñamos algunhas pezas novas de sintaxe. 556 00:31:23,110 --> 00:31:25,930 Este é un formulario. Así, a web realmente queda interesante 557 00:31:25,930 --> 00:31:28,770 cando sitios tomar entrada de usuarios. 558 00:31:28,770 --> 00:31:31,700 Nesta clase, no conxunto de problemas en programación web, 559 00:31:31,700 --> 00:31:33,880 non imos facer un sitio, por si só, 560 00:31:33,880 --> 00:31:37,570 con contido estático que amosa fotos que sacou, 561 00:31:37,570 --> 00:31:40,010 ou este é o meu currículo, e cousas sobre min, 562 00:31:40,010 --> 00:31:42,450 porque estas cousas son relativamente fáciles de montar. 563 00:31:42,450 --> 00:31:44,400 É difícil facer cousas bonitas na web, 564 00:31:44,400 --> 00:31:46,390 pero polo menos a colocación de contido é moi trivial. 565 00:31:46,390 --> 00:31:49,380 Pero as cousas están realmente interesantes cando alguén pode visitar o seu sitio web 566 00:31:49,380 --> 00:31:52,260 e proporcionar datos e pode encher formularios, 567 00:31:52,260 --> 00:31:55,800 pode marcar caixas e pode interactuar co seu sitio web. 568 00:31:55,800 --> 00:31:57,780 E, de feito, probablemente cada sitio que lle gusta 569 00:31:57,780 --> 00:32:00,710 estes días, en calquera detalle, é dalgunha forma interactiva. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google e afíns, que levan a entrada do usuario 571 00:32:03,110 --> 00:32:05,100 e producir unha saída personalizada. 572 00:32:05,100 --> 00:32:07,780 >> Entón, imos comezar a facelo agora. Imos agora transición 573 00:32:07,780 --> 00:32:11,150 a partir de só usar HTML reserva de contido estático 574 00:32:11,150 --> 00:32:14,790 como, en vez de un mecanismo de entrega de contido dinámico. 575 00:32:14,790 --> 00:32:17,350 E para iso, imos implementar o noso propio motor de procura. 576 00:32:17,350 --> 00:32:20,820 Imos facer o seguinte. Aquí está a marca de formulario. 577 00:32:20,820 --> 00:32:24,090 O atributo action especifica que cando o usuario enche o formulario 578 00:32:24,090 --> 00:32:28,400 co seu teclado, será sometido a este URL aquí. 579 00:32:28,400 --> 00:32:31,230 Entón, eu son o tipo de trapaça. Vai levar un pouco máis de tempo 580 00:32:31,230 --> 00:32:33,780 dunha clase para aplicar o mecanismo de busca todo, 581 00:32:33,780 --> 00:32:35,880 entón imos facer o front-end, por así dicir. 582 00:32:35,880 --> 00:32:38,650 Nós imos facer a parte que permite a investigación do usuario, e nós imos resolver de punto a Google 583 00:32:38,650 --> 00:32:40,950 a parte máis difícil de atopar resultados da procura, 584 00:32:40,950 --> 00:32:43,520 pero, especialmente, eu vou falar para o servidor web de Google 585 00:32:43,520 --> 00:32:46,710 utilizando un dos dous métodos moi populares. 586 00:32:46,710 --> 00:32:50,000 Un ser obter, doutro, que vai finalmente ver, sendo post, 587 00:32:50,000 --> 00:32:52,660 aínda que haxa outros que son menos utilizados. 588 00:32:52,660 --> 00:32:56,440 Polo tanto, obter só evoca a idea de, quero obter algún contido, obter algúns resultados de busca. 589 00:32:56,440 --> 00:32:58,440 Isto quizais pode adiviñar o que iso fai. 590 00:32:58,440 --> 00:33:01,900 Isto é algún tipo de entrada, é, en realidade, vai parecer un campo de texto, 591 00:33:01,900 --> 00:33:05,200 é o nome da entrada, o nome da variable que, por así dicir, 592 00:33:05,200 --> 00:33:08,610 vai ser q para consulta por convención. 593 00:33:08,610 --> 00:33:11,700 E, de novo, o tipo de esta entrada non vai ser unha caixa de verificación; 594 00:33:11,700 --> 00:33:13,890 non vai ser un menú, que vai ser un campo de texto 595 00:33:13,890 --> 00:33:18,060 como indicado por este atributo aquí, e esta caixa de texto, 596 00:33:18,060 --> 00:33:20,680 como unha quebra de liña, pode existir ou non. 597 00:33:20,680 --> 00:33:24,480 Polo tanto, temos un elemento en branco coa Barra dentro esa marca. 598 00:33:24,480 --> 00:33:28,050 Entón eu vou poñer unha quebra de liña, e pode, talvez, creo que iso vai facer. 599 00:33:28,050 --> 00:33:30,210 Este é un outro tipo de entrada de formulario. 600 00:33:30,210 --> 00:33:32,350 >> Este vai ser usado para enviar o formulario. 601 00:33:32,350 --> 00:33:36,140 Polo tanto, este vai ser o gran botón que o usuario pode premer para enviar o formulario, 602 00:33:36,140 --> 00:33:40,800 ea etiqueta no botón que vai ser 'CS50 Procura. 603 00:33:40,800 --> 00:33:44,170 Forma estreita, o corpo de preto, preto HTML. 604 00:33:44,170 --> 00:33:46,280 Imos ver o que temos na forma desta páxina web. 605 00:33:46,280 --> 00:33:48,260 Entón deixe-me ir para o meu navegador, 606 00:33:48,260 --> 00:33:50,360 deixe-me ir, aínda, aos lugares de acollida. 607 00:33:50,360 --> 00:33:54,650 Este aínda é index.html, entón se eu queira ver este ficheiro chamado search0, 608 00:33:54,650 --> 00:33:59,710 Podo simplemente facer / search0.html, escriba - 609 00:33:59,710 --> 00:34:01,880 eo primeiro dos meus erros. 610 00:34:01,880 --> 00:34:04,400 O que está a suceder? Eu claramente non ten permiso 611 00:34:04,400 --> 00:34:06,430 para acceder a este arquivo, por algún motivo. 612 00:34:06,430 --> 00:34:10,170 Pero iso é porque, ao contrario do traballo que fixemos ata agora, en C, 613 00:34:10,170 --> 00:34:14,340 onde os programas que escribe son consideradas runable por ti, 614 00:34:14,340 --> 00:34:17,590 executábel por ti, iso non é realmente o caso da web, 615 00:34:17,590 --> 00:34:21,010 en que ás veces pode querer crear arquivos nun servidor, 616 00:34:21,010 --> 00:34:23,310 pero non quere que o mundo enteiro para poder velos. 617 00:34:23,310 --> 00:34:25,469 En vez diso, vostede quere que o mundo vexa algúns arquivos 618 00:34:25,469 --> 00:34:27,730 pero non noutros, só para fins de privacidade,. 619 00:34:27,730 --> 00:34:30,730 Polo tanto, é máis de unha base opt-in cando está facendo as cousas na web. 620 00:34:30,730 --> 00:34:32,810 E entón deixe-me realmente escribir ls aquí, 621 00:34:32,810 --> 00:34:37,440 e podes ver os arquivos que eu teño, pero lembro que se eu fai ls-l por moito tempo, 622 00:34:37,440 --> 00:34:41,520 Vou incorporarse un longo anuncio que me dá algúns detalles sobre estes arquivos 623 00:34:41,520 --> 00:34:45,139 que agora son, en realidade, por primeira vez relevante para nós. 624 00:34:45,139 --> 00:34:47,840 Teña en conta que, na extrema dereita son os nomes dos meus arquivos, 625 00:34:47,840 --> 00:34:50,690 e, a continuación, o tempo en que foron última modificación ou copiado. 626 00:34:50,690 --> 00:34:54,370 Ese número aquí é o que? Vostede recorda? 627 00:34:54,370 --> 00:34:56,400 O tamaño en bytes, o tamaño do arquivo é. 628 00:34:56,400 --> 00:34:59,520 >> Entón, me parece ter algún tipo de logotipo aquí que é maior que todos os outros arquivos. 629 00:34:59,520 --> 00:35:03,610 Este é quen eu son, iso é o que eu son eo que eu estou dentro do grupo 630 00:35:03,610 --> 00:35:07,430 Pero, entón, por aquí á esquerda é un pouco de secuencia enigmática, 631 00:35:07,430 --> 00:35:10,040 e nós falamos, eu creo, un pouco sobre iso no pasado, 632 00:35:10,040 --> 00:35:12,050 pero iso ten que ver coa permisos. 633 00:35:12,050 --> 00:35:14,020 E aínda que sexa un pouco nebulosa, 634 00:35:14,020 --> 00:35:17,270 RW probablemente significa ler e escribir. 635 00:35:17,270 --> 00:35:22,560 Así, verifícase que estes trazos denotan conxuntos de permisos diferentes para persoas diferentes. 636 00:35:22,560 --> 00:35:24,730 E o estándar é, esencialmente, como segue. 637 00:35:24,730 --> 00:35:27,650 Cando ve unha secuencia de trazos aquí, miran como segue. 638 00:35:27,650 --> 00:35:30,450 Hai un trazo, entón hai tres trazos, 639 00:35:30,450 --> 00:35:33,390 despois hai outros tres, entón non hai tres. 640 00:35:33,390 --> 00:35:36,800 A primeira é calquera trazo ou de publicidade para directorio. 641 00:35:36,800 --> 00:35:40,220 De modo que un é moi fácil. Se é unha carpeta, el di d, se non é un trazo. 642 00:35:40,220 --> 00:35:44,080 Hai un par de outros casos, pero por agora imos só se preocupan ficheiros e directorios. 643 00:35:44,080 --> 00:35:48,090 Estes próximos tres trazos - e eu xa introducidos artificialmente os espazos. 644 00:35:48,090 --> 00:35:50,490 Eles eran, obviamente, non existe cando os vimos hai pouco. 645 00:35:50,490 --> 00:35:52,900 Estas son os permisos do dono do arquivo, 646 00:35:52,900 --> 00:35:55,840 e lembrar dun segundo atrás que foi ler e escribir. 647 00:35:55,840 --> 00:35:58,560 Isto era porque eu, como a persoa que creou este ficheiro dun momento atrás, 648 00:35:58,560 --> 00:36:01,250 Eu, só, por defecto, nun computador Linux, 649 00:36:01,250 --> 00:36:03,910 ten a capacidade de continuar a ler e escribir o arquivo. 650 00:36:03,910 --> 00:36:07,170 >> Así, o sistema operativo só me dá RW automaticamente. 651 00:36:07,170 --> 00:36:10,840 Os do medio se relacionan co meu grupo, que de estudantes, 652 00:36:10,840 --> 00:36:14,590 que é unha especie de sentido no aparello, porque eu son a única persoa a usar o aparello. 653 00:36:14,590 --> 00:36:16,620 Entón deixe-me acenar as mans en que, por agora. 654 00:36:16,620 --> 00:36:19,190 Pero os últimos son os máis importantes para a web. 655 00:36:19,190 --> 00:36:21,580 Este é todo o resto do mundo, e do feito de 656 00:36:21,580 --> 00:36:24,600 de que é --- significa que ninguén máis no mundo 657 00:36:24,600 --> 00:36:26,680 ten todos os permisos para este ficheiro. 658 00:36:26,680 --> 00:36:29,180 Claramente é un problema, entón eu teño corrixir iso 659 00:36:29,180 --> 00:36:33,830 por algunha forma darlle ao mundo o que? Ler e escribir? 660 00:36:33,830 --> 00:36:35,850 Isto probablemente é mudo, non? Eu non quero que ninguén web 661 00:36:35,850 --> 00:36:38,530 para ir visitar a miña páxina e dalgunha forma cambiar este ficheiro, 662 00:36:38,530 --> 00:36:40,800 aínda que realmente non podía con un arquivo HTML 663 00:36:40,800 --> 00:36:44,110 pero só no principio, probablemente só quere que eles sexan capaces de lelo. 664 00:36:44,110 --> 00:36:47,910 O que significa para le-lo? Iso non significa que eles van se preocupar co código HTML real, 665 00:36:47,910 --> 00:36:51,820 pero o seu navegador ten que ser capaz de analizar de que a linguaxe de marcado, 666 00:36:51,820 --> 00:36:53,720 de arriba abaixo, de esquerda a dereita. 667 00:36:53,720 --> 00:36:57,990 Entón, alguén na web ten que ser capaz de le-lo, entón eu minimamente precisa dar r. 668 00:36:57,990 --> 00:37:00,240 Eu podo facer iso de algunhas formas diferentes, pero quizais 669 00:37:00,240 --> 00:37:03,080 o máis sinxelo é executar este comando aquí. 670 00:37:03,080 --> 00:37:10,860 Chmod, modo de alteración, a continuación, un r + todo para que todos, no mundo + ler, 671 00:37:10,860 --> 00:37:13,830 e logo o nome do ficheiro, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Ora, se fago ls-l novo, observe que o ficheiro cambiou, 673 00:37:18,310 --> 00:37:21,440 e, de feito, eu me transformei en r para todos. 674 00:37:21,440 --> 00:37:23,350 Eu tamén chamei o meu grupo, pero iso é bo, 675 00:37:23,350 --> 00:37:27,150 porque se eu orientada a todos, meu grupo é un subconxunto do que iso. 676 00:37:27,150 --> 00:37:31,480 Entón, todo ben tamén. Isto só significa que o ordenador fixo agora lexible. 677 00:37:31,480 --> 00:37:34,430 Agora déixeme volver para o meu navegador, prema en actualizar. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Temos, agora, CS50 Procura. 679 00:37:36,330 --> 00:37:39,830 Eu ampliada un pouco artificial - motor de busca moi horrible. 680 00:37:39,830 --> 00:37:41,930 Pero imos ver se realmente funciona. 681 00:37:41,930 --> 00:37:45,880 En primeiro lugar, deixe-me facer unha proba de sanidade rápido, deixe-me controlar premer para ver fonte da páxina. 682 00:37:45,880 --> 00:37:50,780 Teña en conta que dentro Chrome agora estamos vendo o mesmo HTML que eu mesmo creou. 683 00:37:50,780 --> 00:37:55,420 Non se confunda aquí, con todo. Eu non podo comezar a cambiar o código aquí, 684 00:37:55,420 --> 00:37:59,420 porque o seu navegador ten unha vista de só lectura deste código. 685 00:37:59,420 --> 00:38:06,060 O navegador acaba de pedir host lugar para un arquivo chamado search0.html. 686 00:38:06,060 --> 00:38:09,490 É agora pura coincidencia que o aparello 687 00:38:09,490 --> 00:38:13,480 pasa a ser o mesmo ordenador como meu navegador. 688 00:38:13,480 --> 00:38:20,470 Eu podería só ter, de forma equivalente, ter ingresaran www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 e Facebook tivo un ficheiro chamado iso, eu sería, entón, ver o HTML. 690 00:38:23,830 --> 00:38:27,360 E, claro, eu non podo mudar o arquivo redor do Facebook, tamén. 691 00:38:27,360 --> 00:38:29,360 Polo tanto, agora estamos especie de borrar as liñas. 692 00:38:29,360 --> 00:38:32,130 O aparello é tanto un servidor, servir as páxinas, 693 00:38:32,130 --> 00:38:34,870 pero tamén é un cliente, no sentido de que eu estou usando un navegador 694 00:38:34,870 --> 00:38:37,630 para realmente falar a ese servidor. 695 00:38:37,630 --> 00:38:39,610 Entón, imos ver se o meu motor de procura Google funciona. 696 00:38:39,610 --> 00:38:44,930 Deixe-me ir adiante e buscar lixeira raposo marrón, entrar. 697 00:38:44,930 --> 00:38:47,540 E listo, agora teño o meu propio motor de procura. 698 00:38:47,540 --> 00:38:51,460 >> Pero como isto funciona? 699 00:38:51,460 --> 00:38:55,380 Bocado de un estiramento, pero - e agora non pode ver, precisamente, a parte que é de interese. 700 00:38:55,380 --> 00:38:57,370 Teña en conta o que acontece. 701 00:38:57,370 --> 00:39:00,430 Observe a URL. Acontece que o método que, 702 00:39:00,430 --> 00:39:02,780 chamada comeza, é super-sinxelo. 703 00:39:02,780 --> 00:39:10,270 Cando se especifica, de forma que quere "estar" resultados dalgún servidor, 704 00:39:10,270 --> 00:39:13,200 o que vai facer é aproveitar o que escribiu no formulario 705 00:39:13,200 --> 00:39:15,290 e poñelas na URL. 706 00:39:15,290 --> 00:39:18,580 Vai para padronizar como é colocado na URL da seguinte forma. 707 00:39:18,580 --> 00:39:22,290 Nótese que esta é a URL que foi o valor do meu atributo action. 708 00:39:22,290 --> 00:39:24,730 É onde eu quería que a forma de acabar. 709 00:39:24,730 --> 00:39:26,950 Pero, entón, entender este punto de interrogação. 710 00:39:26,950 --> 00:39:30,230 Esta é unha convención na web a través do cal a facilitar a entrada do usuario 711 00:39:30,230 --> 00:39:35,320 para un sitio web, engadir a URL dun punto de interrogación, 712 00:39:35,320 --> 00:39:38,330 e entón tes unha morea de parellas clave-valor. 713 00:39:38,330 --> 00:39:42,380 O nome dunha chave, doutro xeito coñecido como un parámetro na web, 714 00:39:42,380 --> 00:39:46,380 entón tes un signo igual, entón tes o valor do parámetro. 715 00:39:46,380 --> 00:39:49,810 Entón, é, esencialmente, un nome de variable e un valor variable, 716 00:39:49,810 --> 00:39:54,250 pero os nomes de variables e valores viñeron do formulario HTML. 717 00:39:54,250 --> 00:39:56,250 Por que as vantaxes alí, que pensas? 718 00:39:56,250 --> 00:39:59,340 Por qué non escribir + entre as miñas palabras. 719 00:39:59,340 --> 00:40:01,430 [Estudante, inintelixible] 720 00:40:01,430 --> 00:40:05,080 >> Si, é só para paso. As probabilidades son, sempre que xa viu un URL, 721 00:40:05,080 --> 00:40:07,320 nunca hai ningunha espazos, mesmo porque 722 00:40:07,320 --> 00:40:09,440 se houbese, realmente non podería copiar e pegar 723 00:40:09,440 --> 00:40:12,700 nunha mensaxe instantánea ou un e-mail en porque ía romper. 724 00:40:12,700 --> 00:40:15,420 Quere que a cousa toda é unha secuencia contigua de caracteres. 725 00:40:15,450 --> 00:40:18,450 >> Así, o navegador é intelixente o suficiente para entender, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Non basta colocar un espazo alí. Déixame codificam o espazo, dalgún modo normal. 727 00:40:22,610 --> 00:40:25,170 Unha das convencións para facer isto é para que o navegador 728 00:40:25,170 --> 00:40:29,350 automaticamente colocada a + onde se non ten un espazo. 729 00:40:29,350 --> 00:40:32,140 Entón, agora, aviso Google foi o tipo de user-friendly. 730 00:40:32,140 --> 00:40:34,380 Eu certamente non crear esta páxina web, 731 00:40:34,380 --> 00:40:37,200 pero eles teñen cuberto previamente o seu campo propio texto 732 00:40:37,200 --> 00:40:39,490 co que, exactamente, eu escriba dentro 733 00:40:39,490 --> 00:40:43,090 Supoña que queira buscar outra cousa, como un can preguiceiro. 734 00:40:43,090 --> 00:40:45,340 Eu podo só escribir isto aquí, re-search. 735 00:40:45,340 --> 00:40:47,730 Teña en conta que a URL cambia-aquí, 736 00:40:47,730 --> 00:40:51,390 pero observar, entón, que eu poida realmente buscar o que quere 737 00:40:51,390 --> 00:40:53,610 só por entender como URLs funcionan. 738 00:40:53,610 --> 00:40:56,840 Eu podería facer gato preguiceiro, entrar, 739 00:40:56,840 --> 00:41:01,370 e observe agora estou tendo moi preguiceiro - hai? Eu sinto como se debería. 740 00:41:01,370 --> 00:41:09,900 Recibe un gato moi preguiceiro. 741 00:41:09,900 --> 00:41:11,930 Todo ben. Esta é unha das cousas máis estúpidas que xa fixemos. 742 00:41:11,930 --> 00:41:17,160 Pero iso é un gato preguiceiro. 743 00:41:17,160 --> 00:41:19,730 En calquera caso, o que é o takeaway clave aquí? 744 00:41:19,730 --> 00:41:22,830 Agora estamos a sorte de xogar no mundo do HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML é só esa linguaxe de marcado, tag aberta, marca de preto, 746 00:41:26,050 --> 00:41:29,490 que di un navegador como procesar o contido dunha páxina web. 747 00:41:29,490 --> 00:41:32,850 Pero cando comeza a transmisión de datos a través de Internet 748 00:41:32,850 --> 00:41:36,290 entre navegador e servidor, que é onde este protocolo 749 00:41:36,290 --> 00:41:39,370 coñecido como formato Transfer Protocol asume. 750 00:41:39,370 --> 00:41:42,630 Este é o tipo de convención humana, cando Sam e eu balancei as mans o luns, 751 00:41:42,630 --> 00:41:48,300 iniciar unha conexión e, a continuación, pechar unha conexión idea, mesmo aquí. 752 00:41:48,300 --> 00:41:53,100 Como son os resultados de Google vai volver para min? 753 00:41:53,100 --> 00:41:55,290 Como a miña submisión do formulario indo a Google? 754 00:41:55,290 --> 00:41:58,160 Ben, lembro do outro día que o que está realmente a suceder 755 00:41:58,160 --> 00:42:02,150 debaixo do capó cando solicita unha páxina web é, 756 00:42:02,150 --> 00:42:04,860 o seu navegador está enviando unha mensaxe un tanto enigmática, como 757 00:42:04,860 --> 00:42:09,510 Get / HTTP/1.1 á páxina de inicio por defecto. 758 00:42:09,510 --> 00:42:13,000 >> Ou, neste caso, porque I especificamente solicitado anteriormente 759 00:42:13,000 --> 00:42:17,340 search0.html, este sería, entón, a mensaxe un tanto enigmática- 760 00:42:17,340 --> 00:42:20,040 que o meu navegador envía ao dispositivo. 761 00:42:20,040 --> 00:42:23,090 Ou, neste caso de Google, o que está realmente enviado 762 00:42:23,090 --> 00:42:33,740 é unha proposta para / de investigación, e entón? q cat = preguiceiro, cun plus alí. 763 00:42:33,740 --> 00:42:36,790 Polo tanto, esta mensaxe, que eu, o ser humano, nunca estou escribindo, 764 00:42:36,790 --> 00:42:40,620 pero está sendo enviado polo meu navegador, é dicir como HTTP acontece. 765 00:42:40,620 --> 00:42:43,240 Este é o equivalente das nosas mans tendo abalados. 766 00:42:43,240 --> 00:42:46,320 Este é o pedido, o servidor está a piques de enviar unha resposta. 767 00:42:46,320 --> 00:42:48,560 Entón, imos dar un ollo neste debaixo do capó. 768 00:42:48,560 --> 00:42:55,320 Como antes, podemos abrir este campo especial nun navegador. 769 00:42:55,320 --> 00:42:58,720 Ver páxina, inspeccionar elementos. 770 00:42:58,720 --> 00:43:01,550 Así, baixo inspeccionar elemento, entender que o que pasou no Chrome, 771 00:43:01,550 --> 00:43:04,160 e IE e Firefox mecanismos similares, 772 00:43:04,160 --> 00:43:07,370 Temos estas ferramentas accesibles a desenvolvedores para nós. 773 00:43:07,370 --> 00:43:09,630 Persoas normais non usar esas guías. 774 00:43:09,630 --> 00:43:11,940 Pero, agora, están interesados ​​no que está a suceder 775 00:43:11,940 --> 00:43:13,890 debaixo do capó no nivel de rede. 776 00:43:13,890 --> 00:43:16,130 Entón, se eu puxar arriba o nivel de rede aquí, 777 00:43:16,130 --> 00:43:18,510 deixe-me ir adiante e ampliar esta fiestra, 778 00:43:18,510 --> 00:43:21,840 abrir esta entrada aquí, e mirar para as cabeceiras. 779 00:43:21,840 --> 00:43:26,010 Entón, o que pasa cando pedir un ficheiro dun servidor web 780 00:43:26,010 --> 00:43:29,410 é o meu navegador envía unha morea de cousas. 781 00:43:29,410 --> 00:43:32,390 E deixe-me ver fonte. Así, baixo cabeceiras de solicitude, 782 00:43:32,390 --> 00:43:35,250 E este é só Chrome me amosando algunha saída de diagnóstico, 783 00:43:35,250 --> 00:43:37,340 como unha especie de depurador de algunha sorte, 784 00:43:37,340 --> 00:43:40,500 entender que o que eu destaque aquí é precisamente o que 785 00:43:40,500 --> 00:43:47,060 Chrome é o envío ao servidor, a fin de solicitar un ficheiro chamado search0.html. 786 00:43:47,060 --> 00:43:50,160 É dicir co servidor que el pensa que o seu nome é, 787 00:43:50,160 --> 00:43:52,210 Grazas a este campo de colon anfitrión, entón hai algúns 788 00:43:52,210 --> 00:43:56,950 cousas moi esotérico aquí, como algo que ver coas datas e horarios, 789 00:43:56,950 --> 00:43:59,720 algo que ver coas linguas que o navegador recoñece, 790 00:43:59,720 --> 00:44:02,850 pero as liñas realmente importantes son estes dous primeiros aquí. 791 00:44:02,850 --> 00:44:05,490 >> O que o servidor responda con? Ben, se rolar aquí 792 00:44:05,490 --> 00:44:08,510 para ver o código fonte desta cousa, observe que o servidor 793 00:44:08,510 --> 00:44:13,700 respondeu cunha mensaxe un tanto enigmática, así como, non 304 modificado. 794 00:44:13,700 --> 00:44:16,030 Isto é un pouco raro, deixe-me realmente tentar corrixir isto. 795 00:44:16,030 --> 00:44:18,670 Deixe-me Manteña Maiúsculas e prema actualizar-se aquí 796 00:44:18,670 --> 00:44:22,460 para forzar o teu navegador para realmente facer esta solicitude por primeira vez. 797 00:44:22,460 --> 00:44:25,700 Entón deixe-me aumentar o zoom, e imos ver agora que a resposta do servidor, 798 00:44:25,700 --> 00:44:28,950 porque eu Manteña banda, é de 200 Aceptar. 799 00:44:28,950 --> 00:44:31,170 Entón probablemente nunca viu o número 200 800 00:44:31,170 --> 00:44:33,300 en números o contexto da web, pero o que 801 00:44:33,300 --> 00:44:36,760 xa visto ás veces inesperada dun servidor? 802 00:44:36,760 --> 00:44:42,010 Arquivo de 404, non se atopou; 403, prohibido; 500, erro do servidor. 803 00:44:42,010 --> 00:44:44,890 Entón, existen eses códigos numéricos que o mundo usa na web 804 00:44:44,890 --> 00:44:47,870 para referirse a erros, así como funcións C 805 00:44:47,870 --> 00:44:51,030 pode devolver erros e principal pode devolver códigos de saída. 806 00:44:51,030 --> 00:44:54,160 200, pero que raramente se ve, porque iso significa que está todo ben. 807 00:44:54,160 --> 00:44:59,000 E 304 que probablemente nunca verás porque o que é o que significa? 808 00:44:59,000 --> 00:45:03,330 Que nada ten - imos ver se podemos simular este novo - 809 00:45:03,330 --> 00:45:07,170 Ah, agora non é cooperar. 304 dixo orixinal, 810 00:45:07,170 --> 00:45:09,170 Entón, por que o servidor mesmo responder? 811 00:45:09,170 --> 00:45:12,550 Ben, a eficiencia, un servidor web automaticamente para ti, 812 00:45:12,550 --> 00:45:16,570 Se o ficheiro non cambiou, non vai retransmitir o ficheiro HTML. 813 00:45:16,570 --> 00:45:19,150 Só vai dicir ao navegador que non cambiou. 814 00:45:19,150 --> 00:45:21,220 Basta usar a copia que xa ten. 815 00:45:21,220 --> 00:45:22,650 Entón hai esa noción de caché web 816 00:45:22,650 --> 00:45:25,840 para o desempeño, de xeito que non perda tempo e ancho de banda residuos 817 00:45:25,840 --> 00:45:29,160 descarga de arquivos de novo e de novo innecesariamente. 818 00:45:29,160 --> 00:45:31,460 >> Pero esta páxina web, agora, era super-sinxelo, 819 00:45:31,460 --> 00:45:34,980 e el só me mostrou o HTML que volveu. 820 00:45:34,980 --> 00:45:40,940 Imos realmente usar a guía de rede agora a facer unha procura en Google como lixeira raposo marrón. 821 00:45:40,940 --> 00:45:43,010 Deixe-me a continuación, prema CS50 investigación, 822 00:45:43,010 --> 00:45:46,950 e agora, aviso no fondo aquí unha morea de cousas volveron 823 00:45:46,950 --> 00:45:49,900 porque cando visitar un sitio real, como Google.com, 824 00:45:49,900 --> 00:45:53,520 eles teñen fotos, elas teñen de texto, eles teñen unha linguaxe chamada JavaScript alí. 825 00:45:53,520 --> 00:45:55,940 Así, cada liña nesta táboa aquí 826 00:45:55,940 --> 00:46:01,490 representa algo que Google cuspir en resposta ao meu solicitude única. 827 00:46:01,490 --> 00:46:04,160 O que me importa, pero é este primeiro. 828 00:46:04,160 --> 00:46:08,420 E se eu for a busca, a solicitude, prema en ver fonte aquí, 829 00:46:08,420 --> 00:46:11,300 entender que, de feito, a mensaxe críptica que o meu navegador enviou 830 00:46:11,300 --> 00:46:15,010 Google foi esas dúas liñas aquí, 831 00:46:15,010 --> 00:46:18,420 seguido unha información arcano aquí que imos ignorar. 832 00:46:18,420 --> 00:46:20,890 Pero teña en conta, tamén, que o Chrome é moi accesible con, 833 00:46:20,890 --> 00:46:24,540 Tamén me amosando a cadea de consulta que foi enviado dentro 834 00:46:24,540 --> 00:46:27,410 Entón en vez de me amosar iso, que foi literalmente enviado, 835 00:46:27,410 --> 00:46:30,800 se eu velo decodificar, Chrome, só para fins de depuración, 836 00:46:30,800 --> 00:46:34,270 para os desenvolvedores coma nós, é só me amosar unha versión humana-friendly de - 837 00:46:34,270 --> 00:46:36,390 non é así que se escribe raposo, aparentemente. 838 00:46:36,390 --> 00:46:40,520 Eu só estou entendendo que agora - pero está amosando o que, ao parecer, ingresaran. 839 00:46:40,520 --> 00:46:45,340 Mentres tanto, a resposta que volveu do servidor é novo 200 Aceptar. 840 00:46:45,340 --> 00:46:47,930 Pero en que a resposta inclúe, por suposto, 841 00:46:47,930 --> 00:46:51,920 realmente ver HTML da páxina - 842 00:46:51,920 --> 00:46:55,440 Sentímolo, este é un atallo de teclado aos que deu mal hoxe. 843 00:46:55,440 --> 00:46:59,020 >> Vou tratar con isto máis tarde. Entón, se nós realmente ver código fonte da páxina, 844 00:46:59,020 --> 00:47:02,990 o que podo facer aquí, premendo resposta 845 00:47:02,990 --> 00:47:10,080 este é o que foi realmente cuspir cara atrás, para alén de que a mensaxe 200 OK críptica do servidor. 846 00:47:10,080 --> 00:47:12,520 Un pouco enigmático, pero onde está todo isto vén? 847 00:47:12,520 --> 00:47:15,570 Ben, imos facer outra cousa aquí. Outro comando-pouco enigmático, 848 00:47:15,570 --> 00:47:20,530 pero este tipo de un puro na medida en que nos revela exactamente o que está a suceder debaixo do capó. 849 00:47:20,530 --> 00:47:22,530 Entón, estou de volta ao meu Mac aquí, eu ter conectado 850 00:47:22,530 --> 00:47:25,980 través dun programa chamado SSH, Secure Shell, a outro servidor 851 00:47:25,980 --> 00:47:28,940 porque a maioría dos ordenadores de Harvard bloquear o comando que está a piques de executar 852 00:47:28,940 --> 00:47:31,640 porque non hai ese comando nalgúns servidores de chamada Traceroute 853 00:47:31,640 --> 00:47:34,810 que permite trazar a ruta entre os puntos A e B, 854 00:47:34,810 --> 00:47:37,020 e, ata agora, temos tomado completamente para concedida 855 00:47:37,020 --> 00:47:40,170 que eu poida escribir no Google.com e dalgunha forma obter datos de volta 856 00:47:40,170 --> 00:47:43,530 do outro lado do país ou do outro lado do mundo. 857 00:47:43,530 --> 00:47:45,810 Con Traceroute podemos realmente mergullo un pouco máis fondo 858 00:47:45,810 --> 00:47:49,370 sobre a forma como a Internet funciona, e ver o que está a suceder debaixo do capó. 859 00:47:49,370 --> 00:47:54,440 Entón, imos adiante e arbitrariamente trazar unha ruta para, digamos, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 que é en todo o país, e escriba Intro. 861 00:47:57,150 --> 00:47:59,380 Este comando pode ser super-rápida ou super-lenta, 862 00:47:59,380 --> 00:48:02,010 pero o que estamos a ver agora, liña por liña, 863 00:48:02,010 --> 00:48:08,060 cada un dos pasos ou saltos entre nós e Palo Alto, ou Stanford, 864 00:48:08,060 --> 00:48:11,010 onde teñen o seu servidor web. 865 00:48:11,010 --> 00:48:16,600 Entón, o que cada unha destas liñas representan máis concretamente, aínda que? 866 00:48:16,600 --> 00:48:19,100 Un anaco de xerga de Internet? [Estudante, inintelixible] 867 00:48:19,100 --> 00:48:21,570 >> O que é isto? [Estudante, inintelixible] 868 00:48:21,570 --> 00:48:25,390 >> Oh, por iso hai tempos, pero o que cada liña - o que quero dicir con hop? 869 00:48:25,390 --> 00:48:29,140 >> Ben, existen estas cousas en Internet chamados routers. 870 00:48:29,140 --> 00:48:33,020 E routers, como o nome suxire, a información de ruta a partir do punto A ó punto b. 871 00:48:33,020 --> 00:48:36,920 Pero existen varios puntos ademais ae b. 872 00:48:36,920 --> 00:48:40,010 Hai C e D e E e F entre a liña 1, 873 00:48:40,010 --> 00:48:43,480 que pasa de ser o enderezo IP do meu ordenador, 874 00:48:43,480 --> 00:48:46,890 ou o meu enderezo numérico que identifica o seu ordenador, 875 00:48:46,890 --> 00:48:50,300 e paso 15, que en realidade é o servidor web sexta, 876 00:48:50,300 --> 00:48:54,640 Ao parecer, que eu estou inferindo a partir deste, ou a versión 6 do seu servidor web en Stanford. 877 00:48:54,640 --> 00:48:56,680 Pero o que é tipo de puro é, podemos ver o camiño 878 00:48:56,680 --> 00:49:00,480 que o meu 0 e 1 están a tomar o meu ordenador para Stanford. 879 00:49:00,480 --> 00:49:02,500 Entón, paso 1 é o enderezo do meu propio ordenador. 880 00:49:02,500 --> 00:49:05,760 Cada ordenador en internet ten un identificador único que se parece con isto. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 En algún lugar neste campus, probablemente no centro de ciencia, 883 00:49:10,370 --> 00:49:16,780 é un router chamado Core Pasarela 2-te83, o que significa que, 884 00:49:16,780 --> 00:49:20,590 polo que este é un dos grandes de Harvard routers fantasía de que as rutas moito do seu tráfico. 885 00:49:20,590 --> 00:49:24,640 Aquí está outra de routers de Harvard, este é un Border Gateway, 886 00:49:24,640 --> 00:49:28,310 significado fronteira pode ser na periferia do campus en algún lugar. 887 00:49:28,480 --> 00:49:32,790 Entón hai unha NOx, liña 4, que é Crossroads do Norte, 888 00:49:32,790 --> 00:49:35,070 que é un ISP gran provedor de servizos de Internet, 889 00:49:35,070 --> 00:49:37,740 que lugares como Harvard conectar ata. 890 00:49:37,740 --> 00:49:40,760 Pero despois as cousas están un pouco interesante na liña 6. 891 00:49:40,760 --> 00:49:45,960 Onde están os meus anacos de súpeto? Kansas. 892 00:49:45,960 --> 00:49:49,300 O mundo ten o hábito de usar códigos de aeroportos en moitas desas cousas, 893 00:49:49,300 --> 00:49:52,900 ou polo menos abreviações para estados ou cidades, 894 00:49:52,900 --> 00:49:56,490 entón parece que, en só 60 ms, 895 00:49:56,490 --> 00:49:59,420 un paquete de información, 0 e 1 é do meu portátil 896 00:49:59,420 --> 00:50:03,210 ten todo o camiño para o Kansas, e de novo, en 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Ademais, despois de Kansas, que levou un paseo a través de Houston, probablemente, 898 00:50:08,180 --> 00:50:10,140 como suxerido polo nome deste servidor. 899 00:50:10,140 --> 00:50:13,310 Así como un servidor en Internet debe ter un enderezo numérico, 900 00:50:13,310 --> 00:50:18,360 Tamén pode incluso ter un enderezo un pouco máis humanamente agradable que os seres humanos veu con. 901 00:50:18,360 --> 00:50:20,510 Agora, na etapa 8, non sabemos o que é iso. 902 00:50:20,510 --> 00:50:22,550 Ás veces, os routers só tipo de ignore-lo, 903 00:50:22,550 --> 00:50:25,010 e eles simplemente non responder ás preguntas, de xeito que é bo. 904 00:50:25,010 --> 00:50:29,290 Despois do paso 8 é aparentemente onde? L.A. 905 00:50:29,290 --> 00:50:35,290 Teña en conta en só 78 ms, o que nos leva de seres humanos como 6 + horas para facer fisicamente, 906 00:50:35,290 --> 00:50:40,110 leva paquetes de información en Internet 78 ms para viaxar tan lonxe. 907 00:50:40,110 --> 00:50:45,890 Paso 10 é en Los Angeles, así como, e paso 11 parece ir cara ao norte, ata preto de Stanford. 908 00:50:45,890 --> 00:50:48,750 Este é o seu router, límite ou fronteira router. 909 00:50:48,750 --> 00:50:51,240 A dous pasos da Universidade de Stanford que están nos ignorando, 910 00:50:51,240 --> 00:50:55,610 e, finalmente, chegamos ao servidor web en só 87 ms. 911 00:50:55,610 --> 00:50:57,760 Agora, todos estes números, como un aparte, 912 00:50:57,760 --> 00:51:00,640 só dicir-lle o tempo que leva para os datos para obter a min 913 00:51:00,640 --> 00:51:03,530 cada un destes routers, e non é acumulativo. 914 00:51:03,530 --> 00:51:06,960 O que este programa fai é, primeiro el envía unha mensaxe, esencialmente, para o primeiro router. 915 00:51:06,960 --> 00:51:09,490 A continuación, un para o segundo router, a continuación, un terceiro para o roteador, 916 00:51:09,490 --> 00:51:12,610 medición de cada vez. Polo tanto, en teoría, estes tempos será crecente 917 00:51:12,610 --> 00:51:14,860 ou polo menos moi próximos un do outro, 918 00:51:14,860 --> 00:51:18,090 e, de feito, os que están aquí no campus son super-pequeno. 919 00:51:18,090 --> 00:51:20,820 Así que comezar a ir por todo o país, leva os datos 920 00:51:20,820 --> 00:51:24,830 un pouco máis de tempo para viaxar, máis próximo a 100 ms, máis ou menos. 921 00:51:24,830 --> 00:51:28,330 Pero imos ir na outra dirección agora. Como preto de Cambridge, no Reino Unido? 922 00:51:28,330 --> 00:51:32,540 Deixe-me en vez de executar o Traceroute www.cam de Cambridge, 923 00:51:32,540 --> 00:51:36,710 . AC para académica. Reino Unido, e escriba Intro aquí. 924 00:51:36,710 --> 00:51:38,830 Iso foi moi moi rápido. 925 00:51:38,830 --> 00:51:43,300 Os meus datos literalmente foi para Cambridge, Inglaterra, en que fracción de segundo de tempo. 926 00:51:43,300 --> 00:51:45,340 >> Entón imos ver o camiño que tomou. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Crossroads do Norte, 928 00:51:47,520 --> 00:51:52,690 que é un ISP, e entón este é Crossroads do Norte, e entón Bam. 929 00:51:52,690 --> 00:51:58,320 O que está en entre as etapas 6 e 7, 6 e 7 do router? 930 00:51:58,320 --> 00:52:02,040 O Océano Atlántico. E estamos inferring iso a partir do feito de que 931 00:52:02,040 --> 00:52:06,530 imos a partir de 20 ms 80 ms aquí para aquí. 932 00:52:06,530 --> 00:52:10,050 Entón, algo levou 60 ms, máis ou menos, para obter máis. 933 00:52:10,050 --> 00:52:12,910 E que foi probablemente un gran corpo de auga. 934 00:52:12,910 --> 00:52:15,250 O que pasa despois? Ben, aquí estamos, en Londres, 935 00:52:15,250 --> 00:52:18,860 só 88 ms máis tarde. Máis London, London máis, 936 00:52:18,860 --> 00:52:21,730 non sei onde está, pero imos supor que é fóra de Londres, 937 00:52:21,730 --> 00:52:26,390 Cambridge aquí, e finalmente nós - literalmente, da Universidade de Cambridge 938 00:52:26,390 --> 00:52:29,500 . Something.net, e entón, finalmente, na liña 16, 939 00:52:29,500 --> 00:52:31,720 servidor web é aparentemente chamado Scorpius 940 00:52:31,720 --> 00:52:35,500 debaixo do capó, a pesar de sabermos como www. 941 00:52:35,500 --> 00:52:38,790 Tipo de alucinante, eu creo. A primeira vez que fixen iso, estraguei a miña mente. 942 00:52:38,790 --> 00:52:41,670 Desafortunadamente, Harvard bloquea este tipo de tráfico, tipicamente, na rede. 943 00:52:41,670 --> 00:52:44,340 Entón non pode facelo super sinxelo. 944 00:52:44,340 --> 00:52:48,500 Entenda, porén, iso aquí é posible. 945 00:52:48,500 --> 00:52:53,630 Todo ben. Imos dar o noso intervalo de 5 minutos aquí. Nós imos voltar e mergullo no máis profundo. 946 00:52:53,630 --> 00:53:00,850 Entón, estamos de volta, e tipo de ambled sobre nalgúns sentidos distintos aquí. 947 00:53:00,850 --> 00:53:03,700 Entón imos resumir exactamente o que está a suceder aquí. 948 00:53:03,700 --> 00:53:07,990 Comezamos a conversa falando sobre esta linguaxe chamada HTML. 949 00:53:07,990 --> 00:53:10,680 De novo, non é unha linguaxe de programación. É só unha linguaxe de marcado 950 00:53:10,680 --> 00:53:15,490 que é en gran parte sobre a estética e estruturación de contidos, en forma de páxina web. 951 00:53:15,490 --> 00:53:19,220 Pero HTML, polo tanto, precisa de calquera tipo de mecanismo de 952 00:53:19,220 --> 00:53:22,870 para viaxar entre navegador e servidor. 953 00:53:22,870 --> 00:53:28,360 HTML especie, polo tanto, de paseos, encima do outro idioma, 954 00:53:28,360 --> 00:53:31,280 ou, máis propiamente, un protocolo, coñecido como HTTP. 955 00:53:31,280 --> 00:53:33,730 >> E HTTP, como vimos ata agora, 956 00:53:33,730 --> 00:53:37,140 é unha especie de análoga a esta convención humana de apertar as mans. 957 00:53:37,140 --> 00:53:39,940 Cando un navegador desexa solicitar unha páxina a partir dun servidor, 958 00:53:39,940 --> 00:53:43,450 el envía que "pegar" petición do navegador para o servidor, 959 00:53:43,450 --> 00:53:48,040 e, a continuación, o servidor responde cun número como 200, todo está ben, 960 00:53:48,040 --> 00:53:53,290 así como o HTML ou algún número malo como 404, arquivo non atopado. 961 00:53:53,290 --> 00:53:58,220 Pero á súa vez, HTTP en si non é a Internet, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP é só un servizo, unha característica de Internet 963 00:54:01,550 --> 00:54:05,530 así como G chat é outro servizo, así como correo electrónico é outro servizo. 964 00:54:05,530 --> 00:54:09,180 Hai todo tipo de cousas que podemos facer por Internet. 965 00:54:09,180 --> 00:54:12,670 HTTP é só unha desas aplicacións. 966 00:54:12,670 --> 00:54:17,210 Entón, por riba de - HTTP está encima doutra cousa 967 00:54:17,210 --> 00:54:21,750 que non mencionou por nome, xa debe ter oído polo nome, o TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Así, a historia que acabamos dixo hai todo sobre 969 00:54:25,160 --> 00:54:28,720 como os datos trafegam dun punto ao punto b. 970 00:54:28,720 --> 00:54:30,950 E, neste caso, vimos nun nivel moi baixo 971 00:54:30,950 --> 00:54:33,060 router para router para router para router, 972 00:54:33,060 --> 00:54:35,390 como os datos son realmente a ser transmitida. 973 00:54:35,390 --> 00:54:40,510 Pero ao longo do camiño, que vai atopar varios impedimentos. 974 00:54:40,510 --> 00:54:43,770 Ademais destes terminais, existen cousas chamadas firewalls en Internet, 975 00:54:43,770 --> 00:54:46,680 e para que os datos, como a que estabamos transmitindo 976 00:54:46,680 --> 00:54:49,720 de min para Stanford, de min para Cambridge, 977 00:54:49,720 --> 00:54:54,560 é enviado a, a este nivel, algo chamado de enderezo IP. 978 00:54:54,560 --> 00:54:57,340 Vimos iso hai un momento e un enderezo IP 979 00:54:57,340 --> 00:55:02,480 é só un enderezo numérico do w.x.y.z forma, 980 00:55:02,480 --> 00:55:08,070 onde cada un deles é entre, máis ou menos, 0 e 255, 981 00:55:08,070 --> 00:55:10,080 Se vostede non pode usar todos estes números. 982 00:55:10,080 --> 00:55:14,220 Pero cada un destes titulares lugar é un número entre 0 e 255. 983 00:55:14,220 --> 00:55:16,820 Así, un enderezo IP estes días é de 32 bits. 984 00:55:16,820 --> 00:55:20,780 >> Agora, que nos dá os enderezos IP cantas posible no mundo? 985 00:55:20,780 --> 00:55:24,420 Preto de 4 millóns, porque en calquera momento estamos contando en potencias de 2 986 00:55:24,420 --> 00:55:27,760 todo o camiño ata 32 de algo, que, xeralmente, nos dá 4 millóns. 987 00:55:27,760 --> 00:55:30,160 Entón, iso é unha chea de enderezos IP, pero pode ler, 988 00:55:30,160 --> 00:55:32,410 ou pode agora notar na prensa popular, 989 00:55:32,410 --> 00:55:36,020 un impulso cara a unha nova versión do IP chamado IPv6. 990 00:55:36,020 --> 00:55:38,290 Agora estamos usando a versión 4. 991 00:55:38,290 --> 00:55:41,060 Hai realmente non foi unha versión 5, estamos saltando dereito a 6. 992 00:55:41,060 --> 00:55:46,760 Versión 6 vai utilizar 128 bits para enderezos IP, que é freaking enorme. 993 00:55:46,760 --> 00:55:49,430 Non debemos correr para fóra por moito tempo agora, 994 00:55:49,430 --> 00:55:52,980 pero comezaron a executar para fóra da versión 4 enderezos IP, 995 00:55:52,980 --> 00:55:56,110 porque todos temos as cousas non só como portátiles e escritorios, 996 00:55:56,110 --> 00:55:58,700 moitos de nós teñen teléfonos, moitos de nós teñen outros dispositivos 997 00:55:58,700 --> 00:56:01,600 como o TiVo e similares que teñen enderezos IP si. 998 00:56:01,600 --> 00:56:03,720 Harvard en si ten decenas de miles de ordenadores. 999 00:56:03,720 --> 00:56:07,970 Así, o mundo está realmente quedando sen enderezos IP, polo menos deste xeito. 1000 00:56:07,970 --> 00:56:10,340 Así, ao longo dos próximos anos, vai ver os enderezos 1001 00:56:10,340 --> 00:56:12,870 nos seus propios ordenadores, probablemente, cambiar lentamente 1002 00:56:12,870 --> 00:56:16,740 como máis e máis empresas e universidades comezan a apoiar a versión máis recente. 1003 00:56:16,740 --> 00:56:22,770 Pero un enderezo IP non é suficiente para un ordenador para solicitar datos de ordenador b. 1004 00:56:22,770 --> 00:56:24,950 Porque o ordenador B pode ser un servidor, 1005 00:56:24,950 --> 00:56:27,600 e un servidor, como mencionei anteriormente, pode facer acios de cousas. 1006 00:56:27,600 --> 00:56:29,940 El pode albergar páxinas web, pode ser un servidor de correo electrónico, 1007 00:56:29,940 --> 00:56:32,310 pode ser un servidor Skype, pode ser un servidor de chat G. 1008 00:56:32,310 --> 00:56:35,870 >> Todos estes diferentes servizos que poden ser proporcionados nun servidor 1009 00:56:35,870 --> 00:56:38,330 todo pode, fisicamente, estar na mesma máquina. 1010 00:56:38,330 --> 00:56:40,380 Así, ademais de enderezos IP, 1011 00:56:40,380 --> 00:56:43,250 o mundo ten cousas chamadas portas en Internet. 1012 00:56:43,250 --> 00:56:47,830 Unha porta é só un número, por iso non é un número único para HTTP. 1013 00:56:47,830 --> 00:56:50,280 O seu número é de 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP tamén usa o número 443, pero, máis especificamente, para HTTPS cifradas. 1015 00:56:55,870 --> 00:57:00,030 Sempre que ve o s, de seguro, que está a usar un número diferente. 1016 00:57:00,030 --> 00:57:06,580 Existen outros números, como o 25, usado para algo chamado de SMTP, tamén coñecido como e-mail. 1017 00:57:06,580 --> 00:57:09,620 Hai algo chamado 22 para SSH, 1018 00:57:09,620 --> 00:57:11,850 e hai unha morea de outras portas alí fora. 1019 00:57:11,850 --> 00:57:14,460 Agora, nós, seres humanos raramente ve estes números. 1020 00:57:14,460 --> 00:57:21,970 Sen embargo, cando escribe unha dirección como http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 o explorador é secretamente inserindo 80, porque está a usar HTTP. 1022 00:57:26,560 --> 00:57:30,630 Se, en vez diso, HTTPS tipo, é secretamente inserindo 443. 1023 00:57:30,630 --> 00:57:35,180 E podemos ver este tipo de man se eu tirar unha Brower 1024 00:57:35,180 --> 00:57:41,850 e vaia http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Polo tanto, explicitamente, non citando só o nome do sitio 1026 00:57:44,550 --> 00:57:47,650 pero a porta que quero falar, e escriba Intro. 1027 00:57:47,650 --> 00:57:50,170 Teña en conta que desapareza, porque o seu navegador asume, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, eu non vou nin molestar mostrando que a vostede. 1029 00:57:53,360 --> 00:57:56,400 Pero a razón para isto é que se realmente quería enviar un correo-e de alguén, 1030 00:57:56,400 --> 00:58:02,340 Eu realmente estar enviando a eles na porta 25, que sendo SMTP. 1031 00:58:02,340 --> 00:58:04,890 Un pouco de unha simplificación excesiva, pero algúns de vós teñen amigos 1032 00:58:04,890 --> 00:58:09,290 que efectivamente traballan en Facebook, e, do mesmo xeito, ten servidores que reciben e-mail. 1033 00:58:09,290 --> 00:58:12,610 >> Cada vez que enviar un correo electrónico, o que Gmail está facendo por ti 1034 00:58:12,610 --> 00:58:14,960 ou o Outlook ou calquera outro programa que utiliza, 1035 00:58:14,960 --> 00:58:19,270 é unha especie de segredo de introducir este número, así como, 25, nese caso. 1036 00:58:19,270 --> 00:58:24,490 É esta combinación de enderezo IP eo número que identifica 1037 00:58:24,490 --> 00:58:29,190 un ordenador en Internet e un servizo específico no ordenador. 1038 00:58:29,190 --> 00:58:33,460 Agora, por suposto, a maioría de nós probablemente nunca ingresaran manualmente un enderezo IP. 1039 00:58:33,460 --> 00:58:37,340 Quizais ten no aparello, pero no mundo real, non tanto. 1040 00:58:37,340 --> 00:58:42,750 Por que non escriba os enderezos IP en navegadores? 1041 00:58:42,750 --> 00:58:45,860 El ía traballar, de feito, podemos ver iso, deixe-me amosar-lle 1042 00:58:45,860 --> 00:58:50,000 outro mando que debe funcionar máis en calquera lugar no campus de Harvard, en un Mac ou PC. 1043 00:58:50,000 --> 00:58:53,970 Hai este comando chamado nslookup, investigación servidor de nome. 1044 00:58:53,970 --> 00:58:59,960 Se eu ollar para arriba www.cnn.com, verifícase que a CNN ten - oh, interesante. 1045 00:58:59,960 --> 00:59:03,180 CNN comezou a usar Amazon Web Services. 1046 00:59:03,180 --> 00:59:06,380 Podes saber de computación en nube, unha Amazonia dos grandes xogadores en computación en nube. 1047 00:59:06,380 --> 00:59:10,240 O que eu fixen foi, eu dixen: 'Déame o enderezo do servidor web da CNN, " 1048 00:59:10,240 --> 00:59:14,090 pero acontece que o servidor web da CNN é xestionado por Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Services, que suxire. 1050 00:59:16,030 --> 00:59:19,680 E o enderezo do servidor que é este aquí. 1051 00:59:19,680 --> 00:59:22,350 Entón, eu non estou seguro se iso vai funcionar, porque non adoitaba usar Amazon. 1052 00:59:22,350 --> 00:59:32,830 Pero imos tentar, enderezo, http:// IP, entrar, e - 1053 00:59:32,830 --> 00:59:35,690 é que vai funcionar? 1054 00:59:35,690 --> 00:59:39,280 Si Está indo para o traballo. Internet é super-lenta hoxe. 1055 00:59:39,280 --> 00:59:43,680 Pero, nun momento, vai ver algúns noticia. 1056 00:59:43,680 --> 00:59:48,360 Alí imos nós. O Bank of America está sendo procesado. Todo ben. 1057 00:59:48,360 --> 00:59:54,000 >> Isto porque este enderezo IP pasa só por sinónimo de www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Por suposto, sería de marketing horrible dicir, vai-nos na web 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Vostede nunca me lembraría. Así, mesmo nos días de hoxe pode lembrar as cousas 1060 01:00:02,370 --> 01:00:07,210 como 1-800-COLLECT ou mnemônicos do mundo veu con números de teléfono. 1061 01:00:07,210 --> 01:00:09,540 Que, antes de os teléfonos móbiles foron bastante difícil recordar 1062 01:00:09,540 --> 01:00:11,800 ata que podería simplemente inserir-lo e esquece-la. 1063 01:00:11,800 --> 01:00:15,730 Así, a web tamén ten esa convención de nomes e enderezos IP, 1064 01:00:15,730 --> 01:00:17,770 e hai estas cousas alí fóra, chamados de servidores DNS, 1065 01:00:17,770 --> 01:00:23,870 sistemas de servidores de nomes de dominio, que traducen enderezos IP en nomes e viceversa. 1066 01:00:23,870 --> 01:00:26,340 Entón é iso que está a suceder debaixo do capó. 1067 01:00:26,340 --> 01:00:29,540 Ao final, temos o TCP / IP, que é este protocolo de nivel moi baixo 1068 01:00:29,540 --> 01:00:32,570 que, realmente, só queda 0 e 1 en toda a Internet, 1069 01:00:32,570 --> 01:00:36,030 e faino, poñendo-os en un sobre virtual, 1070 01:00:36,030 --> 01:00:38,820 se quere, e escribir ao lado de fóra do sobre 1071 01:00:38,820 --> 01:00:43,930 o enderezo IP de destino, así como o número de porto numérico 1072 01:00:43,930 --> 01:00:47,520 do servizo en que o destino que quere falar. 1073 01:00:47,520 --> 01:00:51,060 Mentres tanto, no sobre, hai tamén algo coñecido como un enderezo de retorno, 1074 01:00:51,060 --> 01:00:55,600 cal é o seu enderezo IP, de xeito que cando a CNN recibe un paquete de información sobre vostede, 1075 01:00:55,600 --> 01:00:58,710 abre ese Sobre virtual, ve que quere na páxina de inicio, 1076 01:00:58,710 --> 01:01:04,630 el sabe da parte remitente deste Sobre virtual de quen enviar as costas para HTML. 1077 01:01:04,630 --> 01:01:07,470 Entón, imos dar un ollo niso en detalle un pouco máis. 1078 01:01:07,470 --> 01:01:11,370 Isto é unha empresa chamada Ericson, de hai uns anos. 1079 01:01:11,370 --> 01:01:14,780 E tomaron algunhas liberdades coa forma como a Internet funciona realmente, 1080 01:01:14,780 --> 01:01:18,920 pero pinta un cadro moito máis visual do que giz mera aquí. 1081 01:01:18,920 --> 01:01:26,690 Entón, eu darlle "un pouco de internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Narrador] Por primeira vez na historia, 1083 01:02:29,840 --> 01:02:35,260 persoas e máquinas traballan en conxunto, realizando un soño. 1084 01:02:35,260 --> 01:02:38,910 A forza de unión que non coñece límites xeográficos. 1085 01:02:38,910 --> 01:02:43,230 Sen distinción de raza, cor, credo ou. 1086 01:02:43,230 --> 01:02:47,770 Unha nova era onde a comunicación verdadeiramente une as persoas. 1087 01:02:47,770 --> 01:02:50,070 Isto é 1088 01:02:50,070 --> 01:02:54,980 O alvorecer da Internet. 1089 01:02:54,980 --> 01:03:04,640 Quere saber como funciona? Prema aquí para comezar a súa xornada para a rede. 1090 01:03:04,640 --> 01:03:07,890 Agora, exactamente o que pasou cando clic na ligazón? 1091 01:03:07,890 --> 01:03:10,150 Comezou un fluxo de información. 1092 01:03:10,150 --> 01:03:13,310 Esta información viaxa para abaixo na súa sala de correspondencia persoal 1093 01:03:13,310 --> 01:03:18,500 onde os paquetes IP Mr iso, rótula-lo e enviá-lo no seu camiño. 1094 01:03:18,500 --> 01:03:20,960 Cada paquete é limitada no seu tamaño. 1095 01:03:20,960 --> 01:03:23,880 A sala de correo ten que decidir como dividir a información 1096 01:03:23,880 --> 01:03:26,070 e como embalaxe-lo. 1097 01:03:26,070 --> 01:03:29,550 Agora, o paquete precisa de un rótulo que conteñen información importante 1098 01:03:29,550 --> 01:03:35,570 tales como o enderezo do remitente, o enderezo do receptor, é o tipo de paquete que é. 1099 01:03:51,700 --> 01:03:54,980 Porque este paquete especial vai para a Internet, 1100 01:03:54,980 --> 01:03:57,720 que tamén recibe un enderezo do servidor proxy, 1101 01:03:57,720 --> 01:04:01,520 que ten unha función especial, como veremos máis adiante. 1102 01:04:01,520 --> 01:04:06,650 O paquete é agora lanzado na súa rede de área local, ou LAN. 1103 01:04:06,650 --> 01:04:10,160 Esta rede é usada para conectar todos os ordenadores locais ' 1104 01:04:10,160 --> 01:04:15,900 routers, impresoras, etc, para o intercambio de información dentro das paredes físicas do edificio. 1105 01:04:15,900 --> 01:04:20,290 A LAN é un lugar moi descontrolada, e, por desgraza, 1106 01:04:20,290 --> 01:04:23,950 accidentes poden ocorrer. 1107 01:04:31,190 --> 01:04:34,710 A autoestrada da LAN é embalado con todo tipo de información. 1108 01:04:34,710 --> 01:04:38,900 Estes son os paquetes IP, paquetes Novell, paquetes AppleTalk. 1109 01:04:38,900 --> 01:04:41,270 Eles están indo contra o tráfico, como de costume. 1110 01:04:41,270 --> 01:04:44,260 O router local le o enderezo e, se fose necesario, 1111 01:04:44,260 --> 01:04:48,520 levanta o paquete para outra rede. 1112 01:04:48,520 --> 01:04:54,270 Ah, o roteador. Un símbolo de control nun mundo aparentemente desorganizado. 1113 01:04:54,270 --> 01:05:05,480 [Encamiñador resmungando e falando para si mesmo] 1114 01:05:05,480 --> 01:05:10,030 >> [Narrador] Alí está el, sistemático, insensible, metódico, 1115 01:05:10,030 --> 01:05:14,150 conservador, e ás veces non completamente ata a velocidade. 1116 01:05:14,150 --> 01:05:17,680 Pero polo menos é exacto, para a maior parte. 1117 01:05:32,270 --> 01:05:36,820 Como os paquetes deixar o router, eles fan o seu camiño para a Internet corporativa 1118 01:05:36,820 --> 01:05:40,830 e de cabeza para o switch, roteador. 1119 01:05:40,830 --> 01:05:46,250 Un pouco máis eficiente que o router, switch, roteador xoga rápido e solto con paquetes IP, 1120 01:05:46,250 --> 01:05:48,920 habilmente reenvío deles ao longo do seu camiño. 1121 01:05:48,920 --> 01:05:52,130 A 'Pinball Wizard' dixital, se quere. 1122 01:05:52,130 --> 01:06:04,270 [Switch router falando para si mesmo] 1123 01:06:09,830 --> 01:06:12,150 [Narrador] Como os paquetes chegan ao seu destino, 1124 01:06:12,150 --> 01:06:14,740 eles están pegou pola interface de rede, 1125 01:06:14,740 --> 01:06:18,040 lista para ser enviada ao seguinte nivel. 1126 01:06:18,040 --> 01:06:21,010 Neste caso, o proxy. 1127 01:06:21,010 --> 01:06:25,040 O proxy é utilizado por moitas empresas como unha especie de home de media 1128 01:06:25,040 --> 01:06:27,630 , Co fin de diminuír a carga sobre a conexión a Internet 1129 01:06:27,630 --> 01:06:32,240 e por razóns de seguridade, tamén. 1130 01:06:32,240 --> 01:06:38,750 Como podes ver, os paquetes son de varios tamaños, dependendo do seu contido. 1131 01:06:55,210 --> 01:07:01,890 O proxy abre o paquete e busca o enderezo web ou URL. 1132 01:07:01,890 --> 01:07:04,950 Dependendo se o enderezo é aceptable, 1133 01:07:04,950 --> 01:07:08,000 o paquete é enviado para a Internet. 1134 01:07:13,890 --> 01:07:19,630 Hai, no entanto, algúns enderezos que non cumpren coa aprobación do fiscal. 1135 01:07:19,630 --> 01:07:25,680 Ou sexa, as directrices corporativas ou de xestión. 1136 01:07:25,680 --> 01:07:30,580 Estes son sumariamente tratados. 1137 01:07:30,580 --> 01:07:32,410 Nós imos ter nada diso. 1138 01:07:32,410 --> 01:07:36,350 Para aqueles que fan iso, é na estrada de novo. 1139 01:07:46,850 --> 01:07:53,310 >> A continuación, o firewall. 1140 01:07:53,310 --> 01:07:57,410 O firewall corporativo serve a dous propósitos. 1141 01:07:57,410 --> 01:08:02,420 Ela impide que algunhas cousas bastante desagradables de Internet de entrar na Intranet, 1142 01:08:02,420 --> 01:08:10,280 e tamén pode impedir que información confidencial da empresa sexan enviadas a Internet. 1143 01:08:10,280 --> 01:08:12,980 Despois de atravesar o firewall, un router recolle o paquete 1144 01:08:12,980 --> 01:08:18,180 e colócase en unha estrada moi estreita, ou ancho de banda, como se di. 1145 01:08:18,180 --> 01:08:23,720 Obviamente, a estrada non é grande o suficiente para leva-los todos. 1146 01:08:23,720 --> 01:08:29,319 Agora, pode preguntar o que ocorre todos os paquetes que non o fan ao longo do camiño. 1147 01:08:29,319 --> 01:08:32,270 Ben, cando o Sr IP non recibir unha confirmación 1148 01:08:32,270 --> 01:08:35,000 que un paquete foi recibido no debido tempo, 1149 01:08:35,000 --> 01:08:39,890 el simplemente envía un paquete de substitución. 1150 01:08:39,890 --> 01:08:44,760 Agora estamos preparados para entrar no mundo de Internet. 1151 01:08:44,760 --> 01:08:49,370 A tea de araña de redes interconectadas que abranguen todo o planeta. 1152 01:08:49,370 --> 01:08:56,050 Aquí, routers e switches establecen conexións entre redes. 1153 01:08:56,050 --> 01:08:59,200 Agora, a Internet é un medio totalmente diferente do que vai atopar 1154 01:08:59,200 --> 01:09:01,569 dentro dos muros de protección da súa rede LAN. 1155 01:09:01,569 --> 01:09:04,060 Aquí, é o Vello Oeste. 1156 01:09:04,060 --> 01:09:06,359 Moito espazo, moitas oportunidades, 1157 01:09:06,359 --> 01:09:09,760 moitas cousas para explorar e lugares para ir. 1158 01:09:09,760 --> 01:09:12,760 Grazas a moi pouco control e regulación, 1159 01:09:12,760 --> 01:09:18,300 novas ideas atopar solo fértil para empurrar o sobre das súas posibilidades. 1160 01:09:18,300 --> 01:09:22,330 Pero por mor desa liberdade, tamén algúns perigos axexan. 1161 01:09:22,330 --> 01:09:27,000 Vostede non sabe cando vai coñecer o ping temido da morte, 1162 01:09:27,000 --> 01:09:29,890 unha versión especial de solicitude normal de ping, 1163 01:09:29,890 --> 01:09:35,720 que algún imbécil, que ata descontrola os anfitrións incautos. 1164 01:09:35,720 --> 01:09:39,130 O camiño tomar os nosos paquetes poden ser vía satélite, 1165 01:09:39,130 --> 01:09:43,090 liñas telefónicas, sen fíos ou cable mesmo transoceânica. 1166 01:09:43,090 --> 01:09:46,520 Eles non sempre tomar as rutas máis rápidas ou máis curta posible, 1167 01:09:46,520 --> 01:09:50,290 pero eles van chegar alí un día. 1168 01:09:50,290 --> 01:09:55,230 Quizais sexa por iso que ás veces é chamado de "Wait A World Wide". 1169 01:09:55,230 --> 01:09:57,980 Pero cando todo está funcionando ben, 1170 01:09:57,980 --> 01:10:03,800 pode evitar o mundo cinco veces máis na caída dun sombreiro, literalmente. 1171 01:10:03,800 --> 01:10:08,230 E todo para o custo dunha chamada local ou menos. 1172 01:10:08,230 --> 01:10:15,070 Preto do fin do noso destino, nós imos atopar outro firewall. 1173 01:10:15,070 --> 01:10:18,420 >> Dependendo da súa perspectiva, como un paquete de datos, 1174 01:10:18,420 --> 01:10:23,730 o firewall pode ser un bastión de seguridade ou un adversario temible. 1175 01:10:23,730 --> 01:10:28,530 Todo depende de que lado está e cales son as súas intencións. 1176 01:10:28,530 --> 01:10:34,990 O firewall é designado para deixar entrar só os paquetes que atender os seus criterios. 1177 01:10:34,990 --> 01:10:39,360 Este firewall está operando nas portas 80 e 25. 1178 01:10:39,360 --> 01:10:46,630 Todos os intentos de entrar a través doutras portas están pechadas para as empresas. 1179 01:10:57,660 --> 01:11:03,480 A porta 25 é utilizada para paquetes de correo, 1180 01:11:03,480 --> 01:11:10,720 mentres que a porta 80 é a entrada para os paquetes de Internet para o servidor web. 1181 01:11:10,720 --> 01:11:15,080 Dentro do firewall, os paquetes son analizados máis profundamente. 1182 01:11:15,080 --> 01:11:17,970 Algúns paquetes de facelo facilmente pola alfándega, 1183 01:11:17,970 --> 01:11:21,420 mentres outros miran un pouco dubidosa. 1184 01:11:21,420 --> 01:11:24,060 Agora, o oficial de firewall non é facilmente erro, 1185 01:11:24,060 --> 01:11:32,120 como cando ese ping de paquete morte intenta disfrazar como un paquete de ping normal. 1186 01:11:32,120 --> 01:11:37,520 [Oficial Firewall charlar con paquetes] 1187 01:11:37,520 --> 01:11:40,510 [Narrador] Para aqueles paquetes afortunados o suficiente para facelo tan lonxe, 1188 01:11:40,510 --> 01:11:45,730 a viaxe está case no fin. 1189 01:11:45,730 --> 01:11:52,130 É só unha liña encima da interface a ser levados ao servidor web. 1190 01:11:52,130 --> 01:11:55,440 Hoxe en día, un servidor web pode ser executado en moitas cousas, 1191 01:11:55,440 --> 01:11:59,230 a partir dun Exposicións para unha web cam para o ordenador sobre a súa mesa. 1192 01:11:59,230 --> 01:12:01,720 Por que non o seu neveira? 1193 01:12:01,720 --> 01:12:04,870 Coa configuración axeitada, pode descubrir se ten o resultado 1194 01:12:04,870 --> 01:12:08,390 para Chicken Cacciatore, ou se ten que ir á tenda. 1195 01:12:08,390 --> 01:12:11,760 Lembre, este é o inicio do líquido. 1196 01:12:11,760 --> 01:12:17,310 Case todo é posible. 1197 01:12:17,310 --> 01:12:20,440 Un por un, os paquetes son recibidos, 1198 01:12:20,440 --> 01:12:26,320 aberto, e descomprimido. 1199 01:12:26,320 --> 01:12:31,200 A información que conteñen, é dicir, a súa solicitude de información, 1200 01:12:31,200 --> 01:12:34,830 é enviado ao servidor de aplicacións web. 1201 01:12:41,540 --> 01:12:47,140 O paquete en si é reciclado, 1202 01:12:47,140 --> 01:12:57,570 listo para ser usado de novo, e cuberto con información desexada, 1203 01:12:57,570 --> 01:13:03,340 abordar, e enviado no seu camiño de volta para ti. 1204 01:13:03,340 --> 01:13:13,250 Volver pasado o firewall, routers, e no medio da Internet. 1205 01:13:13,250 --> 01:13:21,020 De volta a través do firewall corporativo 1206 01:13:21,020 --> 01:13:24,180 e para a súa interface, 1207 01:13:24,180 --> 01:13:31,180 preparado para ofrecer o seu navegador coa información solicitada. 1208 01:13:31,180 --> 01:13:39,840 É dicir, esta película. 1209 01:13:39,840 --> 01:13:43,550 Satisfeito cos seus esforzos, e confiando nun mundo mellor, 1210 01:13:43,550 --> 01:13:50,250 Os nosos paquetes de datos fiables cabalgar alegremente no por do sol dun novo día, 1211 01:13:50,250 --> 01:13:56,880 seguro de serviren ben os seus mestres. 1212 01:13:56,880 --> 01:14:02,560 Agora, non é un final feliz? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Ok, iso é o suficiente. Imos ver a próxima semana. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]