DOUG LLOYD: Si vous avez été regarder ces vidéos dans l'ordre que nous recommandons, nous sommes sur le point de subir une peu d'un changement de culture. Parce que maintenant, nous allons commencer parler de l'Internet et le Web les technologies. Donc, jusqu'à présent, nous avons vraiment fait beaucoup de C. Et quand nous avons été la gestion de nos programmes, nous avons pu les utiliser à partir de la ligne de commande. Voilà à peu près comment les utilisateurs ont été en interaction avec les programmes que nous écrivons. Ils ramassent quelque chose pour inciter, quelque chose qui se passe dans la fenêtre du terminal, et puis il est fait. Parfois, vous pourriez avoir persistante données qui reste après. Mais cela est à peu près tout. Il est sur la ligne de commande. Il est la seule façon l'utilisateur peut interagir. De ce point en avant, nous allons commencer transition de sorte que les utilisateurs peut interagir avec nos sites Web. Donc, nous allons à l'écriture sites, qui ne sont pas écrits en C, mais sont écrites dans une variété d'autres les langages de programmation, y compris PHP, et il est une sorte de langues auxiliaires, HTML, CSS, et autres. Donc, nous allons commencer parler de ces choses. Avant d'entrer dans web programmation elle-même, Je pense qu'il est probablement une bonne idée de prendre un peu de recul et de parler sur la façon dont les ordinateurs et les humains interagissent sur le web. Donc, cette vidéo est vraiment une amorce, un guide de base, à l'Internet. Maintenant, la mise en garde ici est le CS50 est pas une classe de réseautage. Donc, ce que nous allons parler à propos ici est assez haut niveau. On ne va pas à entrer dans tout bas niveau les détails de la façon dont tout cela fonctionne. trucs Si vous êtes intéressé en ce que, je serais fortement recommande de prendre une classe sur les réseaux informatiques. Et nous pourrions même dire mensonge ou deux juste aux fins de la fabrication compréhension générale claire. Donc, avec cela dit, parlons- la façon dont nous interagissons avec l'Internet. Donc nous sommes ici. Ici nous est. Nous sommes assez impatients de obtenir sur l'Internet, qui comme nous le savons tous, est plein à craquer de chats. Maintenant relions-nous juste Internet comme ça? Eh bien, probablement pas. Intuitivement, vous savez que, disons par exemple, lorsque vous modifiez votre réseau Wi-Fi réseau sur votre ordinateur, vous ne voyez pas un appelé Internet sauf si cela se produit tellement être le nom de votre réseau local Wi-Fi. Droit? Il est habituellement quelque chose comme à la maison. Ou si vous êtes au travail, il pourrait être le nom de votre entreprise. Il n'y a pas un seul option appelée Internet. Et si quelque chose ou quelqu'un les choses existent dans entre le moment où nous voulons pour se connecter à Internet. Quelles sont certaines de ces choses? Eh bien, nous allons en parler. Nous allons aussi parler quelques-unes des choses importantes nous avons besoin afin de pouvoir se connecter à l'Internet. Le premier de ceux-ci Things est une adresse IP. Donc, vous avez probablement entendu l'adresse IP de terme avant. Qu'est-ce que ça veut dire? Eh bien, une adresse IP est fondamentalement un identifiant unique de votre ordinateur sur un réseau. Tout comme chaque maison ou bureau a une adresse unique à laquelle on pourrait envoyer un mail. De même, chaque ordinateur si elle veut recevoir des données ou envoyer des données, doit avoir une adresse unique. De sorte que lorsque l'information est envoyé ou reçu, il est envoyé ou reçu à l'emplacement correct. Ce schéma d'adressage, comme je l'ai dit, est appelé adressage IP. IP est abréviation d'Internet Protocol, dont nous parlerons à nouveau prochainement. Maintenant, qu'est-ce que l'adressage IP ressemble? Eh bien, le système était fondamentalement, quand il a été mis en œuvre, de donner à chaque ordinateur une adresse unique de 32 bits. Cela fait beaucoup de bits. Cela fait 4 milliards d'adresses. Et généralement, au lieu d'utiliser notation hexadécimale, qui nous avons utilisé précédemment dans le cadre de pointeurs en C pour parler adresses, nous représentons habituellement IP adresses en un peu plus d'un match amical humaine Ainsi, les représentant que quatre groupes de 8 bits représentée comme nombres décimaux. Parce que les humains ne parlent pas souvent hexadécimal, sauf si vous êtes de programmation. Mais les gens qui utilisent l'Internet ne sont pas nécessairement les programmeurs. Et ce qui rend facile et accessible pour eux pour être en mesure de parler de ce qui leur Adresse IP est au cas où ils peut-être besoin d'appeler quelqu'un pour résoudre quelque chose, il est préférable de le faire dans le plus nombre décimal conventionnelle commune le format. Et si une adresse IP semble juste à peu près comme ça, w.x.y.z, où chacun de ces lettres représente une valeur non-négative dans la plage de 0 à 255. Rappelons que d'un nombre de 8 bits peut contenir 256 valeurs distinctes. Et voilà pourquoi notre gamme est de 0 à 255. Et nous avons quatre groupes de 8 bits pour un grand total de 32 bits. Et si une adresse IP peut ressembler à ceci. Cette est une sorte de générique l'adresse IP par défaut, 123.45.67.89. Elles sont toutes dans la plage de 0 à 255, de sorte que est une adresse IP valide. Ici, à l'Université de Harvard, tous nos adresses IP commencent avec 140,247. Cela est juste la façon que l'adresse IP adresses dans cette zone géographique ont été assignés. Et donc cela pourrait être une adresse IP qui pourrait exister ici à Harvard. Donc, comme je l'ai dit, si chaque adresse IP est de 32 bits, nous avons environ 4 milliards à donner, un peu plus de 4 milliards. Mais nous ne pouvons sorte de voir un problème, non? Quelle est la population du monde en ce moment? Eh bien, il est quelque part au nord de 7 milliards de personnes. Et dans le monde occidental Du moins, la plupart des gens avoir plus d'un dispositif capable de connectivité Internet. Je ai un ici. Et je dois l'autre dans ma poche. Et je dois un retour dans mon bureau. Et si ça fait trois. Et cela ne compte même pas le ceux que je dois à la maison, aussi. Et donc que ce genre de problème, non? Nous avons au moins 7 milliards de personnes et à seulement 4 milliards d'adresses. Et chaque appareil est censé être identifié de façon unique. Nous avons développé quelques contournements pour faire face à ce problème, quelque chose appelé un privé L'adresse IP, que nous ne sommes pas vais pas entrer dans cette vidéo. Mais fondamentalement, il permet en outre de la Web, Internet, de sorte de faux un peu ce que vous avez un unique, Adresse en ayant des adresses privées et puis les canaliser à travers une adresse unique, qui est partagée par de nombreux ordinateurs différents. Mais cela est vraiment pas une solution à long terme. Même que fixe est pas va durer éternellement. Et donc nous avons besoin d'avoir une différente façon de traiter cette question. Donc, comme je l'ai dit, nous avons eu environ 4 milliards de dollars. Mais cela ne va pas à être assez bon, non? Et la façon dont il a été décidé il nous sommes va traiter ce problème est de faire des adresses IP plus longues. Au lieu d'adresses 32 bits, nous sommes va avoir des adresses de 128 bits. Donc au lieu de 4 milliards adresses, nous allons d'avoir ce grand nombre d'adresses, qui est de 340 milliards de milliards milliards, de sorte que beaucoup d'adresses IP. Et ce nouveau régime est appelé IPv6 est souvent la façon dont il est appelé. L'ancien régime étant IPv4. Il est un peu un problème dans que ce problème a consisté connu depuis très longtemps. Et vous verrez ce lot dans le contexte des ordinateurs et de l'informatique. Nous sommes bons à anticiper les problèmes. Mais nous sommes mal à traiter avec eux même si nous savons à leur sujet. Donc IPv6 a été autour pendant un certain temps. Et seulement dans les deux dernières années ont effectivement nous commencé élimination dans ces adresses IPv6 d'éliminer progressivement les adresses IPv4. Mais certains endroits les ont. Et ils se ressemblent vers une adresse IP normale. Mais ils sont beaucoup plus longtemps. Ainsi, au lieu d'avoir maintenant quatre des grappes de 8 octets pour votre adresse, nous avons maintenant huit grappes de 16 octets. Et 8 fois 16 est de 128. Et nous représenter dans moins forme conventionnelle hexadécimale. Parce que ayant des nombres 16 bits signifie que au lieu d'être une plage de 0 à 255, Nous aurions une plage de 0 à 65 535. Et afin d'avoir un tas de ceux qui sont coincés ensemble il serait très difficile à lire. Et si nous utilisons habituellement hex vient de sortir de commodité. Et si une adresse IPv6 typique pourrait ressembler à ceci. Il est certainement beaucoup plus longtemps que l'adresse IPv4 nous avons vu auparavant. Mais ce serait une adresse IPv6 valide. Celui-ci est aussi sur adresse IPv6. Celui-ci arrive d'appartenir à Google. Et il ya un avis tas de zéros là. Parfois, ces adresses peut obtenir si longtemps. Et puisque nous sommes toujours assez tôt en IPv6, parfois il peut y avoir de gros morceaux de zéros là que nous ne ont pas besoin. Si vous lisez ceci à haute voix, il est 2001.4860.4860.0.0.0.0.8844. Il est une sorte de beaucoup, non? Donc, si vous voyez un tas de zéros, vous pourriez parfois voir une adresse IPv6 comme ça, où ils omettent les zéros et d'utiliser un double deux-points à la place. Ceci est OK, si. Parce que nous savons qu'il ya des censé être huit morceaux distincts. Et par voie de conséquence, nous voyons quatre. Nous savons donc qu'il doit y avoir quatre ensembles de zéros comme cela, que de le remplir. Alors parfois, vous pourriez voir une adresse IPv6 ne pas avoir huit morceaux séparés comme nous le faisons ici. Vous pourriez le voir ressembler à ceci. Et cela signifie juste que tout ce que vous ne voyez pas dans entre l'endroit où cette double colon est tout juste séparés zéro. Donc d'accord. Nous en savons un peu plus à propos des adresses IP maintenant. Mais comment pouvons-nous obtenir? Nous ne pouvons pas simplement choisir celui que nous voulons. Si nous faisions cela, nous pourrions nous retrouver combats quelqu'un pour la même adresse IP. Ou quelqu'un pourrait avoir choisie précédemment. Si nous essayons de le prendre, nous allons à courir dans un peu d'un problème. Et si nous ne pouvons pas simplement choisir l'adresse IP que nous voulons. Donc, la façon dont nous obtenons une Adresse IP est quelque part entre notre ordinateur et le Internet, ce grand Internet là-bas, il ya quelque chose appelé un serveur DHCP, un Dynamic Host Configuration Protocol serveur. Il est une grande bouchée de texte. Mais vraiment tout ce qu'il fait est-il vous attribue une adresse IP. Votre serveur DHCP a une liste de adresses qu'il peut valablement affecter. Et il vous donne un. Voilà à peu près tout ce qu'il ya à faire. Maintenant, avant de DHCP, cette tâche de l'attribution des adresses est tombé à un administrateur système. Donc une personne réelle aurait pour attribuer manuellement votre ordinateur et l'adresse lorsque vous connecté à un réseau. Donc DHCP juste une sorte de automatise ce processus de vous donner une adresse IP. Mais voilà comment vous l'obtenez. Il est juste un programme en cours d'exécution quelque part entre vous et l'Internet qui dispose d'une banque de Adresses IP qu'il peut donner. Et quand vous vous connectez au réseau, il vous donne un. Donc, revenons sur ce diagramme. Quelque part entre vous et le Internet, il ya un serveur DHCP. D'ACCORD. Donc, ce qui est bon. Maintenant, nous allons parler de DNS. Donc, nous avons parlé bien ces adresses IP. Et nous savons que si nous sommes aller à identifier de manière unique un dispositif sur l'Internet, il doit avoir une adresse unique. Et nous pourrions visiter attaquer si nous voulions. Mais vous avez probablement jamais tapé dans quelque chose comme 192.168.1.0 dans votre navigateur, non? Vous ne saisissez pas en nombre dans votre navigateur. Vous tapez habituellement dans les noms lisibles par l'homme comme google.com ou cs50.harvard.edu, droit? Ce ne sont pas des adresses IP, si. Donc, il existe ce service appelé le nom de domaine Système, DNS, qui traduit IP adresses à mots compréhensibles humains ou des phrases qui sont beaucoup plus mémorable que de se rappeler une série de quatre nombres ou, bientôt, un ensemble de huit nombres hexadécimaux. Ce serait vraiment difficile, non? Pensez avant la jours de téléphones cellulaires. Vous avez eu votre Mémorisez votre les numéros de téléphone de votre ami. Il pourrait avoir obtenu dure après un petit moment. Et de même, si vous voulez de visiter un tas de sites Web, vous ne voulez probablement pas rappeler un tas de chiffres. Vous préférez vous souvenez un tas de mots. Donc, cette cartographie, cette traduction, de ensembles de nombres à des noms lisibles par l'homme sorte de DNS rend la pages jaunes du Web. Et vous pouvez penser comme si elle est juste une liste énorme allant de 0.0.0.0 tous le chemin vers 255.255.255.255, qui serait le plus haut possible-- qui est la gamme de 0 pour 255s de tous 4 adresses IPv4 milliards de-ish. Je pris ceux sur le haut et le bas. Mais l'un dans le milieu, il y est en fait une adresse IP. Donc, si nous avons visité 74.125.202.138, apparemment cela se traduit à ce site là, io-- ce que le diable est-ce? Eh bien, pas tout nom qui est maps fait clairement ce qu'elle est, non? Alors parfois quelqu'un qui possède une adresse IP pourrait nommer leur quelque chose d'accueil qu'ils sont en fait pas. Par exemple, cette adresse IP si vous Nous y sommes allés, est en fait juste google.com. Mais Google a beaucoup de différents serveurs. Et ils ne peuvent pas les appeler tous google.com. Donc, ils ont leur propre système interne pour traduire google.com à tout ce serveur fait est relié à cette adresse IP. Et puis il ya une autre système qui existe entre de traduire ce charabia ici pour google.com. Mais nous ne pourrons pas entrer dans cela. Et de même pour IPv6s, nous allons aussi d'avoir des Pages Jaunes ce sera beaucoup plus grand. Et de même, dans le Moyen there-- il était difficile de trouver un IPv6 adresse qui était légitime. Mais je trouvai un pour Google. Mais il est irlandaise site de Google. Mais si vous êtes allé à cette adresse IPv6, Si votre navigateur est capable IPv6, cela vous amènera à Page d'accueil irlandaise de Google. Donc là vous allez. Mais ceci est pas entièrement vrai, non? Ce système semble compliqué, non? Si il ya une énorme liste de 4 milliard de choses aient à lever les yeux, qui est assez grand. Il n'y a pas les pages jaunes du monde, non? Si vous obtenez toujours le jaune pages livrés à vous-- I got mine, l'autre jour, et je viens recycle il. Mais si vous faites obtenir le jaune pages livrés à vous, vous ne recevez pas un livre qui est tout numéro de téléphone qui existe sur la planète, droit? Vous obtenez une liste des numéros de téléphone locaux, Ceux que vous êtes le plus susceptible d'appeler. Et qui est en fait ce qu'est un DNS. Si vous pensez cela, DNS est vraiment les pages jaunes locales. Et les serveurs DNS grandes comme google.coms, ils sont en fait un peu plus comme les bibliothèques qui avoir une copie de tous les jaune locale pages ou tous les enregistrements DNS locaux. Donc, il n'y a vraiment pas d'un référentiel de la pleine DNS de l'Internet, tout comme il n'y a personne pages jaunes du monde. Il ya tous ces petits locale DNSs échelle qui existent là-bas. Et il ya des services qui agréger ensemble. Mais ils dépendent de celles systèmes DNS plus petits mise à jour de leurs informations, de sorte que ils ont l'information la plus précise. Encore une fois, cette analogie est grande agrégation Les systèmes DNS sont comme les bibliothèques qui ont une copie de toutes les pages jaunes du monde. Ils ne le font pas eux-mêmes mettre à jour ces livres. Ils dépendent des livres qui viennent, afin qu'ils puissent mettre à jour les informations si ils en ont besoin. Ainsi, le système DNS est pas un bloc géant. Il est décentralisée entre beaucoup, beaucoup de serveurs. Alors maintenant, nous savons que quelque part entre nous et l'Internet il existe un serveur DNS ainsi que d'un serveur DHCP. Maintenant, les points d'accès, ce que nos points d'accès? Eh bien, les points d'accès vous sont probablement assez familier avec de fait la connexion à l'Internet. Voilà le réseau que vous choisissez, la maison ou de votre réseau de travail ou ce que vous avez. Et je généralise la concept d'un point d'accès ici aux fins de cette vidéo. Mais il ya effectivement beaucoup de choses que peut être enroulé dans des points d'accès. Il ya des concepts de routeurs, qui est une sorte de terme général que nous utilisons. Mais il ya aussi passe et les choses effectivement appelés des points d'accès qui sont séparées de ce concept général d'un accès point. Mais fondamentalement, ce arrive est avec IPv4, je nous avons dit ce concept des adresses privées, non? Et au lieu de chaque machine ayant une adresse IP unique, qui nous avons épuisé, parce nous sommes plus de 4 milliards d'appareils essayez de vous connecter Internet, ce que nous faisons est plutôt attribuer une Adresse IP à un routeur. Ce routeur ou point d'accès seulement dans votre maison, par exemple. Et le travail du routeur à sorte d'agir comme un agent de la circulation, permettant à chacun qui est connecté à ce routeur d'utiliser la même adresse IP adresser à sortir. Cela a-t-il du sens? Donc tout le monde à votre domicile possède une adresse IP privée. Ils ne peuvent pas se connecter à la Internet, ou Internet plutôt ne peut pas parler d'eux, à travers cette adresse privée. Ils ne peuvent leur parler par l'adresse dans le routeur. Et il est le routeur de emploi pour prendre l'information que vous envoyez le routeur et la diriger vers le bon endroit et pour l'information qui est à venir dans le routeur pour le routeur de l'envoyer à vous. Ainsi, les routeurs sont vraiment la dispositifs ici-- notamment un routeur dans votre maison, l'espèce la plus commune des cas d'utilisation pour la plupart des personnes-- qui a l'adresse IP publique. Voilà le dispositif qui est connecté à Internet. Et vous vous connectez au routeur d'avoir le flux d'informations à travers elle sur votre nom. Comme je le disais, un réseau domestique moderne, le routeur et commutateur et un point d'accès sont toutes sortes de empaqueté en un seul appareil. Parfois, un modem est livré là-dedans aussi. Cela est généralement juste appelé un routeur. Mais il est vraiment tout de ces choses ensemble. Les grands réseaux d'entreprise à grande échelle ou soi-disant Wide Area Networks, WANS, effectivement garder ces appareils séparent. Ils ont un interrupteur. Ils ont des routeurs. Ils ont des points d'accès multiples. Par exemple, à un université, vous verrez des choses qui ressemblent à des soi-disant routeurs monté sont partout sur le campus. Ce sont tous les points d'accès qui en découlent dans les routeurs, commutateurs, etc., pour transmettre l'information. Parce que ces réseaux sont si grand qu'un point d'accès unique ne peut pas couvrir sa grande région. Et donc ces grands réseaux, réseaux d'entreprises, et cetera, diviser celles-ci en séparée dispositifs, de sorte que le réseau et l'échelle et développer si nécessaire. Encore une fois, quelque part entre nous et Internet, nous avons un point d'accès. Et qui est ce que nous nous connectons à. Et par là, nous peut arriver à l'Internet. Comme je l'ai dit au au début de cette vidéo, ce ne est pas un cours sur la mise en réseau. Donc, ce ne sont pas toute l'histoire. Et je l'ai sorte de glissé sur elle. Et peut-être je vous ai quitté même un peu confus quant à ce que certaines de ces choses sont. Mais cela est OK. Nous ne devons pas toute l'histoire. Il est assez pour nous de savoir en mouvement avant juste fondamentalement un peu sur la façon dont l'Internet fonctionne. Donc, ce que nous savons est que nous avons ces réseaux privés à la maison. Et nous nous connectons à un routeur. Et ce routeur est connecté à l'Internet au sens large. Mais ce qui est l'Internet au sens large? Je ne cesse de dire cela, mais quel est-il? Eh bien, il est vraiment juste tous ces réseaux individuels à ma maison, et à votre maison, et à tous les autres maison, qui sont reliés entre eux. Il est un interconnecté réseau, un inter-net. Ainsi, au lieu de penser sur l'Internet que ce nuage géant, ce éthérée chose qui existe là-bas, il est vraiment juste une connexion parmi l'ensemble de ces réseaux. Alors on y va. Nous avons notre réseau local. Et nous ne sommes pas la seule personne sans doute sur notre réseau local en essayant d'utiliser Internet. Il ya probablement plusieurs nous essayer d'entrer. Et nous ne sommes pas le seul réseau qui existe dans le monde, non? Il existe d'autres réseaux, aussi, que essayez de vous connecter à l'Internet. Mais l'internet est pas, de plus, une entité distincte. Il est juste un ensemble de règles qui permettent ces réseaux, ces petits réseaux, le bleu, le violet, et le réseau rouge ici, pour communiquer les uns avec les autres. Donc, il n'y a pas chose ils sont tous connectez. Ils sont tous simplement connectés de l'autre, non? Et quelque part sur ces réseaux existe des services que nous voulons réellement. Alors peut-être dans le réseau bleu est où Google vit. Et dans le réseau violet est où vit Facebook. Et dans le réseau rouge, ainsi, peut-être qui est là tous les chats sont. Et donc, si nous voulons obtenir informations sur les chats, nous venons de parcourir cette chaîne de réseaux pour obtenir l'information que nous voulons. Et ici, je ai représenté le réseau tout comme être capable de parler les uns aux autres. Et nous ne pouvons parler au réseau. Mais le réseau ne peut pas parler de nouveau à nous. Mais cela est pas vrai non plus, non? Cela est une rue à double sens. L'information peut circuler à travers réseaux en arrière. Comment fait-elle cela? Eh bien, l'Internet est vraiment un système de protocoles. Et nous allons commencer à parler de ce que ces protocoles sont dans les futures vidéos. Mais encore une fois, l'Internet est pas une chose distincte. Il est un ensemble de règles qui définit comment les réseaux communiquent, ces petits réseaux, ceux-ci réseau local que nous sommes habitués, les gens dans notre maison, les gens à notre école, les gens de notre travail, tous partageant un réseau. Et comment ces réseaux d'interconnexion et de parler à l'autre, qui est en fait ce que le Internet est tout au sujet. Donc, nous allons, dans un avenir vidéo, parler de certains des protocoles qui comprennent Internet dans l'espoir vous donner un peu plus d'un compréhension bien arrondi. Je suis Doug Lloyd. Ceci est CS50.