[REPRODUCCIÓN DE MÚSICA] DAVID J. MALAN: Así que sólo querido calmar a. Me volvería a repetir exactamente lo Scaz dicho de la memoria institucional. CS50 ha sido de alrededor de unos 20 años en Harvard. Y la realidad es, desde los de la tercera edad para abajo, hay anualmente tranquilidad que los estudiantes de primer año, los estudiantes de segundo año, y los menores de edad y También las personas mayores teniendo CS50, que terminan haciendo bien. La realidad es que los estudiantes no dejéis CS50. De hecho, en los casos raros donde hemos tenido Es o Fs, ha sido realmente debido circunstancias extenuantes, ya sea médica o personal. Ds son increíblemente raro también. Y puedo decir con comodidad, aunque normalmente no revelan las estadísticas, pero dado que no hay memoria institucional aquí en absoluto, una mayoría de estudiantes en CS50 no terminar recibiendo A los grados de rango. Una parte significativa terminan terminando en la serie B también. Así que, aunque es posible que igualando en sus tríos mente con 60% y por lo tanto Ds, o Cs, o similares, realmente no se alinea con la realidad. De hecho, queremos decir exactamente lo que decir al comienzo de la expresión que tantos estudiantes en CS50, ambos en Cambridge y aquí en New Haven, nunca han tomado un curso CS antes. Y lo que en verdad importa en última instancia, es donde se termina en la semana 12 con respecto a ti mismo en la semana cero. Ahora tenemos múltiples pistas en el curso como usted sabes-- menos cómodo, más cómodo, en algún lugar en el medio. Y de hecho, cuando llegues estadísticas sobre el concurso de esta semana, no se desanime si, sobre todo si sientes que estás alrededor de la media o por debajo de la media o la mediana, sobre todo porque no lo hacemos necesariamente tomar todas esas demografía en cuenta la mitad del semestre con las estadísticas de clasificación. En otras palabras, sabemos estadísticamente cada año que los estudiantes que son menos cómodo, hacer un poco peor en el cuestionario. Y los estudiantes que se sienten más cómodos hacer un poco mejor en el concurso. Pero por esa promesa en el plan de estudios y también en la primera semana de clases, tomamos todo eso en cuenta. De hecho, a finales de año, lo que terminamos haciendo está normalizando todos las partituras través secciones, tanto en Cambridge y ahora aquí en New Haven, lo que significa tener en cuenta los estilos dispares, la dispar dureza, la distinta suerte de personalidades que el individuo TA tienen aquí y en Cambridge de modo que usted no está en un inconveniente incluso si sólo suceder haber tenido un TF o un TA que ha sido un poco más duro en usted en tu mente. Dos, que tienen en cuenta la comodidad nivel y el fondo real, o la falta del mismo, al tomar puntuaciones de las pruebas en cuenta. Así que esos dos se tienen en cuenta. Y al final del día, porque siempre es el caso que un estudiante terminó en una sección menos cómodo cuando él o ella realmente pertenecía en una en el medio o viceversa, todo es tan muy individualizada. De hecho, obtendrá molesto por nosotros en Al final del plazo, cuando llegamos tarde la presentación de sus grados, ya que con Scaz, y Jason, y Andy, y yo, y el equipo habrá hecho en Cambridge es, literalmente, tener cientos de correos electrónicos de ida y adelante con todo centenar de los cursos TAS, aquí y en Cambridge, preguntándoles qué que piensan de todos sus estudiantes sobre la base de un proyecto de las calificaciones. Y todo lo que hay después es increíblemente individualizada. Así que en la medida en que lleguemos a conocerte en horas de oficina, secciones y más, todo eso también se tiene en cuenta. Así que, aunque tendemos a usar este de cinco escala de puntos, por favor, desapegarse a partir de la suposición de que un tres es de hecho un 60%. Está destinado a ser bueno. Y los ayudantes de cátedra se cargan en el arranque plazo para tratar de mantener las puntuaciones en los grupos de dos y de tres en tres, y cuatro patas se extienden para que podamos en realidad tienen espacio para crecer. Y en realidad tenemos un criterio por el cual podemos darle utilidad retroalimentación en cuanto a cómo lo está haciendo y cómo se está progresando. Así que por favor no tomar eso en serio. ¿Hay alguna pregunta que puedo ayudar dirección o preocupaciones que pueden ayudar a mitigar? O promesas que puedo tratar de mantener? ¿No? OK. Correcto. Así que con eso dicho, esto es CS50. Este es el comienzo de la semana de seis aquí en New Haven. Comencemos con una breve oscurecimiento de las luces para sentar las bases para el contenido actual. [REPRODUCCIÓN DE VÍDEO] [REPRODUCCIÓN DE MÚSICA] -Él Vino con un mensaje. Con un protocolo de todos los suyos. Él vino a un mundo de cortafuegos fresco, routers indiferentes, y los peligros mucho peores que la muerte. Es rápido, es fuerte, él es TCP / IP. Y tiene su dirección. Guerreros de la red. [FIN DE REPRODUCCIÓN] DAVID J. MALAN: De acuerdo. Esto es CS50. Este es el comienzo de la sexta semana. Y este es el comienzo de nuestra mirada en la programación de Internet y la web. Y, quizás lo más emocionante, hoy marca la transición para nosotros de nuestra línea de comandos mundo de la C a la web basada mundo de PHP y HTML, y CSS y SQL y JavaScript, y mucho más que está en el horizonte. Pero en primer lugar, se ha llegado a nuestra atención al caminar por el campus que hay una cierta baño aquí en Nueva Asilo llama la sala de Harvard, que es un poco de color gris aquí. Pero de hecho, alguien fue a la vez y los gastos de grabado en la habitación de Harvard aquí en esta habitación. Gracias por eso. No puedo decir que tenemos una analógica en Cambridge, sin embargo, pero yo creo que tenemos un pequeño proyecto para nosotros ahora cuando volvamos. Así que gracias por eso. Así que una rápida mirada hacia atrás en donde lo dejamos la semana pasada y donde vas próximo semana con problemas fijó cinco. Así que en el problema fijó cinco, podrás el reto de implementar un corrector ortográfico. Y para hacer eso, podrás entregó un texto bastante grande presentar ante como 140.000 palabras en inglés. Y usted será desafiado para decidir en una estructura de datos con la que se quiere cargar todas esas palabras en la memoria, y en la memoria RAM, y luego aplicar un par de funciones, uno de los cuales va a ser comprobar. Por lo que cuando pasa un argumento, una palabra, el control de funcionamiento simplemente va a tener decir verdadero o falso, se trata de una palabra en el diccionario. Pero vas a tener un poco de discreción diseño y desafíos cuando se trata de la aplicación de esta. En la implementación más simple, ciertamente se podría aplicar un corrector ortográfico en el diccionario subyacente con qué tipo de estructura de datos? Sólo tiene que guardar en su conjunto montón de cadenas en la memoria? ¿Cuál es el camino para responder desde la semana dos, tal vez? AUDIENCIA: Array. DAVID J. MALAN: Puede utilizar una matriz. Y eso no es tan malo. Pero usted no necesariamente sabe de antemano qué tan grande de un array vas a necesitar, si no lo hace conocer el archivo necesariamente por adelantado. Así que vas a tener que utilizar un poco de engaño como malloc, como que empezamos a utilizar. O podríamos abordar que la preocupación por el uso ¿qué otra estructura de datos que es sido una especie de mejora marginal en una matriz? AUDIENCIA: lista Vinculado. DAVID J. MALAN: Como una vinculadas lista, en la que tenemos un poco de dinamismo. Pero hay un poco más de gasto. Tenemos punteros para mantener. Y aún no ha codificado esta , pero definitivamente hay a ser un poco más complejidad que sólo mediante corchetes y saltando alrededor de una matriz. Pero el tiempo de funcionamiento de una matriz, si estás buscando una palabra, podría iniciar la sesión de n. Pero, de nuevo, podría ser un poco no trivial a no construir esa matriz conocer el tamaño de antelación. Una lista enlazada embargo, si usted simplemente almacenar un montón de cuerdas en una lista enlazada, ¿cuál es su límite superior corriendo el tiempo va a ser para buscar a favor o comprobar una palabra en la lista? AUDIENCIA: n. DAVID J. MALAN: Sí, gran O de n o lineal porque en el peor de los casos, la palabra es como una palabra Z todo el camino al final. Y a causa de una lista enlazada, porque esas flechas de forma predeterminada, en una lista simplemente enlazada, sólo van de una dirección a la otra, no se puede saltar. Usted tiene que seguir todos ellos. Así que nos propusimos al final de la semana pasada, semana cinco, que hay mejores maneras. Y de hecho, el santo grial sería realmente constante de tiempo por lo que cuando usted quiere para buscar una palabra, obtener una respuesta inmediata con independencia de cuántas palabras ya están en su diccionario. Esta es una representación artística de lo que podríamos llamar una tabla hash. Y una tabla hash es una especie de agradable amalgama de un array-- dibujada verticalmente aquí, sólo porque-- y luego un vinculados películas-- dibujar horizontalmente aquí. Y la tabla hash puede ser implementado en racimos de maneras. Este extracto de un libro de texto que sucede utilizar las fechas de nacimiento de estas personas como el medio por el cual se decidir donde poner el nombre de alguien. Así que este es un diccionario si va de nombres. Y con el fin de agilizar la puesta nombres en esta estructura de datos, miran, al parecer, de estas personas Fechas de nacimiento con respecto a un mes. Así que es el 1 al 31. Y olvídate de febrero y casos de esquina por el estilo. Y si su cumpleaños es el enero 1, o 1 de febrero o el 1 de diciembre de usted va a terminar en la primera parte superior de la cadena hacia arriba. Si su fecha de nacimiento es al igual que el día 25 de un mes, usted va a terminar en el número 25 de cubo. Y si ya hay alguien allí en cualquiera de esos lugares, lo empezar a hacer con ellos vinculados listas está cosiendo juntos para que pueda tener una arbitraria número de personas, ni nada, en ese lugar. Así que hay una especie de mezcla de constante de tiempo para hash. Y para discutir algo significa tomar como entrada como una persona, o su nombre, o su nacimiento fecha y, a continuación, decidir sobre alguna salida sobre la base de que, como mirar a su cumpleaños y la salida del uno al 31. Así que es posible que tenga un poco de tiempo lineal, pero en realidad, y como en el caso de un problema fijó cinco, nosotros no vamos a ser trabajando en conjunto P de cinco tanto de funcionamiento asintótica tiempo, como la lentitud teórico con la que un algoritmo podría funcionar. Vamos a cuidar de el número real de segundo y la cantidad real de memoria, el número real de bytes de memoria que está utilizando. Así que, francamente, que tiene un enorme cadena de un millón de personas es muy muy lento si usted está buscando de un nombre en una lista de tamaño millones. Pero lo que si se divide esa lista hasta en 31 partes? Busca 1/31 de ese súper larga lista, en la realidad, está seguro que va a ser más rápido. Asintóticamente, es la misma cosa. No eres más que dividir por un factor constante. Y recordar que tirar esas cosas. Pero, en realidad, va para ser 31 veces más rápido. Y eso es lo que vamos a empezar a aprovechar en P puesto cinco. Así P fijó cinco demasiado también Propone que se tiene en cuenta un poco más sofisticado estructura de datos llamado un trie. Y un trie es sólo una árbol como la estructura de datos. Pero en lugar de tener pequeños círculos o rectángulos y cuando mantengamos dibujo para los nodos, que en realidad tiene arrays enteras para sus nodos. Y a pesar de que se trata de una poco abstracto aquí para mirar, Zamyla en el conjunto P paseo a través de le guiará a través de más detalles sobre esto. Esta es una estructura de datos que en lugar inteligentemente podría tener cada nodo siendo una matriz de tamaño 26, la A a la Z o cero a través de 25. Y cuando desee insertar una persona de nombrar a esta estructura de datos o encontrar él o ella, lo que haces, si el nombre es como Maxwell, M-A-X-W-E-L-L, que primero mire M. Y entonces saltar a la ubicación correspondiente M en la primera matriz. A continuación, saltar a A, el primero ubicación en la siguiente matriz, siguiendo las flechas. Entonces X, entonces W, entonces E, entonces L, entonces L, y luego tal vez algún fin especial carácter, algunos centinela que dice una palabra se detiene aquí. Y lo que es bueno de esto-- y tener en cuenta que la imagen aquí, Observe cómo bordes de cada variedad se cortan. Eso es sólo porque esto haría ser masiva y horrible para mirar en en la pantalla. Así que ha extraído. Lo bueno de este enfoque es que si hay un millón de nombres ya en esta estructura de datos, la cantidad de pasos Qué me lleve para insertar Maxwell? M-A-X-W-E-L-L-- como siete ish pasos para insertar o buscar Maxwell. Supongamos que hay un billón nombres en esta estructura de datos. ¿Cuántos pasos toma yo busco Maxwell? M-A-X- todavía siete. Y ahí está el la llamada constante de tiempo. Si suponemos que las palabras son sin duda limitada por 20 caracteres o 46 caracteres, o algún razonablemente pequeño número entero, entonces es efectivamente una constante. Y así la inserción y búsqueda un trie es súper rápido. Por supuesto, nunca conseguir cualquier cosa de forma gratuita. Y a pesar de que es probable que no han zambullido en P puesto de cinco, sin embargo, qué precio estamos pagando probablemente a conseguir que el mayor tiempo de la eficiencia sabio? AUDIENCIA: Memoria. DAVID J. MALAN: Memoria, verdad? Quiero decir, no hemos dibujado el cuadro completo aquí. Este extracto del libro de texto no ha dibujado todos los arrays. Hay una gran cantidad de memoria y justo punteros nulos que no están siendo utilizados. Así que es una solución de compromiso. Y que va a dejar a usted en P set de cinco para decidir en qué dirección quiere ir. Ahora bien, esta idea de hash, como a un lado, es en realidad muy frecuente. Así que para discutir una forma de valor, bastante simplemente, tomar algo como entrada y producir una salida. Así que una función hash es sólo un algoritmo. Y, en general, un propósito funciones hash en la vida es tomar algo como entrada y producir un número como de salida, como el número uno hasta el 31 o la A a la Z, cero a 25. Así que toma una salida compleja y se contrae hacia abajo a algo eso es un poco más útil y manejable. Y lo que resulta en una función muy popular que el mundo de la seguridad y del mundo humano estado utilizando durante años se llama SHA1. Este es un muy elegante matemática fórmula que hace básicamente eso. Se toma una muy grande trozo de ceros y ones-- que podría ser un megabyte de largo, un long-- gigabyte y se contrae hacia abajo para Sólo unos pocos bits, unos pocos bits, para que tenga un número como uno a través de 31, o de la A a la Z. Pero, en realidad, es un poco más grande que sólo la A a la Z. Por desgracia, estamos en la cúspide de lo alguien en broma llama SHAppening por lo que el mundo está a punto probablemente terminará en unos pocos meses tiempo porque los investigadores, Sólo la semana pasada, publicó un informe que, contrariamente a lo que los investigadores de seguridad han pensado durante algún tiempo, con sólo gasto de alrededor, ¿qué era, Creo que era de $ 175,000-- mucho dinero, pero no más allá del alcance de los particularmente malos chicos malos, o particularmente mala países- $ 175,000 Usted podría comprar una gran cantidad de servidores alquilados espacio en la nube. Y volveremos a la nube en poco tiempo. Pero sólo significa alquilar servidor como espacio en los servidores de Microsoft, o la de Google o Amazon, o la como donde se puede pagar por el minuto utilizar los ordenadores de otros. Y resulta que si usted puede pagar otra persona para pedir prestado sus ordenadores y ejecutar código que has escrito en él y utilizar muy elegante matemáticas, usted puede esencialmente figura cómo función hash de alguien es trabajo, y dada su salida, ingeniería inversa cuál es su entrada. Y para los propósitos de la actualidad, baste decir, esto es malo. Debido a que las funciones de hash SHA1 y como lo son super comúnmente utilizado en aplicaciones de seguridad, conexiones cifradas en la web, transacciones bancarias, cifrado celular para sus teléfonos celulares, y similares. Y así, cada vez que alguien encuentra una manera de revertir diseñar una de estas tecnologías o romperlo, cosas malas pueden suceder. Ahora el mundo ya sabía esto. Esto era previsible. Y el mundo tiene ya movido de SHA1 para SHA256, que es sólo una forma elegante de diciendo que utilizan trozos más grandes. Y de hecho, incluso la propia CS50 sitio web actualizado año pasado a-- no es que nos enfrentamos a todo esto muchos amenazas tratando de llegar a los archivos PDF y whatnot-- pero el sitio web del CS50 utiliza la función hash más grande, lo que significa que estaremos a salvo. Así que todos sus archivos PDF estará a salvo, pero no necesariamente su dinero o cualquier cosa particularmente privado o personal para usar. Sp echa un vistazo a esa URL Si desea como algunos detalles adicionales. Así problema establece cinco es de hecho en el horizonte. Cuestionario es el próximo miércoles. Pero no tomar ventaja de oficina hora, tanto esta noche y mañana. Y también aprovechar las horas de oficina, si usted está disponible, justo después de esto. El personal y yo quedaré por aquí y hacer más informal Q & A en adición a esta noche. Y permítaseme señalar fuertemente aquí, por aquellos de nosotros aquí en New Haven-- por lo que es absolutamente por Scaz de observaciones sentían, estoy seguro, como un poco de una lucha cuesta arriba. Y por su reputación, si Ya no han aprendido o escuchado de algunos amigos en Harvard, saber aquí están algunos de los nuevos de la memoria institucional. P fijó cinco tipo de clase de tiende a ser el más difícil en CS50, o los más difíciles para la mayoría de los estudiantes. Pero lo que eso significa es que estamos casi en la cima de esta colina. Y realmente quiero decir esto. Es lo más difícil, pero que es también el más gratificante en que a diferencia de la mayoría de cada otro ciencias de la computación introductoria Por supuesto, en los EE.UU., que sepamos, la mayoría de los estudiantes no terminan una intro Por supuesto que ya ha implementado cosas como árboles, y trata, y tablas hash, y similares. Y por lo que espero y esperamos que usted es tener un sentido enorme de satisfacción, incluso Si la semana o dos a través del cual se llega a que la satisfacción ¿Se siente un poco como esto. Pero permítanme asegurarles, que sólo tienen cuatro series P izquierda. Así especie de que la parte superior está a la vista. En el otro lado de la misma, confiar en nosotros, es sólo colinas y las nubes. Y diremos, cachorros están en el otro lado. Así que sólo tienes que colgar allí un poco más. Quiero decir, de hecho, como nos ponemos a la transición en el mundo de la programación web, usted encontrará que las cosas become-- este es adorable realidad. OK, vamos a publicar este URL después. Encontrarás también que estamos llegando a una especie de meseta donde todo es de hecho todavía sofisticada y desafiante por diseño, pero no estás va a sentir como somos perpetuamente subiendo esta colina. Así que toma un poco de consuelo en eso. Así que sin más preámbulos, vamos a empezar para hacer esta transición de mercado en el semestre para el mundo de la la web, y realmente el mundo con el que todos estamos más familiarizados. Tenemos dispositivos de Internet en nuestros bolsillos, en nuestros escritorios, en nuestras mochilas, y similares. ¿Cómo funciona todo este trabajo? ¿Y cómo podemos empezar a escribir código que no es super arcana y en algunas pronta texto parpadeante que ninguno de sus amigos o familiares son cada vez va a querer interactuar con, pero algo que puede poner en sus teléfonos, o en sus navegadores web, o en cualquier dispositivo con que interactúan. Así que aquí está la casa de alguien. Y en el interior de esta casa es un par de ordenadores portátiles, un par de escritorio de la vieja escuela ordenadores, algo llamado enrutador o concentrador en el medio, y luego una especie de módem de cable o DSL. Y luego está el Internet, en general, dibujado como una nube allá arriba en el cielo. Así que esta imagen, aunque un poco de suerte de anticuado, sin duda capta lo que la mayoría de es probable que tenga en sus hogares, o efectivamente lo que todos ustedes tienen en sus dormitorios o apartamentos, o similares. Entonces, ¿qué es en realidad va en cuando intenta utilizar el Internet hoy? Así que cada computadora en la Internet, resulta que, necesita tener una dirección única, al igual que nosotros, en el mundo real necesidad una dirección postal, al igual que 51 de Prospect Street, New Haven, Connecticut, o 33 Oxford Street, Cambridge, Massachusetts. Lo mismo ocurre con los ordenadores en Internet necesitan una forma de abordar a sí mismos de forma única. Esto es de modo que cuando un ordenador quiere hablar con otro, puede enviar un mensaje y informar al destinatario a quien debe enviar la respuesta de vuelta. Así que sólo tiene una especie de sentido intuitivo quizá que todo tiene una Dirección de algún tipo. Pero, ¿cómo conseguir una dirección? Bueno, si has llegado hasta aquí en campus, o te vas a casa y se enciende el laptop o computadora de escritorio, y, o bien conectarlo o conectarse a Wi-Fi, Resulta que hay un servidor especial en la mayoría de redes llamado un servidor DHCP. No importa realmente lo que esto significa, pero es configuración dinámica de host protocolo, que es justo una forma elegante de decir, esto es un equipo que sea de Yale tiene, o Harvard tiene, o Comcast tenga o Verizon tiene, o su empresa tiene, cuyo propósito en la vida, cuando oye que alguien acaba de agregar a la red, es decir aquí, usa esta dirección. Así que nosotros los humanos no tienen que código duro en nuestros ordenadores lo que nuestra dirección es única. Nos convertimos en, abra la tapa, y de alguna manera este servidor en la red local sólo me dice que mi dirección es 51 Prospect Street, o 33 Oxford Street, o similares. Ahora no va a ser tan detallada como eso. Más bien lo que voy a conseguir es un dirección numérica denomina una dirección IP. IP significa Internet Protocol. Y las probabilidades son por este momento de su vida, usted probablemente ha escuchado o visto la palabra IP, o generalmente tirado alrededor tal vez. Pero, de hecho, es bastante sencillo nada. Una dirección IP es sólo un número decimal con puntos, lo que significa que es algo de punto algo dot dot algo algo. Y cada uno de esos tantos sucede ser un número entre 0 y 255. Así que basado en cinco semanas más de CS50, si estos números cada rango de 0 a 255, cuántos bits es cada de esos signos de número? AUDIENCIA: Ocho. DAVID J. MALAN: Tiene que ser ocho. Así que en total, ¿cuántos los bits es una dirección IP? AUDIENCIA: 32. DAVID J. MALAN: Hasta 32. 8 y de 8 y de 8, más 8 es 32. ¿Cuántas direcciones IP totales puede haber en el mundo? AUDIENCIA: 4000000000. DAVID J. MALAN: Así que más o menos de cuatro millones porque eso es 2 el poder 32. Y si usted no puede especie de asimilar que en su mente, sólo sé que los valores de 32 bits puede ser tan grande como 4000000000 si se trata de todos los valores positivos. Así que eso significa que hay 4 mil millones direcciones IP posibles que existen. Y historia divertida, somos clase de quedarse sin ellos. Y de hecho, es un gran problema en ese el mundo también vio este problema que viene, pero no necesariamente ha respondido a en la más rápida manera posible. Y, en efecto, una vez que haya terminado CS50 y empezó prestar atención en el mundo de la tecnología, se le ver que esto es muy común temática. Por ejemplo, si vamos realmente vieja escuela hoy en día, el Y2K. Eso no era realmente una sorpresa. Al igual que todo el mundo sabía de 1.000 años que esa era-- más de un mil años-- que que fue finalmente va a suceder. Y, sin embargo, respondimos a ella mucho en el último minuto. Y eso ocurra de nuevo. Así que hoy vamos a hablar de IP versión 4. Pero saber que el mundo es finalmente llegar en torno a la actualización a algo llamado IPv6, que en lugar de 32 bits direcciones, uses-- cualquiera querer tomar una conjetura, la cantidad de bits? AUDIENCIA: 64? DAVID J. MALAN: Buen intento, pero no. Finalmente estamos tratando de salir adelante de la curva. AUDIENCIA: 128. DAVID J. MALAN: 128, que es un número enorme enloqueciendo de direcciones IP, porque eso es como los tiempos de 2, 2 veces, Tiempos 2, un montón de veces grupos de dos a partir de 4 mil millones. Así que si curiosa. Resulta fuera-- y yo googled este encontrar este fuera-- ordenadores de Yale, aquí en Yale, tienden a comenzar con éstos numbers-- 130.132 puntos algo, y 128,36 dot algo. Pero no hay duda, excepciones en todos los ámbitos dependiendo de qué departamento y la construcción y el campus que te encuentres. Harvard tiende a tener 140.247, o 128.103. Y, en general esto es información inútil, pero es algo que usted puede notar ahora. Al iniciar hurgando configuración de sus equipos, usted puede comenzar a notar estos tipos de patrones de poco. Pero cuando estás en casa y tener un AirPort de Apple, o un dispositivo de Linksys, o una D-Link, o lo que es sus padres o hermanos instalados en su casa, así lo que es probable que tenga es lo que se llama una dirección IP privada. Y estos fueron en realidad un buena solución, temporal al problema de funcionamiento corto en direcciones IP. ¿Y qué se puede hacer con redes domésticas, typically-- y, francamente, incluso Yale y Harvard están empezando hacer esto en diferentes areas-- es usted puede dar un montón de ordenadores una dirección IP, siempre y cuando se pone un dispositivo especial en frente de ellos, algo que se llama un router, o puede ser llamado un proxy o cualquier número de otras cosas. Pero un dispositivo que tiene que una dirección IP. Y luego detrás de esa dispositivo, dentro de un edificio, dentro de una casa o un apartamento, puede ser cualquier número de equipos, todos los cuales tener una dirección IP que empiece con uno de estos dígitos aquí. Y mientras ese equipo sabe cómo convertir la dirección pública para la dirección privada, todo puede ordenar de trabajo como se esperaba. Pero lo contrario de esto es que si estás en casa y tiene un hermano, y ambos están visitar algún sitio web, que el sitio web no sabe si es usted o de su hermano que visiten la página web, porque usted parece ser el mismo persona, porque todos sus datos está pasando por ese router o ese punto central. Pero lo suficiente en estos detalles de nivel inferior. Echemos un vistazo a las direcciones IP cómo a veces llegar quizá en los medios de comunicación y cómo podemos comenzar a la ruina, Francamente, aún más espectáculos para usted. Si pudiéramos atenuar la luces durante unos segundos. [REPRODUCCIÓN DE VÍDEO] -Es Una de 32 bits en IPP 4 direcciones. -IP ES Internet- Red -Private, La red privada de Tamia. Ella es tan increíble. -Vamos Charlie. DAVID J. MALAN: Es una dirección IP espejo. Ella dejarnos observamos que que está haciendo en tiempo real. [FIN DE REPRODUCCIÓN] DAVID J. MALAN: OK. Así que un par de problemas con esto. Así que uno, lo que estamos buscando por lo que aquí en la pantalla es un código escrito en un lenguaje llamado Objective-C, que es una especie de sucesor el lenguaje C que estamos haciendo. Esto no tiene absolutamente nada que ver con la programación. De hecho, lo mejor que puedo decir, este es un programa de dibujo que alguien descargado desde el Internet implica de alguna manera crayones. Tal vez menos atroz es que esta dirección IP, válida o no válida? AUDIENCIA: no válido. DAVID J. MALAN: inválido, porque 275 es, por supuesto, no entre 0 y 255. Eso también es probablemente correcto sin embargo, porque usted no quiere montón de gente loca que son como pausar TV en su TiVo y luego visitar la IP para ver si en realidad hay algo allí. Así que uno es un poco menos atroz. Pero se dan cuenta de eso también es especie de nuestro alrededor. Así que por supuesto, ninguno de nosotros realmente escribir direcciones numéricas en nuestros navegadores. Sería una especie de cosa mala si Google, para visitar Google, que tenía que ir al 123.46.57.89. Y todo el mundo tenía a sólo recuerda eso. Y, francamente, no tenemos clase de visto este problema antes. De vuelta en el día en que la gente no lo hacen tener teléfonos celulares y listas de contactos, y empresas realmente still-- realidad, Supongo que las empresas todavía tienen 800 números y el como-- sino que en general, ver los números anunciados como 1-800-COLLECT, C-O-L-L-E-C-T. Porque nadie puede recordar, al ver un anuncio en un autobús o cartelera, lo de alguien número, pero pueden probablemente, con mayor probabilidad, recuerda una palabra. Así que hemos adoptado la misma tipo de sistema en el mundo de la Internet por lo que hay una sistema de nombres de dominio para que los seres humanos podemos escriba google.com, facebook.com, yale.edu, harvard.edu, y dejar que la cifra ordenadores lo que el correspondiente IP dirección es un nombre dado. Y la manera de hacerlo en el mundo real es que por $ 10 al año, tal vez $ 50 al año, usted puede comprar un dominio nombrar, o realmente alquilar un nombre de dominio. Y entonces todo el que usted está pagando alquilar ese nombre de dominio, usted les dice que en el mundo sabe cuál es su dirección IP es. Y no vamos a entrar en estos datos, pero muchos de ustedes puede ser que desee, por último proyectos, para firmar en realidad hasta para su propio alojamiento web empresa, ya sea de forma gratuita o por unos pocos dólares al mes. Algunos de ustedes podrían querer comprar, por unos pocos dólares, su propio nombre de dominio, sólo por diversión o para iniciar un negocio o un sitio personal o similar. Y darse cuenta de que todo de que en última instancia, se reducen a que le dice al mundo lo que la dirección IP de su servidor es. Y luego estos DNS servidores realmente cuidan de informar al resto del mundo. Así que todo un servidor DNS tiene, en definitiva, en el interior de su memoria es como el equivalente a una hoja de cálculo de Google o una hoja de cálculo Excel con al menos dos columnas, una de las cuales tiene nombres, como harvard.edu, y yale.edu y google.com. Y la otra columna tiene la correspondiente dirección IP o IP direcciones. Y en realidad podemos ver esto. Así que en mi Mac-- y puedes hacer esto en los equipos con Windows tan bien-- si abro una ventana de terminal aquí, absolutamente como la de CD50 IDE, la mayoría de las computadoras tienen un comando llamado nslookup, servidor de nombres de mirar hacia arriba. Y si escribo algo en como yale.edu y pulsa Enter, lo Debería ver si mi red coopera como lo hizo para múltiples pruebas antes de la clase began-- probemos google.com. Por supuesto, ahora no está funcionando. Eso es genial. Muy bien, una pausa por un momento. nslookup google.com. Bueno, vamos a ver si el real Internet- no. Eso es lo que pasó. Oh, Dios mío, de acuerdo. El Wi-Fi se rompió. Hola, quiero saber cuál es mi dirección IP es? Correcto. YaleSecure. Esta es la forma de solucionar cosas como un científico de la computación. Damos vuelta a la conexión Wi-Fi apagado. OK. Y en realidad, Scaz, ¿te importa nosotros ingresando en el seguro? De lo contrario, más pruebas son-- OK, gracias que Yale-- o está a punto de romperse. Quiero ir a YaleSecure. Ah, y tal vez vamos a estar bien. Tal vez estamos de vuelta. Y así es como, como un ordenador científico arreglar un ordenador. [Aplausos] Correcto. Así que donde yo estaba dentro de este la llamada ventana de terminal, y si yo nslookup yale.edu, ahí vamos. Así que regrese primero la dirección IP el servidor DNS que mi portátil está utilizando. Así que además de un servidor DHCP que hemos hablado hace un momento decía lo que mi laptop mi IP dirección es, ese servidor DHCP También me dice qué servidor DNS a utilizar. De lo contrario tendría que escribir manualmente esto en. Pero eso no es tan interesante. Lo que me importa es que este es el Dirección IP del sitio web de la Universidad de Yale, aparentemente. Así que, de hecho, vamos a probar esto. Déjame ir para arriba en un navegador y vaya a http: //, y luego de que la dirección IP, y pulsa Enter. Y vamos a ver. Así es como los demás que pueda visite los sitios web de Yale. Ahora no es tan memorable. Al igual que, la pre-frosh probablemente no van recordar esta dirección particular, si le dicen que visitar allí después de visitar. Pero sí parece funcionar. Y así DNS realmente sólo nos permite tener direcciones amigables mucho más humanos. Pero no lo hacen necesariamente simplemente dar una respuesta. De hecho, cuando usted es un realmente grande compañía de tecnología, es probable que desee tienen un montón de servidores. Y aunque esto es engañoso. Así Yale probablemente no tener un solo servidor web. Google probablemente no tiene sólo 10 o así los servidores web. Google especialmente probable tiene miles de servidores web todo el mundo que puede responder a las peticiones de la gente como nosotros. Pero también usan una tecnología llamada balanceo de carga, lo que cuento largo, tiene sólo unos pocos dispositivos en el mundo la difusión de la carga entre varios servidores. Así que es como una especie de tela de araña, si usted despachar las solicitudes. Pero por ahora, todo lo que es interesante para hoy es que un nombre de dominio como google.com incluso puede tener múltiples direcciones IP así. Pero, ¿cómo todos nuestros datos realmente ir y venir a continuación, en el final? Bueno, resulta que no hay estos cosas llamados enrutadores en Internet. Y lo que es un router para la medida en que usted ya sabe? Y yo he usado la palabra un par veces en el contexto de un hogar, pero en términos simples, ¿Qué hace un router? Dame sólo una suposición basada en su nombre? AUDIENCIA: Así que una carretera o un camino? DAVID J. MALAN: Así es una carretera o un camino. Así que una ruta es un camino o la ruta, absolutamente. Y un router, por lo que un dispositivo que en realidad la información de rutas, sería mover datos entre los puntos A y B. Y así, en fact-- y esto es quizás cuando Google le representaciones de routers en el mundo, todo lo que obtiene son diagramas de marketing cursi. Y por lo que esta es una especie de los más un representante que pude encontrar que parecía medianamente interesante. Cada uno de estos puntos o destellos de esperanza en todo el mundo representa un router. Y cada uno de ellos tiene una línea entre algún otro router. Porque de hecho, no son miles, probablemente millones de routers de todo el mundo, algunos de los cuales están en nuestras casas y en nuestros campus, pero una gran cantidad de que son propiedad de grandes empresas y están interconectados de manera que si yo quiere enviar algunos datos de aquí en Yale casa de nuevo a Cambridge, Yale, probablemente, no tiene un único cable, sin duda, ir directamente a Harvard. Y Yale no tiene un solo cable que va al MIT o Stanford, o a Berkeley, o Google, o cualquier número de destinos. Más bien, Yale y Harvard, y todos los demás en internet no tener uno o más routers conectado a él, tal vez en la periferia del campus. Así que cuando mis datos quiere al salir de la escuela de Yale, se va a ese router más cercano, tal como se representa por uno de estos puntos. Y luego que las cifras del router fuera de si enviar esta manera o de esta manera, o esta manera, o de esta manera basan en otra mesa en su memoria, otro archivo de Excel o Google hoja de cálculo que en una columna dice, si su dirección IP comienza con el número uno, ir por este camino. Si la dirección IP comienza con un número dos, ir de esa manera. Y por lo que puede descomponerlo numéricamente tener el router enviar datos en todas direcciones. Y que tipo de podemos ver esto también. Vamos a seguir adelante en este terminal ventana otra vez, y déjame ir por delante y traza la ruta de, digamos, www.mit.edu, que es un par de cientos de millas de distancia. Eso fue realmente maldita rápido. Entonces, ¿qué ha pasado? Así que en sólo siete pasos, y en sólo cuatro milésimas de segundo, Envié datos en internet de aquí en Yale al MIT. Cada una de estas filas, se puede quizás adivinar representa ahora qué? AUDIENCIA: Un router. DAVID J. MALAN: Un router. Así que de hecho, parece que no hay alrededor de siete o más routers, o seis routers en entre yo físicamente en la escuela de derecho de Yale aquí y el sitio web del MIT allá. Y lo que podemos deducir de esto es como follows-- y déjame limpiarlo. Voy a volver a ejecutar con un comando argumento de la línea de q 1 a decir simplemente, sólo dame una consulta. Por defecto, trazado de ruta hace tres. Y es por eso que vimos racimos de números. Quiero ver menos números sólo para mantener el filtro de salida. Y vamos a ver qué pasa. Así que por la razón que sea, alguien en el pensamiento de Yale que sería divertido para decir que es su arubacentral router por defecto, lo que está en vlan o virtual LAN, de área local virtual red 30-- por lo que probablemente al menos 29 router.net.yale.internal otros--. Y .internal aquí es una especie de falsa dominio de primer nivel destinado a ser utilizado solo en el campus. Y note la dirección IP correspondiente de ese router, donde quiera que esté aquí en el campus, es 172.28.204.129. Y tardó 36 milisegundos ir de aquí para allá. Historia divertida. Nos pondremos en contacto con que, en un momento. Pero ahora el segundo router-- a que aparentemente arubacentral tiene una especie de física conexión más likely-- los seres humanos no se molestaron nombrarlo. Los seres humanos de Yale no se molestaron nombrando porque es en el interior de su red parece. Y por lo que sólo tiene una dirección IP. Pero luego una tercera enrutador aquí en la red de la Universidad de Yale eso es probablemente un poco más lejos aún se llama cen10g lo es decir asr.net.yale.internal. Y también tiene una dirección IP. Ahora ¿por qué son estos números tipo de fluctuación? 2.9, 1.4, 36? Los routers se llene de gente. Y consiguen congestionadas y copia de seguridad. Hay miles de personas en este campus de uso de Internet en este momento. Hay un centenar de personas en este sala de uso de Internet en este momento. Y así lo que está sucediendo es que los routers pueden conseguir congestionado. Y así aquellos tiempos podría fluctuar un poco. Así que por eso no lo hacen necesariamente aumentar rodeos. Pero las cosas se ponen tipo de interesante en el paso cuatro. Al parecer, entre Yale y paso cuatro es otro salto. ¿Y dónde está el router en el paso cuatro, probablemente? AUDIENCIA: [inaudible] DAVID J. MALAN: JFK tal vez, tal vez en el aeropuerto. Pero por alguna razón, los administradores del sistema, por lo que frikis que se ejecutan los servidores de años han llamado routers después del código del aeropuerto más cercano. Así JFK probablemente significa es simplemente un lugar en Nueva York, tal vez en Manhattan o uno de los condados. nyc2 denota, presumiblemente, otro router que está en algún lugar en Nueva York. Yo no sé muy bien dónde fila seis es aquí, el número enrutador seis. quest.net un gran ISP, proveedor de servicios de Internet, que proporciona conectividad a Internet a lugares grandes como Yale y otros. Y luego esta última, parece que el MIT no lo hace aun tener su propio sitio web en Cambridge necesariamente, sino que han externaliza su página web, o al menos los servidores físicos, a una empresa llamada Akamai. Y Akamai realidad está justo bajando el camino del MIT en Cambridge resulta. Pero darse cuenta también que incluso pensó vas a www.mit.edu, que realmente podría ser enviado en cualquier parte del mundo. Y vamos a ver en algún lugar otra parte del mundo. Déjame ir por delante y claro esta pantalla y en lugar de trazar la ruta, sólo una vez, por lo que consultar uno, para www.cnn.co.jp, la página principal de Japón para la CNN, el sitio de noticias. Y si me golpeó Entra ahora, Veamos qué pasa. Estamos de nuevo a partir de las arubacentral. A continuación, vamos a la enrutador sin nombre, unos cuantos más. Así que tomó 12 lúpulo a llegar a Japón este tiempo. Y vamos a ver lo que podemos recoger. Así mismo hop, hop misma. Ligeramente diferente ahora. De interesante esta. Así que supongo que aquí, stamford1 es un pocas ciudades de distancia, en Connecticut también. Estos routers en la fila de seis y el siete no tienen nombres. Pero esto es algo increíble. Así que lo que parece ser entre el routers en el paso siete y ocho? ¿Y por qué dices tanto? ¿Sí? AUDIENCIA: Océano. DAVID J. MALAN: Probablemente un océano. Sabemos que es verdad al igual que, intuitivamente, ¿verdad? Pero podemos confirmarlo como mucho tipo del tipo de forma empírica por qué? Lo que ha cambiado entre filas siete y ocho? Le tomó mucho más tiempo para ir a cualquiera que sea este router sin nombre siete es, probablemente en algún lugar en el continental de Estados Unidos, a un paso de ocho, que es, probablemente, en algún lugar de Japón basado en el nombre de dominio .jp allí. Y por lo que aquellos adicional cien algo milisegundos o 90 milisegundos o menos es el resultado de nuestros datos va en un bonito gran masa de agua. Ahora, curiosamente, parece que tal vez que el cable pasa a través de todo los EE.UU.. Si en realidad estamos repasando la costa oeste para llegar a Japón, que es un poco el camino más largo si nos vamos a otro lado. Así que no es del todo claro ¿qué está pasando físicamente. Pero el hecho de que cada salto adicional de hecho tomó considerablemente más largo que cualquier otro, es bastante buena confirmación de que el programa de CNN Servidor web japonesa es probablemente de hecho en Japon. Y es sin duda más lejos de lo que el MIT ha sido. Y vale la pena señalar también, sus datos no es necesariamente va a viajar por el distancia más corta posible. De hecho, si usted juega alrededor con trazado de ruta en el hogar sólo recogiendo sitios web al azar, que podrían encontrar que acaba de enviar un correo electrónico o para visitar un sitio web eso es aquí en New Haven, a veces sus datos podría primero tomar un desvío, bajar a DC, y luego volverá a subir. Y eso es sólo por las decisiones de enrutamiento dinámico que estos equipos están haciendo. Ahora sólo por diversión, el equipo de producción recortado uno de estos videos para nosotros ser sólo un poco más conciso. Sin embargo, para darnos una idea rápida aquí-- y podemos dejar las luces en-- en cuanto a lo mucho que el cableado es en realidad llevar a todos nuestros datos. [REPRODUCCIÓN DE VÍDEO] [REPRODUCCIÓN DE MÚSICA] [FIN DE REPRODUCCIÓN] DAVID J. MALAN: Todos los vídeos de redes tiene buena música que suena al parecer. Así que eso es para llegar a un sentido de lo mucho que tienen estado pasando por debajo de la capucha. Pero echemos un vistazo a un nivel ligeramente inferior ahora en qué datos es en realidad atravesar esas líneas, e incluso ir de forma inalámbrica en una habitación como esta. Así que resulta cuando se solicita una página web, o envíe un e-mail, o recibir una página web o un correo electrónico, o un mensaje Gchat, o un mensaje de Facebook, o similares, que no es sólo una gran parte de los bits que fluyen de forma inalámbrica a través del aire o electrónicamente en un alambre. Más bien, esa petición o la respuesta es generalmente fragmentada en piezas separadas. En otras palabras, cuando usted tiene un solicitar para hacer del otro equipo, o te devuelven una respuesta de otro computer-- al igual que suponer, por ejemplo, si unfamiliar-- como demasiada gente parecen ser estos days-- si no están familiarizados con esto-- No esta fellow-- este hombre. Así que supongamos que este es un mensaje que Quiero enviar a alguien en la espalda. ¿Quién en la parte de atrás le gustaría recibir una foto de Rick Astley hoy? ¿OK como te llamas? AUDIENCIA: Cole. DAVID J. MALAN: ¿Qué es? AUDIENCIA: Cole. DAVID J. MALAN: Holt? H-O? AUDIENCIA: C-O-L-E. DAVID J. MALAN: C-O-L-E, Cole. Apenado. C-O-L-E. Correcto. Así que si quiero enviar Cole este imagen aquí, sabes que esto es una especie de cuadro grande, ¿no? Esto podría ser unos pocos kilobytes, unos pocos megabytes, sobre todo si es de alta resolución. Y yo realmente no quiero parar todo el mundo el uso de internet justo mientras yo enviaré esta realidad grande, gran calidad de imagen de Rick Astley en toda la habitación. Me gustaría que sus datos para continuar atravesar la red y la conexión Wi-Fi así como. Y por lo que hace sentido-- y esto es recuperable por vía electrónica, no tanto en el mundo real. En realidad, esto va a tener múltiples significados si toman mi salida de audio. Así que si rompo esto en el medio como esto aquí, esto ahora se puede viajar por el internet de manera más eficiente, porque es un pedazo más pequeño. Así que con menor probabilidad se va a chocar con el tráfico de otra persona En Internet. Y así lo que su computadora hace de hecho cuando se quiere enviar un mensaje a Cole es Trozos de un mensaje como este en pedazos más pequeños, fragmentos por así decirlo. Y luego los pone dentro de lo llamaremos tipo de sobres virtuales. Así que tengo cuatro sobres de papel aquí. Y he ellas pre-numerados, uno, dos, tres y cuatro. Y lo que voy a hacer en el frente esto, al igual que un correo normal es que me voy a poner el nombre de Cole allí. Y luego en la parte superior, estoy voy a poner mi nombre en ella, David, de modo que la primera tales paquete Estoy enviando por ahí en internet se ve un poco algo como esto, las características más destacadas de los cuales son que tiene una para abordar, desde una dirección, y también un número, por lo que que se espera es información suficiente para Cole para reconstruir este mensaje. Así que déjame hacer lo mismo aquí, la mismo aquí, y lo mismo aquí, escribir su nombre en el Campo Para en todos ellos. Y luego vamos a seguir adelante y poner estas imágenes en el interior. Así que aquí es un paquete que está listo para ir. Aquí hay otro paquete que está listo para ir. Aquí hay un tercer paquete que está listo para ir. Y aquí es cuarto paquete que está listo para ir. Y ahora lo que es interesante acerca de cómo el Internet en las obras de realidad es que a pesar de que tengo cuatro paquetes, todos los cuales están destinados para el mismo ubicación, que no son necesariamente va a recorrer el mismo camino. Y así, a pesar de que yo podría entregar estos los paquetes fuera al router más cercano digamos, si a usted le gustaría enviarlos en todas direcciones, vamos a ver lo que realmente sucede, el objetivo de que es conseguir que en última instancia, a Cole. Y, en efecto, que ya no están teniendo necesariamente la misma dirección. Y eso está bien. Esto es un poco incómodo y el estilo de Oprah hoy. Y ahora me deja deliberadamente tener que una vuelta. Y ahora Cole, si usted le gustaría reensamblarlo lo mejor que pueda. Por supuesto, todos podemos adivinar lo que la conclusión de que aquí va a ser. Vas a tener 3/4 de Rick Astley en un momento. Y lo que es sin embargo la implicación de eso? Usted quiere tratar de sostenerlo? Tenemos una cámara apuntando a usted si desea para posar con Rick Astley aquí. Allá vamos. Encantador. Pero parece que falta un fragmento de Rick Astley. Así que resulta que el Internet es accionado generalmente por no sólo IP, pero en realidad hemos escuchado en el mismo a partir de la conferencia en la que video-- y usted probablemente ha visto este sigla más often-- lo que realmente es el protocolo que tienden a oír hablar? AUDIENCIA: TCP / IP. DAVID J. MALAN: TCP / IP, que es sólo una combinación de dos protocolos, uno llamado IP. ¿Qué de nuevo, es sólo el conjunto de los convenios a través de la cual abordar todos los ordenadores en internet. Y entonces TCP, que sirve a otro propósito. TCP es un protocolo que se típicamente utilizar en conjunción con IP, que, entre otros cosas, la entrega de garantías. De hecho, TCP es el protocolo que daría cuenta de que uno de los paquetes al parecer no llegó a Cole, porque parece ser el número cuatro desaparecidos de cada cuatro. Y así lo TCP, un protocolo hace, es que le dice a Cole, bueno Cole, si usted recibe sólo tres de cada cuatro paquetes, Me cuál te dirá Faltan, en esencia, y entonces mi propósito en la vida debe ser para retransmitir eso. Y así, si yo también, la remitente, están utilizando TCP, Entonces debería crear un nuevo packet-- No esta arrugada de un aquí-- retransmitir sólo esta pieza de , de modo que en última instancia tiene Cole un recuerdo completo, si nada más. Pero lo que en última instancia los datos en realidad llega a su destino correcto. Pero, por desgracia, escribiendo el nombre de Cole en la parte frontal no es suficiente, per se. Y de verdad, yo no escribiría El nombre de Cole, pero probablemente su dirección IP en el sobre. Y yo no escribiría David. Me gustaría escribir mi dirección IP en el sobre de manera que las computadoras realmente puede comunicarse de ida y vuelta. Pero resulta que los ordenadores puede hacer mucho más que servir hasta fotos de Rick Astley. También pueden enviar y recibir correos electrónicos, mensajes de chat. Ellos pueden hacer cosas como la transferencia de archivos, y cualquier número de otras herramientas se utiliza en Internet, servidores pueden hacer en estos días. Y sólo porque una empresa, o una escuela, o una persona quiere tener un servidor web y un servidor de correo electrónico, y un servidor de chat, no significa que usted necesita tres computadoras. Usted puede tener un solo equipo que ejecuta múltiples servicios, por así decirlo. Y así, cuando Cole recibe un mensaje así, ¿cómo no su equipo sabía si mostrar esa imagen en su navegador, o en Gchat, o en Facebook Messenger, o en cualquier número de otras herramientas? Así que resulta también de que como sobre es pieza adicional de la información conocida como un número de puerto. Y un número de puerto es sólo un número en efecto, pero no identifica de forma exclusiva la computadora, pero el servicio. Y hay racimos de estos. Así resulta que en el mundo, los seres humanos han decidido por unos pocos, convenciones, algunas de las cuales son estos. Así que hay algo llamado Protocolo de transferencia de archivos. Es bastante anticuado. Es completamente inseguro. Mucha gente todavía lo utilizan. Y utiliza el número de puerto 21. En otras palabras, si enviar un archivo a través de FTP, el sobre tendría no sólo el remitente y la dirección IP del receptor, también tendría el número 21 de manera que el equipo receptor sabe oh, esto es un archivo, no un correo electrónico o un mensaje de chat. 25 es SMTP. ¿Cuántos de ustedes han utilizado SMTP? Equivocado. Casi todos ustedes tienen. Si alguna vez has usado el correo electrónico, usted ha utilizado SMTP, Simple Mail Transfer Protocol, que es sólo una forma elegante de decir, este es el tipo de equipo o servicio que envía su salida de correo electrónico. Y si alguna vez has visto siglas como POP o IMAP, y hay algunos otros, esos son para recibir correo electrónico, típicamente. Eso sólo significa que es un servicio diferente. Es software que alguien escribió que envía o escucha en un número de puerto específico por lo que no confunde correos electrónicos con algún otro tipo de datos. Ahora la web es HTTP, que es número 80, y también el puerto 443. Y de hecho, aunque que los humanos, afortunadamente, No tienes que hacer esto, cualquier momento usted visita un sitio web como http://www.yale.edu, el navegador es simplemente ser clase de útil en la que es asumiendo que usted quiere puerto numérico 80. Ya sabemos que el DNS puede averiguar lo que la dirección IP es de www.yale.edu. Pero el equipo es sólo va a inferir que quieren puerto 80 porque usted está utilizando Chrome, o IE, o algún otro navegador. Pero podría técnicamente hacer de colon 80. Y entonces puedo decirle explícitamente mi navegador, enviar un paquete o más de información para www.yale.edu solicitando la página de inicio de hoy. Pero específicamente, dirección a IP de Yale en el puerto 80 por lo que en realidad llegue respaldar el servidor web de la Universidad de Yale. Ahora desaparece inmediatamente porque los navegadores sólo decidimos que no lo hacemos tenga que confundir los seres humanos por tener aún más arcana información como de colon 80. Y, francamente, los navegadores al igual que Chrome no hacer aún muestran que HTTP más, o el colon, o la barra barra, o de la barra final, en cierto sentido, porque están tratando para hacer las cosas más simples para los usuarios. En otro sentido, es sólo un poco de una experiencia de usuario cosa-- Vamos a deshacernos de algunos de los obstáculos. Pero esconde algunos de estos detalles subyacentes. Y de hecho, ninguno de nosotros probablemente nunca escriba http más. Basta con escribir en algo como www.harvard.edu. Y de nuevo, infiere Chrome que desea HTTP. Pero hay otros protocolos que sin duda podríamos estar usando. Así que dado todo esto, si ahora ordenar de poner en el llamado sombrero de la ingeniería, ¿cómo cosas llamadas firewalls funcionan? Así que usted está probablemente en general familiarizado con el servidor de seguridad, no tanto en el sentido físico. Así que de vuelta en el día, y aún hoy en día, si tienes como centros comerciales para instancia que tiene una gran cantidad de tiendas, en general, las paredes de entre tiendas individuales o tiendas son servidores de seguridad en el sentido de que tienen aislamiento especial de manera que si un incendio estalla en una tienda, No necesariamente extendido a la tienda de al lado. El mundo de la informática también tiene cortafuegos que hacer algo diferente. ¿Qué hace una bola de fuego? ¿Sí? AUDIENCIA: Básicamente le cortaron la conexión si encuentran algo como, por ejemplo, tienen varias declaraciones id. Y si pasa algo, le cortaron la conexión. Al igual que si este ataque malicioso [Inaudible] el equipo, o-- DAVID J. MALAN: OK bueno. Sí, y de hecho eres incluso ir un poco más lejos en la descripción de algo que podría ser llamado un sistema de detección de intrusos, o IDS para abreviar, por el que usted en realidad tienen reglas definidas. Y si usted comienza a ver sospechosa comportamiento, intenta poner fin a la misma. Y un firewall, francamente, a nivel de redes, es aún más tonto y más simple de que, en general. Y hay diferentes tipos los servidores de seguridad en el mundo. Pero los que operan a el nivel que estamos hablando hoy-- IP y TCP-- trabajar aún más directa. Por ejemplo, si usted fuera el sistema de Yale administradores, o el sistema de la Universidad de Harvard administradores, o algún grande Brother en alguna empresa, y que quería evitar que la totalidad de su estudiantes o todos sus empleados de ir a facebook.com, todo lo que tienes que hacer es asegurarse de que todos los de su tráfico de la red, en primer lugar, pasa a través de un dispositivo especial. Digamos que es un servidor de seguridad. Y eso está bien, porque usted puede hacer su enrutador lo mismo que un servidor de seguridad si pones el mismo tipo de software en la misma máquina. Así que si todos sus estudiantes o empleados tráfico está pasando a través de este firewall central, cómo podríamos bloquear la gente de ir a facebook.com, por ejemplo? ¿Cómo sería el sistema administrador tiene que hacer? ¿Alguien mas? Vamos a tratar de dar la vuelta. AUDIENCIA: [inaudible] DAVID J. MALAN: Diga eso otra vez? AUDIENCIA: Debe acaba de obtener atrapados en el interior del sistema. Así que sólo hay que poner en Facebook 127.0.0-- DAVID J. MALAN: Oh, interesante. Así que en realidad se puede entonces hackear su sistema DNS. Este es de hecho una forma de poder hacer esto por el que cada vez que un estudiante de Yale tira hasta www.facebook.com, todo los que estamos aquí hoy en el campus están utilizando el servidor DNS de Yale, porque el servidor DHCP de Yale nos dio esa dirección. Así que sí, usted podría tipo de romper cosas o convención descanso por sólo decir, sí, dirección del facebook.com es falso, es 1.2.3.4, que es en realidad no legítimo. O tal vez es 278. lo que estaba en el programa de televisión de una Hace momento para que ninguno de nosotros en realidad puede visitar facebook.com. Así que supongamos Yale hizo eso. Supongamos Yale quería mantener a salir de facebook.com. Y por lo tanto, cambiado la configuración de DNS para darle una IP falsa abordar para facebook.com. ¿Cómo responde usted? Técnicamente, no-- oh, ahora todo el mundo quiere participar. OK, sí. AUDIENCIA: Basta con escribir en el dirección IP real de Facebook. DAVID J. MALAN: OK, bueno. Así que podríamos sólo tienes que escribir en el dirección IP real de Facebook, al igual que lo hice con el sitio web de la Universidad de Yale. Y si el servidor de Facebook se configura para apoyar eso, debe de hecho trabajar. Es un dolor menor en el cuello, porque ahora hay que recordar algunos al azar Valor de 32 bits, pero que podría trabajar. ¿Qué más se puede hacer? Sí. AUDIENCIA: Usted podría cambiar los ajustes [inaudible]. DAVID J. MALAN: Sí, usted podría incluso cambiar la configuración de DNS. Así que, de hecho, esto es en realidad bastante útil, francamente, si estás en un aeropuerto, o si estás en un café, o algo que tiene internet escamosa por el cual a veces el servidor DNS simplemente deja de funcionar. Así que hasta yo lo hago de vez en cuando esto, no para malicioso, me querer usar Facebook propósitos, pero en realidad porque me parece que tienen una red conexión, pero nada funciona. Y así uno de los primeros cosas que try-- y usted puede hacer esto en Windows también-- pero en mi Mac, si voy a la red. Y elijo mi conexión Wi-Fi gratuita. Y voy a Avanzado. Y voy a DNS. Estos son los tres Direcciones IP que Yale es darme por tres servidores DNS. El objetivo es, pues, para mí tratar cualquier uno de estos para resolver direcciones. Pero puedo anular estas haciendo un plus. Y alguien quiere proponer un servidor DNS? AUDIENCIA: 8.8.8.8? DAVID J. MALAN: Oh, eres increíble. Sí, 8.8.8.8. Así que Google, bendiga sus corazones, comprado la dirección IP 8.8.8.8, ya que poco parece Gs Probablemente, y es fácil de recordar. Pero de hecho, ahora he configurado mi equipo para utilizar el servidor DNS de Google. Así que ahora si voy a yale.edu, todavía va a funcionar. Pero yo no estoy usando Yale Servidores DNS más. Y si voy a facebook.com, todos los que se ven ups van a ir a través de Google. Así, por un lado, tengo inteligentemente eludido el sistema local administradores simplemente por la comprensión de cómo la creación de redes obras. Pero yo estoy pagando un precio. Nada es gratis. Lo que he acabo entregado? Lo que he acabo entregado? Todos los de ustedes personas inteligentes que tienen estado usando 8.8.8.8, porque es fresco o resuelve problemas, lo tienen has estado haciendo todo este tiempo? AUDIENCIA: Viajar más lejos? DAVID J. MALAN: viajar Tal vez más lejos, porque de Google, probablemente no es tan cerca como el servidor por la calle. Pero más preocupantemente. ¿Sí? AUDIENCIA: Así que ahora Google sabe a dónde va. DAVID J. MALAN: Google sabe, literalmente, cada sitio web que está visitando, porque usted es, literalmente, pidiéndoles que, hey Google, puede traducir yale.edu para mí? O bueno Google, se puede traducir esta otra dirección del sitio web para mí en una dirección IP. Y así they're-- no tengo idea de lo que estás hablando. Y para que sepan todo sobre ti. Entonces se da cuenta de que este es un servicio gratuito con un propósito desde su perspectiva así como. Pero sin duda puede que salir de un aprieto. Ahora sólo tienes que hacer frente a otro cuestión que surge con frecuencia entre los estudiantes, sobre todo en viajes internacionales en algunos países como China, donde hay de hecho Es un Gran Cortafuegos de China por el que el gobierno allí bloques bastante un poco de tráfico en diferentes niveles. Usted no tiene que simplemente bloquear el tráfico a nivel estamos hablando aquí, DNS o de otra manera, puedes bloquearlo en otros niveles. Y, de hecho, sólo para ser claros, un servidor de seguridad puede operar aún más simple que sólo tener los administradores de sistemas cambian Configuración de DNS. Un servidor de seguridad, un dispositivo intermedio nosotros y el resto del mundo, simplemente podría bloquear cualquier saliente solicitudes a la dirección IP para Facebook en el puerto 80, o la dirección IP para harvard.edu, o la dirección IP de cualquier cosa. Así que un firewall puede mirar a su sobres 'direcciones IP y hasta el puerto números, y si Yale quería, que sólo podía dejar de todos nosotros desde incluso mediante FTP más, lo que haría probablemente sería una buena cosa porque es de hecho un protocolo inseguro. Yale incluso podría impedirnos visitar la totalidad de la web simplemente mediante el bloqueo de todos los puertos el tráfico en el número 80 también. Así que podría ser de otra manera. Y hay maneras incluso más elegantes también. Pero cuando estás de viaje en el extranjero, por ejemplo, o si usted está en un café internet, o si estás en cualquier lugar donde hay bloqueos o amenazas, ¿qué puedes hacer? Bueno, si vas por la calle de Starbucks o viajar en un aeropuerto, por lo general usted puede simplemente hop en el Wi-Fi eligiendo como, JFK Wi-Fi de LaGuardia Wi-Fi, o Logan Airport Wi-Fi, o lo que no. Y no es encriptada, ¿verdad? No hay icono de candado. Y es probable que no le pida un nombre de usuario y contraseña. Sólo le solicita con alguna forma estúpida decir como, estoy de acuerdo en usar esto sólo durante 30 minutos, o algo por el estilo. Pero no hay cifrado entre usted y Starbucks Wi-Fi punto, las cosas con las antenas en la pared. No hay cifrado entre usted y señales Wi-Fi del aeropuerto. Y por lo que técnicamente, esa persona espeluznante sentado unos asientos abajo de usted en Starbucks o en el aeropuerto podría ser, con el software adecuado, viendo todos los de su inalámbrico el tráfico en su ordenador portátil. No es tan difícil de poner un portátil en lo que es llamado modo promiscuo, que como su nombre lo indica, significa que eres la clase de suelto con las reglas. Y simplemente escucha no sólo para el tráfico destinado para ello, sino también a todos los demás es el tráfico dentro del alcance. Y por esa lógica, se puede ver todos los paquetes de información que está recibiendo. Y si esos paquetes no cifrado, se está poniendo en riesgo de tus correos electrónicos, o sus mensajes, o cualquier otra cosa quedar expuesto. Así que incluso si no estás en el extranjero pero no eres más que en Starbucks, o estás en una persona al azar de Wi-Fi que no está encriptada, una VPN es una buena cosa. Una VPN es una red privada virtual. Y es una tecnología que le permite tener una, un connection-- revueltos cifrada más elegante que César o Vigenere-- entre su ordenador portátil, o el teléfono, o el escritorio, y un servidor en otro lugar, como un servidor en el campus de la Universidad de Yale. Y si vas a viajar abroad-- y de hecho, se encuentra esta en hoteles todo el tiempo. Y sobre todo como aspirante científicos de la computación donde ustedes podrían, como frikis, desee utilizar puertos distintos de 80, y los puertos que no sean 443-- y de hecho, para el problema planteado seis, vamos a jugar con múltiples Puertos TCP con sólo choice-- mucho de los hoteles y tiendas, y redes simplemente bloquear ese tipo de cosas porque un tanto ingenuamente, o por ignorancia, piensa que nadie necesita esos otros puertos. Y así, mediante el uso de una VPN puede usted eludir ese tipo de restricciones, porque lo que hace es una VPN que le permite a Starbucks, o el aeropuerto, o en cualquier lugar en el mundo para conectar encryptedly a yale.edu, a algún servidor aquí en el campus, y después del túnel, por así decirlo, todo su tráfico de donde sea usted es a través de la Universidad de Yale, y en ese momento que luego se va a su destino final. Pero mediante la encriptación de ella, evitar cualquiera de estos tipos de filtros o la imposición que alguna red local ha impuesto. Y además, tiene una defensa mucho más robusto contra las personas espeluznantes a tu alrededor que podría estar tratando de escuchar en su tráfico. Todavía puede haber gente espeluznante aquí de vuelta a casa en Yale viendo su tráfico como viene fuera de la VPN, pero al menos que ha empujado la amenaza más lejos. Y es también en este caso, una solución de compromiso. Ahora, por supuesto, si usted está en China o incluso en la cafetería, y ya está todo túnel su tráfico a través de Yale, qué precio estamos pagando tal vez? AUDIENCIA: velocidad. DAVID J. MALAN: velocidad, ¿no? Tiene que haber algo de matemáticas o algún fanciness involucrado en el cifrado real. Podría haber miles de millas de distancia o miles de millas de cables entre usted y Yale. Y es realmente malo si estás en China, por ejemplo, y quieres visitar un sitio web en China. Y lo que sus datos se va a los EE.UU., y luego de vuelta a China sólo porque usted está cifrando a través de este túnel. Pero los que resuelve técnico y trabajar problemas por igual. Pero todo se reduce a estas ideas muy simples. Y de Harvard, para los curiosos, tiene uno aquí también, en vpn.harvard.edu, que opera como Yale. Así que con todo esto dicho, ¿por qué es útil toda esta red? ¿Y qué podemos empezar a hacer con él? Bueno, vamos a hacer esto ahora más real. Este es el acrónimo con la que la mayoría de nosotros son probablemente muy familiar-- HTTP-- que significa la transferencia de hipertexto protocolo. Y esto sólo significa que se trata de el lenguaje, el protocolo que los navegadores web y servidor web hablan. El P en HTTP es de hecho un protocolo. Y un protocolo es sólo un conjunto de convenciones. Hemos visto IP-- protocol-- internet Control de la transmisión TCP-- protocol-- y HTTP. Pero lo que es este estúpido cosa de un protocolo? Es sólo un conjunto de convenciones. Así que si en cierto modo me vengo abajo aquí, y quiero saludar a usted. Yo diría hola, mi nombre es David. AUDIENCIA: Luis. DAVID J. MALAN: Luis. Tenemos esta estupidez humana convención de dar la mano aquí. Pero eso es un protocolo, ¿verdad? Extendí mi mano. Luis le tendió la mano. Hicimos esto. Y luego completa, hecho. Y eso es exactamente lo mismo espíritu de un protocolo informático donde como en HTTP, lo que pasa es esto. Si usted es el equipo de la fue de aquí, y hay algo de Web servidor de allí a la derecha. Y el equipo de la izquierda quiere solicitar información a ese servidor. Es una especie de una operación bidireccional. El navegador de la izquierda pide alguna página web. El servidor de la derecha responde con alguna página web. Y veremos qué forma los toman en un momento. Y resulta que esos computers-- que el navegador y el servidor o cliente y el servidor, por así decirlo. Al igual que un restaurante donde el cliente está pidiendo algo, y el servidor está trayendo él o ella algo-- llegar es una especie de la palabra operativa. Literalmente dentro de la envoltura que mi navegador envía desde aquí a una red servidor es la palabra get. Me gusta Quiero recibir noticias de hoy. Quiero conseguir mi Facebook suministro de noticias, o yo que desee obtener alguna página del servidor. En concreto, se trata de lo que es pasando dentro de ese sobre. Así que, con Cole, esencialmente Cole enviado una respuesta. Si usted se imagina que Cole realidad quería una foto de Rick Astley, él podría haberme enviado una solicitud similares en espíritu a esto. Dentro de su sobre para mí, donde Ahora estoy haciendo el papel de Google, sería una petición que, literalmente, dice, conseguir, y luego una slash-- hacia adelante y lo que has visto barras diagonales en las URL antes. Sólo significa dame el valor por defecto página, el valor por defecto Rick Astley imagen en este caso. Y, por cierto, Cole habla el idioma HTTP versión 1.1, o el protocolo 1.1. Y resulta que hay una versión anterior 1.0. Pero las computadoras tienden a utilizar 1.1. La segunda línea es una cosa útil que volverá a quizá en poco tiempo. Pero es sólo una especificación para mí, el destinatario, que la cosa que quiero es www.google.com. Debido a que es muy posible en estos días para docenas, cientos de sitios web con diferentes nombres de dominio a todos vivir en el mismo servidor. No va a ser verdad tanto en el caso de Google. Pero en una empresa más pequeña de caso, podría ser absolutamente. Así que Cole es sólo un poco poniendo en el sobre, por cierto, cuando este alcanza su dirección IP en el puerto 80, sólo asegúrese de que usted sabe Quiero www.google.com, no algún otro sitio web al azar en el mismo servidor. Lo que entonces respondo a Cole con, al final del día, es un cuadro. Pero lo alto de esa foto en el interior de la envoltura En realidad, es un poco de texto, donde digo, OK. Hablo HTTP versión 1.1 también. 200. ¿Qué es un código de estado que la mayoría de nosotros probablemente nunca había visto, porque significa OK. Y esto es bueno, porque significa que estoy respondiendo con éxito a la solicitud de Cole. ¿Qué números que tienen, probablemente, visto en la web que no están de acuerdo? AUDIENCIA: 404. DAVID J. MALAN: 404-- archivo no encontrado. Así que de hecho, cada vez que he visto uno de los archivos no molesta errores encontrados, porque La página web está muerto, o porque escribiste mal una URL, que sólo significa que el pequeño sobre que su computadora recibido del servidor contenía un mensaje HTTP 1.1, 404-- no encontrado. Ese archivo o esa petición usted hizo no se encuentra. Por otra parte, en el interior de la envoltura normalmente es esta línea, tipo de contenido. A veces es HTML, algo pronto veremos. A veces es un JPEG. A veces es un GIF. A veces es un archivo de película, un archivo de audio, cualquier número de cosas. Así que en el interior del sobre es sólo una poca idea de lo que estoy recibiendo. Hay otros códigos de estado también, algunos de los cuales vamos a explorar en P establece seis, y te tropiezas con en P puesto siete y / u ocho. Pero algunos de los presentes, al igual que 404 que hemos visto. Prohibida, 403, significa como los permisos son incorrectos, como que no tiene clase de configurado correctamente. 301 y 302, que rara vez se ven visualmente. Pero que significan redirigir. Cada vez que te has ido a uno URL y usted ha sido mágicamente enviado a otro lugar, eso es debido a que el navegador ha enviado de vuelta un sobre con el número 301 o 302, y la URL que quiere su navegador para ir a su lugar. 500 es horrible. Verás que en poco tiempo, probablemente en P puesto seis o P establece siete. Y significa generalmente hay algún error en su código, porque de hecho vamos a estar escribiendo código que responde a las peticiones web. Y usted acaba de conseguir un poco de error en la lógica o la sintaxis, y el servidor no puede manejarlo. Así que vamos a ver cómo podemos aprovechar y entender estas solicitudes de la siguiente manera. Si voy a, digamos, google.com. Déjame ir a www.google.com. Y por el amor de la demostración, vamos a veo, tengo que ir a Ajustes aquí. Voy a ir a Configuración de búsqueda. Y Google tiene cada vez más molesto características, pero características útiles. Así que Google tiene esta cosa como instantánea resultados donde se empieza a escribir, y automáticamente las cosas empiezan a aparecer. Y eso es todo muy bien y técnicamente útil, y nos entenderemos en poco tiempo cómo funciona esto. Pero por ahora, me estoy convirtiendo de resultados inmediatos, porque quiero que mi navegador tipo de trabajo de la vieja escuela de manera que yo pueda ver lo que está pasando. Así que ahora estoy de vuelta aquí. Y quiero buscar gatos. Y noto que estoy viendo algunas sugerencias, algunas sugerencias muy benignas afortunadamente. Y ahora si me golpeó Enter, Veamos qué pasa. Así que hay algunos gatos. Y el éxito de arriba es en la Wikipedia. Pero hoy nos importa la tecnología aquí. Así que la URL a la que he ha enviado es esto aquí. Y hay algunas cosas que realmente no entender. Así que voy a seguir adelante, porque Yo como que sé cómo funciona Google, y yo voy a destilar este URL en su forma más simple. Y ahora voy a pulse Enter de nuevo. Y todavía funciona. Tengo una página de resultados de todo sobre los gatos. Pero note la simplicidad de mi URL. Resulta que esta es la forma gran parte de las obras web. La web es sólo un conjunto manojo de ordenadores que ejecuta el software que tienen entrada. No es llegar de entrada estilo cadena. No es la línea de comandos argumentos como que estamos acostumbrados. Toman de entrada, estos servidores web, por medio de los URLs bastante a menudo. Y cada vez que tienes buscado por algo, cualquier momento que haya iniciado sesión en Facebook, en cualquier momento que tienes hecho nada interactivo con una página web, lo que estás haciendo es la presentación de una forma efectiva, por lo que a speak-- cuadros de texto, casillas de verificación, pequeños círculos, y otras cosas que envían información de usted al servidor. Y resulta que la web servidor sabe mirar a esa URL y analizarlo, como mirada al personaje que por el personaje en busca de cualquier cosa interesante después de un signo de interrogación. Porque después de un signo de interrogación, Resulta que va a venir un montón de pares de valores clave. Me refiero clave = valor. Y luego si hay multiple-- quizá un signo, alguna otra clave = valor, signo, clave = valor. Para ello hemos especie de visto esta idea antes de que algo tiene un valor. Es sólo un nuevo formato aquí. Y yo sólo sé, por convención, Google usa q para consulta. Y luego si quiero buscar perros, me pueden buscar manualmente perros así. Y luego estoy parecer conseguir algunos resultados de búsqueda con perros. Así que parece ser interesante. Y de hecho, lo que está pasando debajo del capó es esto. Déjame hacer esto. Esta es A-- vamos a ver. Permítanme volver sobre aquí sólo por un momento. Vamos a ver que hay otra formas de presentar la información. Así que si me estoy iniciando sesión en Facebook, o Gmail o cualquier otro sitio web popular, parece un poco mal si lo que he escrito en el cuadro de búsqueda termina en mi URL, en la barra de direcciones de mi navegador. ¿Por qué? ¿Por qué es que medianamente preocupante? ¿Sí? AUDIENCIA: Escriba una contraseña. DAVID J. MALAN: Sí. ¿Y qué si lo tengo tecleado es mi contraseña? Yo como que no lo quiero así que obviamente visible en la barra de direcciones de mi navegador. Uno, porque mi compañero de piso molesto tiende a mirar por encima del hombro, y él o ella puede ver ahora, a pesar de que era balas cuando estoy escribiendo en, pequeños círculos. Ahora está en mi barra de direcciones. Por otra parte, lo que es verdad sobre cosas que tienden a escribir en la barra de direcciones. AUDIENCIA: [inaudible] DAVID J. MALAN: ¿Qué es eso? AUDIENCIA: Se pone enviado. DAVID J. MALAN: Se pone enviado. Y también, se recordó. Debido a que la próxima vez escribe cosas allá arriba, a menudo se completa automáticamente y se recuerda lo que has escrito antes. Y así hay esta historia verdadera que su hermano o su compañero de cuarto, o quien puede caminar a través de más o menos ver todos los sitios web que ha visitado porque es conectado a esa barra de direcciones. Por otra parte, supongamos que desea subir una foto a Facebook. ¿Cómo en el mundo es usted va a poner una foto en un URL? Pues resulta que usted puede hacerlo en alguna cierto, pero es sin duda no es evidente. Y por lo que hay esta otra forma de el envío de información en un sobre, no a través de un GET, pero a través de algo que se llama POST. Y en teoría, parece prácticamente lo mismo. En lugar de la palabra GET, decimos POST, y luego el mismo tipo de formato. Por ejemplo, esto es una captura de pantalla de lo que puede parecer que si trato de registro en Facebook, que me envía a un archivo login.php llamada, que es en realidad aún hoy en día llamado como tal. Es el mismo Marcos nombre dio hace muchos años. Es el programa que escribió en PHP a través de que los usuarios pueden iniciar sesión en el sitio web. Pero usted necesita enviar alguna entrada adicional. Y en lugar de lo que pasa después de la el nombre de archivo como lo hizo antes con cats-- q = cats-- puede bajar más en la solicitud, en el interior más profundo del sobre si va donde nadie puede verlo, y donde no termine en la barra de navegador del usuario, y por lo tanto No recuerdo que la gente snoop alrededor. Y aquí mi dirección de correo electrónico y la mi contraseña falsa realidad ir. Y si Facebook está usando no HTTP, HTTPS, pero, todo esto se encripta, revueltos, ala César o Vigenére, pero más fancily para que nadie en realidad puede ver esta solicitud. Y así, de hecho, cada vez que tenga una dirección URL que comience con HTTPS, sólo significa que está encriptado. Pero al final del día, lo que es en realidad dentro de estos sobres? Esto fue muy bajo nivel. Y, afortunadamente, no estamos va a tener necesariamente ir tan bajo nivel cada vez que comenzar a escribir software interesante. Podemos empezar a tomar las ideas de la primera semana a través de cinco, asumir que hay ahora es que esta infraestructura nos permite escribir software que opera en la web, y que va a permitirnos esta próxima semana para comenzar mirando algo llamado HTML. Esta es la materia que es aún más profundo dentro de la envolvente, pero es las cosas que estamos va a empezar a escribir. Y es la materia más curiosamente, estamos va a escribir programas que comienza la generación automática para que nuestros sitios web no están codificados, pero tenga entrada y producir una salida. Esta es quizás la web más sencilla página puede hacer en el mundo. De hecho puedo abrir algo estúpido como TextEdit en mi Mac, que sólo me da una ventana de texto simple como esto. Los usuarios de PC tienen Notepad.ext, que es muy similar en espíritu. Y puedo escribir, literalmente, cabo esto-- HTML DOCTYPE, el que se ve un poco críptico. Pero vamos a volver a eso. HTML, con estas raras soportes y barras inclinadas, dentro de los cuales ahora te voy a decir aquí viene el jefe de mi página web. Dentro de eso, sólo sabes, y pronto sabrás, que puedo poner el título de mi página web. Y a continuación, por debajo de la la cabeza de la página web es va a ir a la llamada cuerpo de la página web. Y sólo estoy sangría justo como en C al tipo de mantener cosas muy bien legible estilísticamente. Y ahora voy a guardar esto como un presentar en mi escritorio, llamado hello.html. Y yo voy a decir que sí, usar HTML. No lo cambie a .txt, incluso aunque todo esto es un archivo de texto, al igual que un programa de C escrito con un editor de texto. Aunque no en CS50 IDE en el momento, justo aquí en mi Mac. Y si ahora me voy a mi escritorio, verás hello.html. Si hago doble clic en este, se abrirá Chrome. Y a pesar de que este archivo que pasa a vivir en mi escritorio, que es tal vez el más simple página web que podría hacer. Tenga en cuenta que el título de la pestaña camino hasta la parte superior es hola mundo. El cuerpo de la página web es de hecho hola mundo. Y todo lo que he hecho para llegar a este punto es poner en práctica, o es escribir un nuevo lenguaje llamado HTML. No es una programación lenguaje como C. Hay no va a haber condiciones, y bucles y funciones. Es un lenguaje de marcas, en el que Si acaba de decir el receptor programa de lo que quieres hacer. Esto significa bueno navegador, aquí viene una página HTML. Hey navegador, aquí viene la cabeza de mi página. Hey navegador, aquí viene el cuerpo de mi página. Hey navegador, eso es todo por el cuerpo. Eso es todo por la página HTML. Y con esas definiciones simples solo, pronto veremos que uno, podemos representar esto como un árbol. Pero lo veremos más adelante. Así que esto lo hará todo interconexión a nuestras estructuras de datos más recientes. Dos, vamos a introducir esta estúpida broma. Este es un tatuaje real que este chico tenía en el cuello. Probablemente es divertido la primera semana o dos, y después de eso, tal vez no tanto. Pero HTML, e incluso la web página que acabo de hacer, super mente numbingly disappointing-- sólo decir hola mundo en texto negro sobre un fondo blanco. Sin duda, podemos hacer mucho mejor. Y lo haremos mediante la introducción otro lenguaje llamado CSS. Esto tampoco un language-- programación no hay bucles y condiciones, o para los bucles, pero en realidad, sólo la sintaxis por el cual podemos decir, hacen de este texto grande. Haga este pequeño texto. Derecho alinearlo. Izquierda alinearlo. Que sea de color rosa. Que sea de color púrpura. Que sea azul. ¿O cualquier número de otros efectos visuales. Y así que veremos cómo iniciar estilización páginas web para que se vean de una manera más cerca de lo que queremos. Y por último, hemos hecho ruinas tal vez mucho de la televisión y el cine para usted. Pensé que terminaríamos aquí con nuestros últimos segundos en un clip final que muestra cómo la piratería de las obras en Internet. Si pudiéramos atenuar la luces por última vez. [REPRODUCCIÓN DE VÍDEO] -De ninguna manera. Me estoy hackeado. -Okorsky? -No-- No, esto es importante. Ellos ya han quemado a través el servidor de seguridad pública NCIS. -Bueno, Aislar el nodo y volcado ellos al otro lado del router. -Lo estoy intentando. Se está moviendo demasiado rápido. -OH, Esto no es bueno. Están usando nuestra conexión [Inaudible] esta base de datos. Sever ella. -No Puedo. Es un ataque punto. Él o ella es única pasando después de mi máquina. -No es posible. Hay cifrado mina de nivel del Departamento de Defensa. Se necesitarían meses para get-- -Oye, ¿Qué es eso? ¿Un videojuego? -No, Tony, que estamos recibiendo hackeado. -Si Se ponen en la computadora de Abby, toda la red de NCIS está al lado. -Yo No lo puede parar. Haga algo McGee. -He Nunca visto código como este. -Oh. -¿Dónde Es todo ir? Abby? -Yo No hice nada. Pense que lo habías hecho. -No. -Yo si. [FIN DE REPRODUCCIÓN] DAVID J. MALAN: La mejor parte es dos personas al escribir en el teclado al mismo tiempo. Así que eso es todo por CS50. Nos quedaremos durante horas de oficina. Y nos vemos la próxima vez. [REPRODUCCIÓN DE MÚSICA - "TEMA Seinfeld"] Esto es CS50. No quiero ser un pirata. ALTAVOZ 2: Yarr David. Es un buen doblete que estar usando. Lote de orzar en ese soplo.