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地址,如下所示, 進入這個樣子。 看起來一個IP地址 像這樣,去那種方式。 這就是它如何使 相當簡單的決定。 但事實證明,這些路由器做 事情還不止這些,有可能。 他們允許計算機 保證交貨,至少 以高概率。 所以,你可能也聽說過,即使 你從來沒有很關心或不知道 它是什麼,你可能聽說過 東西這個縮寫。 讓我們回到了這裡 只是一個瞬間拉起這一點。 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 - 凱蒂·佩里,“黑馬”]