DAVID马兰:好吧。 这是CS50。 这是7周的开始。 所以今天,或许值得庆幸的是, 我们开始转型 从较低水平 C语言编程的世界 到较高的水平 世界Web编程。 有了这样的,我们就一起来看看 在究竟如何上网工程, 这是什么机器和这些网际网路 你已经使用了多年,现在 真正做到向罩下方 更好地理解它是如何全部 工作原理,以及如何可以 让它为你工作。 为此,我们为什么不采取 先来看一个短片,从电视节目 所谓数字追凶,这将让我们开始 至于究竟如何上网工程。 [视频回放] - 它是一个32位的IPP4地址。 -IP。 这就是互联网。 - 私人网络。 这是阿弥陀佛的专用网络。 哦,她是如此惊人。 哦,查理。 - 它是一面镜子IP地址。 她让我们看什么 她在做实时的。 [完视频回放] DAVID马兰:所以这是一个整体 很多不对的电视节目。 因此,让我们梳理出确切 第一次这样的事情之一 看看我们是否可以不换 我们周围的头脑。 这样的最后一帧 那部电影中的表演, 这是一个在这里,这 似乎表明,这 是一些黑客利用 进入某些系统。 但是,没有。 如果放大这种 源代码, 是一种语言叫Objective C的中 其中iPhone应用程序,iPad应用程序,和Mac OS的应用程序都写, 你会看到,这 对于一些绘图程序 具有蜡笔作为变量。 所以,此外,可能 在这里注意到了这个地址。 现在,这是一个为错误的。 这可能是刻意选择 是一个无效的地址,以便它 实际上并没有带来实际的好处 如果电视观众实际上访问它。 但在这里,这个数字, 什么点什么 点什么点的东西是什么 通常被称为一个IP地址。 它实际上是一个很好的 原因请看此主题的更多 通常,被称为 IP,互联网协议。 所以,你至少已经可能 以前听说过这句话。 但是,什么是IP或互联网 协议作为你明白了今天? 奇怪的是,如果我们要了 举手,你们中的大多数 有可能说, 也就是说之前的IP地址。 那么,你是什么意思? 听众:[听不清]? DAVID马兰:那是什么? 听众:[听不清]? DAVID马兰:一旦更多。 听众:计算机的地址。 DAVID马兰:本 的计算机的地址。 所以这是完全正确的。 事实证明,每一个 计算机在因特网上, 这几天,在每一个你的手机 口袋平板电脑在您的背包, 有IP地址,互联网 协议地址,这 是标识一个唯一的地址 它在整个互联网。 现在,这是一个有点白 撒谎是因为世界上居然 跑了IP地址。 因此,我们利用已经开始 私有IP地址。 但更多的是在某一时刻。 但你能想到的IP地址 因为喜欢你的邮政街 地址。 我们已经使用麦克斯韦的例子 德沃金的CS大楼,直至─ 33牛津街剑桥, 质量,02138,USA。 即其在世界上唯一的地址。 同样做电脑 具有唯一的地址。 他们只是碰巧 看起来有点different- 一些点缀一些点 数点数。 而且没有人真正知道 什么数的有效范围 是为每个哈希? 是啊。 听众:0〜255? DAVID马兰:没错。 为0〜255。 即使你不知道 是,现在得出一个结论, 多少比特用于表示 这些数字,然后呢? 八显然是因为 最高可以算 是255,这是一个8位的值。 所以总共,IP地址是32位。 所以,快进到 数学的结论, 多少可能的IP地址 有没有在世界上呢? 这就是8 + 8 + 8 加8,所以这是32位。 我们一直说, 2至32是大致? 行。 我场这一个。 四十亿。 我们谈到,在本周 当我们谈到电话簿零 与疯狂的页面数。 但是,它的排序是,有 IP数量有限的地址。 而且即使four十亿 可能看起来很多, 我们人类一直 耗费了不少 他们对我们所有的服务器 和设备,等等。 所以实际上成为一个问题。 现在,有趋向于一个 谁的背后有什么样的IP方案。 例如,许多 计算机在哈佛 有独特的开始地址 以这两个值中的一个。 麻省理工学院,类似地,有一个前缀。 和很多企业和大学 有自己独特的前缀。 然后我们大多数人对于我们的家 互联网连接和类似物, 我们分享一些前缀,康卡斯特 或者这样的人恰好拥有。 而这仅是说,如果 看着校园里大多数计算机, 他们可能会拥有一个IP 地址看起来像这样。 现在,你可能也偶尔看到 一个IP地址,它开始是这样的。 事实上,如果你们长大 在家里上网, 而你永远充分 技术上好奇地闲逛 自己的电脑设置, 你可能代替 只见那看起来更像一个地址 这一点,与10,或172.6开始, 或192.168,或者一些变体。 而这仅仅意味着世界 被搁置了一大堆数字 是私有的,这意味着 你可以用它们在你的家, 你甚至可以用它们在你的 校园和公司内部, 但你不能使用它们 在互联网上逍遥法外。 所以,这些私人 IP地址是一个解决方案 对确保至少使 就整个世界而言, 我们不使用多个IP地址。 但至少,我们可以在我们自己的 校园里,有相当多的尽可能多的IP地址 因为我们想要的。 但谁在乎呢? 什么是这一切的意义 到互联网的实际使用情况如何? 好吧,让我们来看看 也许是这里一个简单的图片。 让我通过双方的 这些在屏幕上。 在这里,原谅我的笔迹。 但是,如果我们认为自己是 在这儿这个小笔记本电脑 某处校园, 这些天它的Wi-Fi。 但在去年,如果 你找到合适的适配器, 它可以将以太网电缆 这将同样让 您连接到某些类型的设备。 你也可以把这种 任何数目的东西。 但是,我要继续前进,调用此方法, 现在,如何接入点? 因此,这是我的笔记本电脑。 这是我的AP或接入点 这是一些无线设备, 不象那些哈佛 拥有遍布天花板 和校园周围的墙壁 有闪烁的灯光 那是你的笔记本电脑 用于无线谈 到网络的其余部分。 因此,在某种程度上这台笔记本电脑在说 要在墙上的那个东西, 在食堂,或其他地方。 现在,同时,该接入点是 连接到校园别的东西。 它可能是什么 已知的开关的作用。 他们看起来更有趣 不仅仅是这些盒子图。 但不知何故,这一点是 连接到交换机。 而反过来,不知何故 该开关连接 一个设备可能是一个 有点大,被称为路由器。 然后,同时, 哈佛大学的连接 对整个互联网哪个 我们将借鉴,因为这云在这里, 通过导线的一些数 或无线技术。 因此,有很多的步骤 我和世界其他地区。 事实上,即使在 这张照片在这里, 还有一些其他服务器 或服务所涉及。 我只是要画 这些有点抽象 只是让我们有 摆在我们面前的首字母缩写。 一个被称为DHCP。 而另外一个,多了几分 有趣的是今天,被称为DNS。 因此,这些都是服务器在某种程度上 访问我的电脑也是如此。 所以,现在,让我们来挑逗 除了有点行话。 因此,接入点是 只是这种无线设备 实际上往往与天线, 让你跟一个无线。 在家里,你可以打电话 这个家庭路由器。 它可能由Linksys的,或苹果制成, 或D-Link或任意数量的公司。 这,反过来,连接 到某种形式的开关。 还是回到家里,什么是你的Wi-Fi无线 设备可能连接到呢? 因为你可能不 拥有所有这些设备。 是啊。 电缆调制解调器或DSL调制解调器回家 你来自Verizon或Comcast了, 这些载体或1。 因此,认为所有这些复杂性 为支持大学或真 一个企业像康卡斯特。 而真正的东西 这是在您的家 大概是这一边 围栏可能加 这些家庭中的一个route-- 1 这些是电缆调制解调器或DSL 调制解调器他们可能会提供。 所以一个开关仅仅是一个与设备 一大堆在它的数据插孔。 事实上,如果你还记得那个新闻 报告中,我们扮演的大屏幕上 几个星期前,我们在哪里 在谈论炮弹休克, 这是多么糟糕? 并有这些 电缆的照片,和插孔, 而事情看起来技术? 这些只是哑交换机 只需连接互联网的电脑 插上电缆放进去。 所以这是一个所有开关。 现在,这些设备获得 更有趣一点。 DHCP。 如果你周围戳你 电脑在家中,甚至在校园里, 你可能已经看到了这个首字母缩略词。 有谁知道什么是DHCP服务器? 动态主机配置协议? 没有那种东西,你 真的需要写下来。 DHCP。 人呢? 行。 因此,让我们倒带的故事。 如果这里的故事,手头的前提是 我有一个唯一的地址 在世界上,一个IP地址, 哪里来的? 在昔日,当 你得去学校, 你实际上有问有人在 哈佛,又该我的IP地址。 你会手动 其输入到您的计算机。 但最近,技术 存在允许您动态, DHCP,获取IP地址时,只需 您插入无线校园 或用钢丝。 因此,DHCP服务器只是服务器 ,让您的电脑一个唯一的IP 地址,有些随机 或者通过某种算法。 但如果你认为回 几周或几年, 当你第一次注册 您的计算机上的校园, 你告诉哈佛,授权 我给我一个IP地址。 现在,DNS开始得到 更有趣一点。 域名系统。 有没有人要采取刺 在这件事情是什么吗? 它是一个或多个服务器 执行一个相当简单的任务,这是 种重要的。 是啊。 听众:平移网址[听不清]。 DAVID马兰:是啊。 它的URL转换为IP 地址,反之亦然。 考虑一下,毕竟这 当你在网站上, 你像facebook.com型, 或者google.com,或者harvard.edu, 你肯定从未类型 最有可能的一个数字IP地址。 你能想到的原因。 早在一天,甚至 现在在一定程度上 当你犯了一个电话 打电话到公司, 他们真的努力去自己买 一个800号码,实际上有话 在里面,像1-800-收集什么 这是令人难忘的那样,使 人们没有记住什么 C-O-L-L-E-C-T实际上扩展到。 因此,我们已经看到了这一点 启发式过去。 事实上,这就是IP地址 而我们就这么叫的主机名 或完全合格 域名为我们做什么。 它可以让我们的服务器地址 用文字代替数字。 那么我们如何做实际 看到这种转换。 我要继续前进 并打开了一个程序。 我只是要继续前进 打开一个终端窗口。 而且我要继续前进, 告诉你什么是DNS服务器一样。 举例来说,如果我想看看 IP地址是Facebook什么, 我可以输入在终端 提示喜欢this-- 甚至可以这样做 在你的应用中。 这就是查找facebook.com。 而且我看到了一堆东西。 这第一个反应是 哈佛大学的DNS server-- 那张照片,我已经 画在那里。 --that的 告诉我说,Facebook的IP 地址显然是这一点。 因此,让我继续前进, 复制173.252.120.16。 让我打开Chrome浏览器在我的Mac上。 并让我去到http://和粘贴 在该IP地址并按下回车键。 事实上,我发现自己在Facebook上。 因此,在某种程度上说转换, 的确,事情发生了。 如果我这样做一遍,让我们 做NSLOOKUP,www.google.com。 我回来一大堆的反应。 事实上,有不同的方式 该公司实施了。 有时,他们告诉世界 它们有一个IP地址。 但是,一个IP地址被解析 或映射到多个服务器。 或在谷歌的情况下, 他们告诉世界, 我们有一大堆的IP地址。 你的笔记本电脑,欢迎谈话 与这些服务器中的任何一个。 所以,这一切已经持续 在发动机罩下方。 当您在www.google.com中输入 到浏览器,浏览器, 在把你的工作,苹果 OS或Windows或Ubuntu Linux操作系统, 询问附近的DNS服务器是什么 这台服务器的实际地址。 因为最后一个设备 在这张照片中,路由器, 是一个其目的在 生活是路由信息, 路由数据包,可以这么说, 的数字信息的信封 含零和那些来自 发送到目的地,从起点 到接收器。 所以路由器的路由东西。 那么,为什么这一切 特别重要? 好吧,让我们一起来看看 这是如何可能被使用。 假设我这里 罗布·博登的图片。 所以,假设我想 发送此图片罗布·博登的 成丹在后面 的报告厅。 所以我一台电脑 像我的笔记本电脑,和丹 是在互联网上的其他计算机。 我想发送一个数据包 从我给他的信息。 这引出了一个问题,我该怎么办 实际上路由此包他。 那么,对人类而言,我会说, 哎,你可以通过这个丹? 然后,一堆你 很可能会通过回 来回来回,直到 最终使得它的方式交给丹。 但是,这是一个有点不精确。 计算机可能需要 多一点有条不紊。 所以很可能,丹都有一个IP地址。 那么,真的,我应该做的,是我应该 取,例如,一个空白的信封 像这样。 我不知道是什么 丹的IP地址是。 所以我只是要 概括它作为丹的IP。 我要去把这个在 将到现场我的信封。 而与此同时,我有一个IP地址。 但这不是今天不管它是什么。 所以,我只是想说我 IP在后面角落里。 然后,我要继续前进,把 这幅画这种信封内。 然后,你们每个人,据推测, 作为在互联网上的路由器, 已通过预配置 一般,有时人类 通过自动算法知道 若丹的IP地址开始于1, 它应该走那条路。 如果丹的IP地址开始 2,应该走那条路。 也许3去的方式。 也许一个4去的方式。 而这是一个有点过分。 简单但是这是总体思路。 每个这些routers--的和有可能 有多达30个箱和丹之间。 --have某种电子表格 其存储器内, 一个数据库表中,只是说 IP地址,如下所示, 进入这个样子。 看起来一个I​​P地址 像这样,去那种方式。 这就是它如何使 相当简单的决定。 但事实证明,这些路由器做 事情还不止这些,有可能。 他们允许计算机 保证交货,至少 以高概率。 所以,你可能也听说过,即使 你从来没有很关心或不知道 它是什么,你可能听说过 东西这个缩写。 让我们回到了这里 只是一个瞬间拉起这一点。 TCP协议,传输控制协议。 只是另一种技术途径 描述了另一种技术 该公司在Internet上使用。 所以,IP,互联网协议 用于寻址。 据一些标准的 世界想出这么说, 你把一个IP地址,这里丹, 这里一个IP地址为自己, 然后你把一些 在信封的信息。 但是TCP是另一种技术, 与IP一起使用。 事实上,如果你曾经 之前看过这些缩略词, 你可能已经看到了 TCP IP斜线刚 是指人们倾向于使用它们。 那么,TCP是一种 很酷,因为它允许 你的概率增加 该数据是实际 打算从我这里得到丹。 事实上,互联网是一个疯狂的地方。 有没有保证 如果我发送的数据通过这种方式 这是怎么回事去 这样下次再约。 它可能采用这种方式或那种方式。 之间的最短距离 两个点不一定是 的直链或同一行上。 此外,有些人 你们可能会犯错误 或变得不知所措了太多 很多信封未来的路。 所以,你只是去 放弃,从字面上 掉落其中的一些 信封放在地板上。 而在这同样的方法可以将数据 放弃了通过互联网路由器上。 所以降低 这个赔率,我要去 拿我的小安全 在这里剪刀剪罗布 成,比方说,四 件,四个部分。 而现在,我要继续前进, 把多一个资料片 这个信封。 我要这样说,1 4。 所以,现在,我最后的信封,在 至少第一,看起来是这样的。 我要继续前进 而摆在这里这一个。 而对于时间的缘故,我要去 标注他人相同的2/4, 3 4 4 4。 再次,与在丹的IP地址 它和我的IP地址前 在后面离开了,但我 不能送他们只是还没有。 因为事实证明 即在互联网上, 服务器可以做多件事情。 事实上,我们都可以使用网络 相当多的,全球网络, HTTP://不管。 但是,还有其他 在互联网上的服务。 什么是一些其他的服务,排序 用户,消费者友好的服务 那年春天,除了介意 Web浏览器型程序? 听众:电子邮件。 DAVID马兰:电子邮件。 行。 不错。 有什么其它的吗? 听众:聊天。 DAVID马兰:所以聊天,无论是 这是Skype公司,或谷歌聊天软件,或东西 这样。 听众:存储。 DAVID马兰:所以某种 存储服务,当然可以。 类似Dropbox的, 或盒等。 因此,有不同的 在互联网上的服务。 而事实证明,丹, 如果他确实是一台电脑, 不必是专用 在生活的一件事。 他其实可以做多件事情。 事实上,他可以是电子邮件服务器。 他可以是一个Web服务器。 他可以是一个聊天服务器。 但是,这似乎暗示 丹需要知道 提前是什么 这些消息的内容。 这是一个网页,我要送他呢? 是我送他的电子邮件? 它是一个瞬间 留言我要送他呢? 因此,我们需要多一个片 这些信封信息 让丹,当他 收到这个信封, 知道程序用什么来显示它。 它是一个浏览器? 这是谷歌? 难道是SKYPE? 抑或是Outlook或一些 共有其他程序? 因此,使用TCP来 只是一个人的约定。 世界决定有些年头 前独特的整数关联 与最流行的服务。 一个人的所谓文件传输协议, FTP,尽管这是一个有点过时了。 但其唯一的标识符是21。 SMTP出站电子邮件,其独特的 标识符是25,只是因为。 DNS的事情,我们前面谈到, 使用数字53为它的查询。 喜欢什么是IP google.com的地址? 而现在,更熟悉你 可能在一些点的某处 看到数字80,也许443。 这些都是独一无二的 识别为HTTP, 这是语言 我们很快就会看到使用 对之间的网络流量 浏览器和服务器。 和443是用于 安全版本物。 所以,最后一个细节我 打算把我的包络线 是,我不会 发送此只是丹的IP。 我将它发送到说, 80,如果我想要送 他是一个网页,一个网页 包含罗布·博登的头像。 所以我打算做同样的 在这些信封的事情。 然后最后,我要砸 这些关闭与最近的路由器, 认识到这 路由器不一定 走相同的路径每次。 事实上,我可能有 第一个数据包会这样。 第二个数据包可能会走那条路。 第三packet--启动路由。 --might走在这里。 而在theory--不能保持它。 在理论上,所有这四个包 最终应该路由的方式, 然而,有效的或低效的, 一路的背面。 在这一点上,丹,在 收据,可以重新组合 基于on--有趣的是, 我们都知道结局在这里 将是。 丹会得到罗布的图片。 但让我们来看看它是如何工作的。 好了,而是丹的打算 得罗布的图象的一部分。 挺好。 每个人都参加今天。 行。 所以,丹开始接收这些 包,让我们提出一个问题。 如果你一变懒了什么, 超载,恶意的,或者只是动力 关,以及一个或多个的 包不让它丹? 丹是怎么知道他没有 接收4的段中的一个 我给他发了? 只是凭直觉,我们能做些什么? 是吗? 听众:[听不清]。 DAVID马兰:没错。 因为我唯一编号的他们, 我指定了多少段有 应该是,他可以从该推断 其中,如果有的话,该段的 他居然失踪。 什么TCP告诉电脑 这样做,如果电脑一样,Mac OS中, 与Windows和Linux支持 并了解TCP,这是他们做的, TCP的文档基本 说,丹应该给我 回一个消息说,嘿,大卫, 我错过了4包号1, 3 4或者,两者是。 然后,我的工作就是拿 另一张照片罗布, 我们有对今天晚些时候演员 如果你想带人跟你, 然后我可以重新发送该片段 罗布的一路到背面。 这样简单的 这种机制是,那 正在发生的事情几乎任何时间 你做的东西在互联网上, 特别是对这些 最流行的服务。 还有其他的协议 除了TCP等技术 一个有点不同的工作。 但是,这么多的服务,我们通常 实际使用依赖于这些协议。 所以丹,你得到的 全画面回到那里? 是。 我们在后面重新组装罗布。 非常感谢你的路由器。 假设,其实我是想的 看到我的路由器 和麻省理工学院,就像你们是 我和丹之间的路由器。 好了,而不是NSLOOKUP 对于名称服务器查找, 我可以代替输入路由跟踪,其 实际上是打算做什么它说。 而我要做的和 安静模式与破折号1。 这是一个命令行参数 这只是说,试试这个 一次,而不是多次。 而现在,我要输入www.mit.edu。 现在,输出为 相当快速和神秘。 但是,什么是整洁的这个 是,每一个这样的行 基本上代表了 学生在这个观众 如果你是我和麻省理工学院之间的路径。 你看到了什么在这里,首先,是 我输入了域名, 或完全限定域名 名称作为它的正确调用。 这显然​​是 www.mit.edu的IP地址。 我的电脑想通​​了这一点对我来说。 这在这里是一种承诺 我们只打算 要尽量在30跳到达麻省理工学院。 还有最好是不超过 30名学生我和丹之间。 而现在,这些行 代表字面上的路由器 我和丹之间, 从字面上你们中的一个。 所以这一次似乎没有 有一个名字,一个域名。 它只是有一个IP地址。 而且只用了0.662毫秒 从我得到的第一个路由器。 下一个是不是 这要远得多。 只用了1 毫秒到那里。 而现在,谢天谢地,事情 争取多一点人性化 其名称是神秘 但有点更能说明问题。 这显然​​是在路由器 哈佛商网络的核心装, 只是因为人们告诉我们 这一点,在科学中心,SC。 而GW只是一个速记符号 网关是一个代名词路由器。 因此,这是一些系统 管理员的标方式 命名的服务器中的一个 在科学中心。 同时,该服务器是显然 通过一些电缆连接 给的绰号另一个路由器 边界网关一条虚线 东西,不管这些数字的意思。 然后,显然 哈佛有一个连接 这是另一个毫秒 远的东西 被称为北方的十字路口 这是一种常见的对等点 大的地方,如哈佛之间 其中,大量的布线进去 并允许互连 在不同的实体。 第六步,遗憾的是, 没有一个有效的名称。 而第七步变得有趣。 我不知道大部分的意思。 不过,纽约州没有跳出我。 并且这是什么可能意味着什么? 它甚至不是技术。 只是纽约。 的确如此,什么是人类共同的 没有约定保证 但通常的惯例是路由器的名字 城市或机场的性质 他们是最接近的代码。 因此,有一定的概率, 该路由器七位数 可能是,实际上,在纽约。 这似乎印证 这样的假设,因为它是 6毫秒,而不是只有一个 左右的东西在这里的校园生活。 但现在考虑到这一点, 在右Megabus的或诸如此类的东西, 这可能需要四,五,6小时 从这里到纽约得到一个人。 为了得到一个数据,它 只需要6毫秒 得到一个数据包从我要是丹 他是在纽约的所有道路。 于是最后,这显然是 实际域名www.mit.edu。 他们显然已经 外包他们的Web服务器 一家名为Akamai的意思 其他一些公司运行自己的服务器。 这就是为什么我们看到的 那奇怪的事情出现。 好吧,让我们做这一次。 让我们继续前进,做一个跟踪 路线我们的朋友尼克教授 Parlante在斯坦福谁都有 服务器称为nifty.stanfor.edu。 输入。 而现在,我们将可能看到 稍长的路径 是经过了几个城市。 所以在这里,这些无名 哈佛的服务器在这里。 我们在哈佛的核心, 哈佛的边界网关, 北十字路口, 无论这是。 而现在,它得到一个 更有趣一点。 我猜,路由器 数字8是在哪个城市? 听众:[插VOICES] DAVID马兰:芝加哥可能,基于 在此基础上,这个东西在这里。 现在我们有盐湖城也许, 也许洛杉矶这里,然后LAX, 是的,这很可能是由洛杉矶的底部。 直到最后,它会 来自南加州 一路攀升到加州北部 到斯坦福大学是在帕洛阿尔托。 所以很酷。 让我们借此更进一步。 这显然​​会 带你82毫秒 将消息发送到丹如果你 在加州,而不是纽约。 让我们做什么 像跟踪路线,一条 尝试www.cnn.co.jp的 日文版的CNN的网站。 而现在,我们仍然在 波士顿看来的时刻。 几台服务器六 8顷没有响应 因为他们是一个私人小。 但最终,似乎有 一些有趣的事情, 比方说,第七步九。 什么是可能的 七岁和九岁了,肯定 七至第17步? 有一个巨大的跳跃 在所需的时间量 它以数据从一个走 这些跳,其中一个路由器 到另一个。 所以赔率是,在某个地方 在这里,有可能是, 特别是在这里,有可能是 一个非常大潭水 有一些跨太平洋和跨 实际需要的大西洋电缆 甚至更多的时间数据,以 从一个点到另一个获得。 但同样,想象小时 它会采取飞日本。 在这里,在约200毫秒, 的热潮,您的信息实际上是有。 所以,你可以玩弄 该设备上,甚至 在Windows或Mac OS与 略有不同的命令。 有时候,你会得到这些明星, 像中的行6和8,这 只是意味着路由器 未配置 给你一个答案 隐私的缘故。 但是总体来说,这种技术 会,其实工作。 因此,原来也有其他 多汁的信息,潜伏在工具 那你把每一天是理所当然的。 因此,举例来说,如果你收到 电子邮件,坦言因为你们中的一些 最近可具有的可疑 来历,如果你从来没有 看着Gmail界面 之前,无论是 该学院的接口 或者你个人的, 你可能会看到你的 收件箱中寻找这样的。 而事实上,这是一封电子邮件 我送,malan@harvard.edu, 到jharvard@cs50.harvard.edu 今天早上刚 所以我可以采取截图。 但事实证明,所有的 这一次在Gmail中, 还有那个小三角 朝向右上方 还有旁边的哈佛波峰,如果 你点击,你可以点击查看原文。 如果你这样做,你会真正看到 一帮很深奥的信息 像时间戳和IP 地址和域名。 但是你会看到,总之, 头,所有这个时候有 被打在每一个 通过电子邮件向您发送和接收。 而它的这些标题可以让人 使用,计算机科学家或以其他方式, 实际与推论 一些概率哪里 并从他们的邮件,其实是。 事实上,我们将讨论在 后来周如何电子邮件 本身可以产生 其中以编程 是一个非常好的事情的网站 想要发送电子邮件给用户。 但我们会看到,那也仅仅是多么微不足道 它是建立在别人的电子邮件 给别人,除非你真正 知道如何验证报头。 甚至认为是一个失败的 命题的这些日子。 因此,随着中说, 让我们去一层了。 我们开始与该IP 为我们地址的数据包, 给他们唯一的地址。 TCP协议,其中,总之 保证交付或至少 通过增加其概率 添加之类的东西段,1或4, 2 4,3 4,和4的4。 现在,让我们来层顶 那另一个协议。 所有这些东西都 协议,约定电脑 这决定了如何将两个 计算机相互交谈。 HTTP,终于在今天,是 超文本传输​​协议。 这是协议 ,Web浏览器 说话的Web服务器时使用。 所以,当你拉起来就像一个浏览器 Chrome浏览器或IE或Firefox或Safari, 或什么的,和你输入的东西 像facebook.com并按下回车键, 不仅是第一个做电脑 facebook.com翻译成什么? 一个IP地址。 然后它converts--它然后发送一个 消息到该IP地址的说法, 给我今天的网页或给 我的Facebook的登录界面。 或者,如果你已经登录,给 我,我的时间线的默认视图。 所以,这就是HTTP说。 而更通俗的,如果我是一个网页 服务器和你are--你叫什么名字, 再次? 听众:玛戈。 DAVID马兰:玛戈是一个web 服务器,我就是一个网页浏览器, 我只是想找回我的 从玛戈时间表,margot.com, 我会说,你好,我是大卫。 听众:你好,我是玛戈。 DAVID马兰:你会再回应 附加信息给我。 因此,我们有这个愚蠢的人 约定instance--谢谢。 --oF摇晃对方的手。 和电脑有相同的想法 其中一个客户端,如浏览器, 问一个服务器做一些事情 代表他或她。 所以这里有一个图片,例如。 左边是一台电脑笔记本, 桌面,不管,或者甚至一个电话。 而右边是一个很 日视图服务器。 他们通常看起来更小 和性感这几天。 但有一点很简单, 有一些类型的通信 与客户端和服务器。 和客户端中的感 有人在餐厅 和侍者, 与电脑同样的想法。 客户端和服务器,一台 要求提供的信息, 1响应信息。 现在,请问是怎么 来信息了? 那么,考虑一下。 得到的是那种默认的方式 - 这是一个超级简单的术语。 --that只是规定了如何在浏览器 从服务器获得信息。 换句话说,而不是仅仅 混日子,随手伸出我的手给玛戈, 如果我真的是一个浏览器,我 会塞住的包络线的内侧, 我与Rob的照片以前那样,一 文本消息,从字面上说, 这样的事情, GET / HTTP / 1.1hostwww.google.com 或margot.com或任何 服务器的名称可能会发生的人。 然后,点点点,一些其他的东西。 但是,从字面上看,里面 的包络线的会 是相当简单的文本 消息那样。 在接获,玛戈会 打开,阅读的内容, 并作出相应的反应。 现在,这是一个有点 非显而易见的这个例子。 但得到的/,什么是斜线 大概指的是,正是基于 在您熟悉 在浏览网页的日常生活? 什么是斜线? 听众:[听不清]。 DAVID马兰:转义序列。 不是一个坏主意,但一般 转义序列走另一条路。 这将是一个反斜杠一般。 但不是一个坏主意。 是吗? 一个指针。 也没想好,但 比更加简单。 主目录。 硬盘驱动器的根目录下,可以这么说。 我们大多数人不会打字了。 但在技术上,如果你想 是超正确的,这些天, 你会去的东西 像http://www.facebook.com/。 现在,我说,我们大多数人不会 懒得打字的斜线。 坦率地说,最 浏览器,包括Chrome浏览器, 甚至不打扰展示 我们斜线这些天 仅仅是因为他们喜欢 简单,简洁。 但斜线的意思只是去 到www.facebook.com并获得 斜线,硬盘驱动器的根目录下, 默认页面facebook.com。 使用的是什么协议? 那么,使用1.1​​版本 这件事被称为HTTP。 服务器,或者Margot-- 顺便说一句,做 你介意我用你这些? 行。 所以我们现在的好。 所以玛戈与现在的反应 信封她自己的,它的内 是一个类似的文字信息。 其中第一行是 是的,我讲的HTTP 1.1版。 200状态码 这只是意味着一切OK。 我中有你要找的页面。 同时,内容类型:text / html的,这 是玛戈的半神秘的说法方式, 您所要求的是一个网页。 和它的类型,所以要speak-- 几乎像一个变量感, 但是,这是高得多的水平了。 它的数据类型是text 但具体的HTML。 我们很快就会看到的语言。 然后,还有一些其他的东西。 所以其他的东西简直是什么 Facebook正在与响应。 所以,让我们来看看这个。 让我继续前进,打开 Chrome浏览器在我的笔记本电脑 你可以在你做 自己的电脑也是如此。 而且我要继续前进 开放www.facebook.com。 输入。 我在这里得到这个熟悉的画面。 但现在,我要去做别的事情。 我要继续前进, 去查看,开发。 并转到开发 工具,你应该 有在Chrome浏览器在您的计算机上, 至少在你的设备。 我要这个滚动 这里的事情了,你 要看到一大堆 这里的神秘文字。 事实证明,什么玛戈里面放 那个信封回应我 是一个称为HTML语言, 超文本标记语言。 这不是一种编程 语言,因为你不能, 没有循环,和条件, 和功能,以及诸如此类的东西。 这是一种标记语言。 在此,它具有特殊的语法 所谓的标记和属性 它告诉浏览器要显示的内容 在屏幕上,以及如何显示它。 应居中? 它应该是粗体字? 红色,绿色,蓝色的吗? 这是一种标记语言。 在此,它告诉浏览器 如何在屏幕上显示。 因此,这是,从字面上看,所有的 HTML多,Facebook的服务器 被吐出,并且 Chrome和IE浏览器和Firefox都有 而设计的,其 各自的作者理解。 而事实上,这是一个 有点混乱不止于此。 如果是你,而不是,去查看, 开发商,查看源文件, 这实际上是什么 Facebook正在放出来。 排序零五年 对风格,对吧,如果我们 推断这可能不是最好的。 但坦率地说,他们可以逃脱 这是因为,如果你服了 数十亿网页 每一天,你真的 不想浪费时间,字节, 和金钱,最终在传输 之类的新生产线 字符和空格,制表符和 因为你花的带宽 不必要地与您的ISP。 所以,事实上,这意味着 被缩小的这种方式。 但是,Chrome浏览器正在做 对我们来说,它的服用 这个HTML,这完全看起来像 很乱,不懂的人, 它只是格式化。 这实在是太打印出来,这样 我们可以环绕它我们的头脑 一点更容易。 但更有趣的是这一点。 如果我现在点击Chrome浏览器, 不是元素而是网络, 我要看到一个小 记录屏幕的 要告诉我的一切 的HTTP请求 这实际上是回去和 我提出和Facebook或我之间 和玛戈如果我做 多个请求,等等。 所以,我要继续前进,然后单击 重载图标在这里在Chrome中。 而现在,一大堆的 东西飞了过去在底部。 我要滚动 备份到顶部。 而现在,注意到这一点, 第一个要求我的浏览器 制造是www.facebook.com。 它使用get 机制只是手段 它讲的文本语言 我们以前看到的一个瞬间的例子。 而且,事实证明, 该回应称,Facebook 给我的是200行,这意味着我 发现有问题的网页。 如果我点击此行,其实我可以 看到这些标题多一点 显然。 这些将在不久更有意义。 但是请注意,我的浏览器发送一个 一大堆像主机信息, 和方法,以及饼干。 我们会回来的那些用不了多久。 你终将明白 什么是cookie的居然是 如何你很快就会送他们。 你可以看到什么 Facebook正在发回, 包括文本的内容类型 HTML,当前日期时间,其隐私 政策,或缺乏,和 然后,最后一个号码的饼干 正在上设置 你的电脑也是如此。 但我们会取笑那些相隔不久。 但总之,每一次在你 访问一个网页,现在几年了, 你已经将消息发送到 一个我发一个信封 以玛戈和丹。 而你已经找回 像这样来自Facebook的回应。 但同时,你猜怎么着的是 披露Facebook和谷歌, 和大家一样每天 您访问的网页? 这是对每一个的外 信封您的电脑已经发出? 您的IP地址,对吧? 每也许不是你的名字 本身,而是你的IP地址。 而就在,让我们连点 以后,如果你正在使用的服务 喜欢的网页,或 BitTorrent的,生命, 你已经注册了一个计算机 在哈佛一样的地方, 有人的地方都知道,约翰· 哈佛大学的IP地址,这一点,这点, 点这个,点这个。 事实上,日志可以保持他既在 校园里像这样,康卡斯特网络上, 在Verizon,或者坦白地说,在 NSA正如我们最近了解到, 它记录几乎所有 你正在做在互联网上。 我们会回来的 这个未来的类 对这些影响 设计决策和安全性。 但事实是,你真的 没有那么多的隐私。 每次你访问过的任何地方 在网络上,你一直在展示你的手 并透露,至少你的IP地址。 那么吓人笔记之外,我们能做些什么来 嵌入的东西像猫在一个网页? 因此,我们有一大堆的反应, 可能来自服务器返回。 我们不会看到所有这些今天。 但200还是不错的。 而且你可能没见过 所有这些作为一个人之前。 但是,你可能已经看到 至少其中之一。 其中哪一个看起来很熟悉? 听众:404 DAVID马兰:所以404。 文件未找到。 而事实上,你会看到 这个程序自己。 404只是意味着你所要求的文件, 斜线或斜线的东西,只是 不存在。 和Web服务器通常 与404响应结果 同时,我们很快就会看到, 该消息的内容 此语称为HTML。 这是一个超级 HTML的简单片段 那什么都不做比其他 在屏幕上显示的Hello World。 事实上,你在这上面看 一些所谓的文档类型 声明这只是说,哎,世界。 此文件包含HTML。 然后,HTML格式的下一个位 你要去写, 它有一个开放的支架, 然后这个词的HTML, 然后闭合托架,然后 开放的头,靠近支架。 因此,在短期,让我们实际 这样做更多的机械。 让我进入我的家电, 但你可以在任何地方做 你有一个文本编辑器。 我要继续前进, 保存一个名为hello.html的文件。 我打算把它放在我的桌面上 让事情变得超级简单的现在。 而我要做的事情 正是我刚才看到。 因此,文档类型的HTML,打开支架HTML。 而现在,通知,我要去 做相反的先发制人。 并通过相反的,我的意思是 同样的标记,可以这么说, 但它开始于一个正斜杠。 然后,在这里, 我会说,头, 因为事实证明,每一个 网页上有一个所谓的头, 是的东西,去的称号 栏,在该页面的顶部。 在标题只是 要在这里打个招呼。 而现在,我将有 一个机构,这个网页。 因此,每个网页都有两个 头往上顶和主体 这是该页面的胆量。 在这里,我只是要 这样说的hello world。 而且我要保存此文件。 如果我现在尽量减少gedit中, 你看,有一个小文件 我的桌面上名为hello.html的。 现在,这不是一个服务器上 然而,本身,事实上,它是 只是我自己的个人桌面在这里。 但是,如果我打开浏览器并按下控制 O--有问题的猫。 - 而且我去我的桌面。 我打开hello.html的,在那里,在 其实,我是超级简单的网页。 我的网页的正文 这白色的窗 这里是身上带的hello world。 并且在头部的标题 该网页是在那里的标签。 我们将看到 很快,它的超 简单开拓其他页面也是如此。 比如,我要去 入的一些分配代码 本周,源 7,我要去 开放不是JPEG 而这个家伙在这里。 但是,我要开拓image.html, 最终看起来是这样的。 但让我现在在gedit中打开这个了, 并进入Dropbox的源7, 和image.html。 大部分的这仅仅是 评论,因为我们很快就会看到。 但是,如果我想要把脾气暴躁 猫本网页里面, 它足以把另一个打开的支架, 然后该关键字的图像或的img 短,然后替代 文本可访问性的原因 如果有人有一个屏幕 阅读器或类似的东西。 来源这是,什么是 文件名,cat.jpeg。 然后,因为这 标签是一个有点特殊的, 我们把正斜杠,如 我们将看到,标签内。 但最终的结果是一个网页 页面看起来像这样。 因此,在短期,我们要成为怎样的人 现在做一段时间的使用网络 和创建网页, 最终将容器 不仅为喜欢无聊的东西 图像和链接,以及表, 和项目符号列表,和类似物, 同时也给我们自己 一个图形用户界面,图形用户界面, 不象我们所做的,我们突围。 但在这样的环境中,我们 要开始使用语言,如PHP, 和JavaScript,数据库 所谓语言SQL, 一个客户端脚本语言 JavaScript调用实际创建 更动态的接口,但 在一个多,更熟悉的上下文。 而在此之前,让我们 今天总结了一下, 如许,什么是真正回事 与互联网罩下方 本身。 规定为今天 互联网能够 用于转移的事 喜欢的网页通过HTTP 就像我摇了摇玛戈的手更早。 但有这么多其他 使用TCP和IP服务 我们认为理所当然 这项工作,我们将在这里看到 在这部影片中那个会 带我们去年底至今。 [视频回放] - 用于在第一时间在 历史上,人与机器 正在共同努力,实现梦想。 它知道一个团结的力量 没有地域界限。 不分种族,信仰或肤色。 一个新的时代,通信 真正把人民团结起来。 这是网络的曙光。 想知道它是如何工作的? 点击这里开始你的 征途入网。 现在,到底发生了什么 当你点击这个链接? 你开始的信息的流动。 这个信息传播下来 进入您的个人邮箱空间 当IP包先生呢,标签 它,并将其发送到它的方式。 每个数据包是有限大小。 收发室必须决定如何划分 的信息和如何包装它。 现在,该包需要一个标签 包含重要的信息, 如发件人地址,收件人的 地址和数据包的它是类型。 因为这个特定的数据包 是走出去到互联网, 这也得到一个地址 代理服务器,它 有一个特殊的功能 后面我们会看到。 包现已推出到 您的局域网或局域网。 该网络用于连接 所有的本地计算机, 路由器打印机,等等 信息交流 内的物理 建筑物的墙壁。 局域网是一个漂亮的不受控制 地方,不幸的是,发生意外 可能发生。 局域网的公路是打包 与所有类型的信息。 这些都是IP数据包中,Novell 包,苹果通话的数据包。 他们将针对交通如常。 本地路由器读取 处理,如有必要, 提起包到另一个网络。 啊,路由器。 控制在一个符号 看似杂乱无章的世界。 在那里,他是一个系统的, 不仁不义,有条不紊的,保守的, 有时不太加快速度。 但至少,他是 精确的大部分。 由于包离开 路由器,他们做他们的方式 进入企业内网 和头路由器交换机。 有一点不是更有效率 路由器,路由器交换机 玩朝三暮四与IP数据包, 一路上熟练地路由它们。 数字弹球向导,如果你愿意。 尤其是圆形才好。 这里谈到一个又一个。 而它的另一个。 看这个,妈妈。 这里是云。 哎呦。 绕回。 嘿嘿。 在那里。 在那里。 到左边。 到正确的。 到左边。 到正确的。 你猜对了。 在这里,不言而喻。 他拍摄。 他的分数。 这是怎么回事。 嘿,等等。 嘿,当心。 这里谈到一个又一个。 呵呵,在这里我们去。 -as包到达 他们的目的地,他们是 拾取的网络接口, 准备好被发送到下一级, 在这种情况下,代理。 代理所使用的许多 公司作为排序的中间人 为了减轻负载 在他们的互联网连接 并且出于安全原因,也是如此。 正如你所看到的,包 是所有各种尺寸的, 这取决于它们的内容。 代理打开该数据包并 查找网址或URL。 这取决于是否 该地址是可以接受的, 该分组被发送到互联网。 有,然而,一些 这不地址 同的赞同 的代理,即, 企业或管理的指导方针。 这些简易程序处理。 我们将有没有说。 对于那些谁做的, 这是在路上了。 下一步,防火墙。 企业防火墙 有两个目的。 它可以防止一些比较 在互联网上讨厌的东西 从进入内部网络。 而且还可以防止 敏感的企业信息 被送出到互联网。 一旦通过防火墙, 路由器拿起包 并把它放到一个更窄 道路或带宽,因为我们说。 显然,该行是不 广足以把他们所有。 现在,你可能想知道,是什么 恰好所有这些数据包 不前进的道路上做出来。 那么,当叶先生不 收到确认 该分组已 在适当的时间收到, 他简单地发送一个数据包更换。 我们现在已经准备好进入 在互联网的世界里,一只蜘蛛 相互连接的网络的网络 它跨越了整个地球。 这里,路由器和交换机 建立网络之间的联系。 现在,该网是一个完全 不同的环境 比你会发现内 你的局域网的防护墙。 在这里,它是野生 西,充足的空间, 大量的机会,大量的 事情要探索,去的地方。 由于很少 控制和调节, 新的想法找到肥沃的土壤,推动 其可能性的信封。 但由于这种自由, 一定的危险也潜伏。 你永远不会知道,当你 迎接死亡的可怕平, 一个正常的请求,一个特殊版本 平有些白痴没想起来 搞砸了毫无防备的主机。 我们的数据包,通过采取可能的路径 卫星,电话线,无线, 甚至跨洋电缆。 他们并不总是最快 或最短路径的可能, 但他们会解决这些问题,最终。 也许这就是为什么它有时 被称为世界各地的等待。 但是,当一切都 工作顺利,你 可以规避全球5 时间过的一顶帽子的下降, 从字面上看,和所有的 本地呼叫或更少的成本。 邻近我们的目标的端部, 我们会找到另一个防火墙。 根据您的 立体作为数据包, 防火墙可以是一个堡垒 安全或可怕的对手。 这一切都取决于你是哪一方 对,和你的意图是。 防火墙的目的是让只有 那些满足条件的数据包。 该防火墙工作 端口80和25。 所有试图通过其他进入 端口是关闭的业务。 端口25用于邮件报文。 而80端口是为高考 从因特网分组到网络 服务器。 内部防火墙,包 筛选更彻底。 有些数据包使其 轻松通过海关, 而另一些看起来只是有点半信半疑。 现在,防火墙官 不容易上当, 例如当此平 死亡分组的尝试 把自己伪装成 正常ping数据包。 -move相处。 没关系。 没问题。 祝你今天愉快。 让我离开这里。 再见。 - 对于那些幸运包 足以让这么远, 旅程已接近尾声。 这只是一个排队的接口上 被吸收到Web服务器。 现在,web服务器可以在许多运行 的事情,从大型机,到网络摄像头, 在你的办公桌上的电脑。 为什么不是你的冰箱? 有了正确的设置 ,你可以找出 如果你有气质 鸡Cacciatore酒店 或者如果你有去购物。 请记住,这是网络的曙光。 几乎任何事情的可能。 一个接一个的数据包 收到,打开,解包。 它们所包含的信息,即 是您要求的信息, 被发送到网络 服务器应用程序。 该分组本身被回收。 准备好被再次使用,并且填充有 您所请求的信息,解决, 并发送出去的道路上回给你。 回到过去的防火墙,路由器, 并通过到互联网。 通过您的企业防火墙。 而且到你的界面。 准备提供您的Web浏览器 随着信息您请求。 这就是这部电影。 高兴,他们的努力和 相信在一个更美好的世界, 可信赖的数据包 骑过开心的 到另一个日落 一天,知道他们充分 曾担任他们的主人好。 现在,是不是一个快乐的结局。 [完视频回放] DAVID马兰:这就是它的CS50。 我们会看到你下周。 [MUSIC - 凯蒂·佩里,“黑马”]