[音樂播放] DAVID J.馬蘭:所以我就 想安撫到。 我要重申正是Scaz 說,大約機構記憶。 CS50已經有 大約20年在哈佛。 而現實情況是,從 下來的老人, 每年有放心 該新生,二年級學生, 而大三, 也是老年人服用 CS50,你最終做精。 現實情況是,學生 不失敗CS50。 事實上,在罕見的情況下, 在這裡,我們已經有長者或FS, 它真的是因為 情有可原, 無論是醫療還是個人。 DS是令人難以置信的罕見的為好。 我可以說的輕鬆,但我們 通常不公開的統計數據, 但考慮到沒有 機構記憶在這裡無論如何, 大部分學生在CS50的 就最終得到了一系列的成績。 一個顯著塊結束 在B範圍內結束了太多。 因此,即使你可能會 等同於你的頭腦三五成群 用60%,因此 DS,或Cs,或類似 它真的不排隊 與現實。 事實上,我們的意思正是我們 說,在學期開始 這麼多學生在CS50,無論是 在劍橋和這裡的紐黑文, 以前從來沒有採取CS課程。 什麼確實是最終重要的 就是你結束了十二週 相對於自己在零一周。 現在,我們有多個 在使用過程中追踪 因為你知道 - 不舒服,更 舒適,介於兩者之間。 事實上,當你得到 本週的競猜統計, 不要氣餒的話,特別是如果 你覺得你是在均值附近 或低於平均值或中值, 特別是因為我們做的不一定 採取所有這些人口統計學 考慮到中期學期 隨著等級的統計數據。 換句話說,我們知道 每年統計 學生誰是不太舒服, 做一個稍微差的測驗。 和學生誰更舒適 做測驗好一點。 但是,每在教學大綱的諾言 並且還以講座的第一週, 我們採取所有這些考慮在內。 事實上,在年年底, 我們最終做 跨越是歸所有成績 部分,無論在劍橋 現在這裡的紐黑文, 這意味著考慮到 在不同的風格,不同的 生硬,不同的排序 個性,個人 助教在這裡和在劍橋 所以,你是不是在 缺點即使你只是 碰巧有過TF或者TA 誰是被一點點強硬你 在你的心中。 二,我們考慮到舒適性 水平和實際背景,或缺乏 物,服用時 測驗分數考慮。 因此,這兩個被分解英寸 和在一天結束時, 因為它總是如此 一個學生結束了 在一個不太舒適的部 當他或她真正屬於 在一個中間或反之亦然, 一切都是那麼的 令人難以置信的個性化。 事實上,你會得到惱火我們 在學期結束時,我們來晚 提交你的成績,因為與 Scaz,和Jason,和安迪和我, 和球隊會做 在劍橋是字面上 有數百封電子郵件的背部和 第四與課程的所有百 助教,在這裡和在 劍橋,問他們什麼 他們認為所有學生的 根據檔次的草案。 而且那裡的一切後, 令人難以置信的是個性化的。 因此,在某種程度上,我們了解你 在上班時間,路段等, 所有這些也被考慮在內。 所以,雖然我們傾向於用這五 分制,請取下自己 從假設 三的確是60%。 它的目的是為好。 而助教 在學期開始收取 要盡量保持比分 在三三兩兩,和三分球, 和四肢的範圍,使我們 居然有成長的空間。 而我們居然有 一個尺度由 我們可以給你有用 反饋,你如何做 和你如何進展。 所以,請不要採取對心臟。 是否有任何問題,我可以幫 地址或疑慮,我可以幫助緩解? 或承諾我可以盡量保持? 沒有? 確定。 好的。 因此,隨著中說,這是CS50。 這是週的開始 6這裡的紐黑文。 讓我們從一個簡單的 調光燈 到設置了階段為今天的內容。 [視頻回放] [音樂播放] - 他想出了一個消息。 隨著協議的所有他自己。 他來到酷防火牆的世界, 漠不關心的路由器和危險遠差 死亡。 他快,他很強壯,他是TCP / IP。 而且他有你的地址。 淨勇士。 [結束播放] DAVID J.馬蘭:好吧。 這是CS50。 這是六週的開始。 這是我們看的開始 在Internet和Web編程。 也許最令人興奮的, 今天標誌著我們轉型 從我們的命令行 C與網絡世界 PHP和HTML的基礎的世界, 和CSS,以及SQL和JavaScript, 和這麼多是在地平線上。 但首先,它已經到了我們的注意 行走在校園,有 是一定的浴室這裡新 紐黑文稱為哈佛室, 在這裡變灰了一點。 不過說實在的,一個人去了時間 和費用蝕刻在哈佛房 在這個位置的房間。 謝謝你的。 我不能說我們有一個 模擬在劍橋然而, 但我認為我們有一個小項目 對於自己現在當我們回去。 所以,向你表示感謝。 因此,快速回看 我們不放過上週 而你要去的地方即將來臨 有問題本週設置五位。 因此,在問題設置五,你會 面臨的挑戰是實現了一個拼寫檢查。 要做到這一點,你會 遞給一個相當大的文本 文件中包含14萬英語單詞。 你會受到挑戰,以決定 上的數據結構與您 要加載所有這些詞 到存儲器,和到RAM中, 然後實現的一些功能, 其中之一將是檢查。 由此,當傳遞參數, 總之,你的功能檢查 簡單地說就是將有 說真的還是假的, 這是在字典中的詞。 但是,你將會有一些 設計自由裁量權和挑戰 當談到實現這一點。 在最簡單的實現中, 你當然可以 實現了一個拼寫檢查 底層字典 用什麼樣的數據結構的? 你只需要存儲一個整體 一群在內存中的字符串? 什麼是去回答 從也許是兩個星期? 聽眾:數組。 DAVID J.馬蘭:你可以使用一個數組。 而這還不是那麼糟糕。 但你不一定知道 事先有多大的數組 你會需要的,如果你不 不一定知道文件提前。 所以,你將不得不 用掛羊頭賣狗肉的一點點 像malloc的,就像我們開始使用。 或者,我們可以解決 這種擔心使用 還有什麼其他的數據結構,這是 是那種邊緣增強 在一個陣列? 聽眾:鍊錶。 DAVID J.馬蘭:就像一個鏈接 列表,其中,我們得到了一些活力。 但有一點費用。 我們有指針維護。 而你已經沒有這個編碼 了,但肯定有 要多一點的複雜性 比只用方括號 和跳躍的陣列周圍。 但是,一個數組的運行時間, 如果你正在尋找一個字, 可能會被記錄為n的。 但同樣,它可能是 少許非平凡 建立該數組不 知道大小提前。 鍊錶不過,如果你 只是存儲一堆字符串 在一個鍊錶, 什麼是你的上限 運行時間將是搜索 對於或檢查在該列表中的單詞? 聽眾:N。 DAVID J.馬蘭:是的,正的大O或 線性的,因為在最壞情況下, 這個詞就像是一個Z字段 一路在末端。 因為一個鍊錶, 因為這些箭頭在默認情況下, 在一個單向鍊錶,只去 從一個方向到另一個, 你不能跳來跳去。 你必須遵循所有的人。 因此,我們建議在上週結束時, 5週和有更好的方法。 而事實上,聖杯 真的會固定時間 當你想藉此 查找一個字,你 獲得即時的答案,不論 有多少話都已經 在你的字典。 這是一個藝術家的再現 你可以稱之為一個哈希表。 而一個哈希表是怎麼樣的一個很好的 一個array--的汞合金垂直繪製 在這裡,只因為 - 然後一個 鏈接列表中 - 水平位置繪製。 和哈希表可以是 在束的方式來實現。 本文節選自一本教科書發生 利用這些人的出生日期 作為手段,其中它的決定 在那裡把某人的名字。 因此,這是一本字典 如果你的名字。 另外,為了加快放 名成這個數據結構, 他們在看,很顯然,這些人的 出生日期,相對於一個月。 因此,它是1到31。 而忘記二月 和角的情況下這樣的。 如果你的生日是在一月 1,或2月1日或12月1日, 你會最終在 的第一鏈往上頂。 如果你的出生日期是 像本月25日, 你要結束了 在鬥數25。 如果有已經有人有 在任何這些位置的,什麼 你開始做這些掛鉤 名單被拼接在一起 這樣就可以有任意 一些人,或任何東西, 在該位置。 所以,你有怎樣的搭配 恆定時間哈希。 而湊什麼手段 作為輸入喜歡一個人, 或者他或她的名字,或者他或她的誕生 日期,然後再決定一些輸出 此基礎上,就像看著自己的 生日,輸出一到31。 所以,那麼你可能有 有點線性時間, 但在現實中,並作為中 問題的情況下設置五, 我們不打算要 P中工作集5 這麼多漸近運行 時間,喜歡的理論緩慢 與一種算法可能運行。 我們要關心 的秒的實際數目 和存儲器的實際金額, 內存的實際字節數 您正在使用。 所以坦率地說,有一個巨大的 鏈就像一個萬人 真的是太緩慢,如果你正在尋找 為在大小百萬的列表的名稱。 但是,如果你把什麼 該列表分成31份? 搜索的1/31 超長名單,在現實中, 肯定會更快。 漸近,這是同樣的事情。 你只是劃分 常數因子。 而且記得,我們 扔掉那些東西了。 但在現實中,這是怎麼回事 要快31倍。 而這正是我們要 開始利用P中設置五位。 因此P設置5得還 建議您考慮 稍微複雜的 數據結構稱為線索。 而一個線索僅僅是一個 樹形如數據結構。 但是,代替具有 小圓圈或矩形 我們堅持畫 為節點,它實際上 具有它的節點整個陣列。 即使這是一個 有點抽象這裡來看看, Zamyla在P組步行 通過將引導您 通過這個更詳細。 這是一個數據結構 ,與其巧妙地 可能每個節點是一個數組 大小26,A到Z或零 通過25。 而當你要插入一個人的 名字進入這個數據結構或者找 他或她,你做什麼,如果 名字就像麥克斯韋,M-A-X-W-E-L-L, 你先看看M.然後你 跳轉到相應的M位置 在第一陣列。 然後跳轉到一個,第一個 下一個數組中的位置, 下面的箭頭所示。 然後X,則W,則E,那麼L,則 L,然後也許有些特殊結束 字符,一些定點 上面寫著一個字止於此。 什麼是好的關於this--和 請記住,在圖片瀏覽, 注意如何邊緣 每個數組被切斷。 這只是因為這件事情會 是巨大的和可怕看 在屏幕上。 因此,它的摘錄。 什麼是好的關於這種方法是 如果有一萬個名字已經 在此數據結構中,多少步 它帶我去插入麥克斯韋? M-A-X-W-E-L-L--像七十歲上下 步驟插入或尋找馬克斯韋爾。 假設有一萬億 名稱在此數據結構中。 多少個步驟,沒有考慮 我找麥克斯韋? M-A-X--仍有7。 就在這裡 所謂一定時間。 如果我們假設詞語 當然界 由20個字符,或者46個字符, 或者一些相當小的整數, 然後它實際上是一個常數。 因此插入和搜索 一個線索是超級快。 當然,我們從來沒有 得到任何東西是免費的。 而且即使你可能 沒有跳入P設定5然而, 什麼樣的價格是我們可能支付給 獲取更大的效益時明智嗎? 聽眾:內存。 DAVID J.馬蘭:內存,對不對? 我的意思是,我們還沒有得出 這裡的全貌。 本文節選自教科書 還沒有得出所有的陣列。 有大量的內存和公正 該未使用空指針。 所以這是一個權衡。 它會P中留給你設置5 決定要往哪個方向走。 現在,這個想法散列,作為 順便說一句,其實是超級流行。 因此,散列值表示,相當 簡單地說,把一些東西作為輸入 並產生一個輸出。 這樣的哈希函數僅僅是一個算法。 一般,一個散列函數目的 在生活中是把一些東西作為輸入 並產生一個數作為輸出,如 頭號通到Z 31或A, 零到25。 因此它需要一個複雜的輸出 和收縮下來的東西 這是一個多一點 有用的和可管理的。 所以原來的 一個非常受歡迎的功能 該安全世界 和人類世界 已使用多年被稱為SHA1。 這是一個非常奇特的數學 公式,做實質上是。 你把一個真正的大 零和的大塊ones-- 這可能是一兆字節 長,技嘉long-- 和它縮小它歸結為 僅有數位,幾個位, 讓你有許多像 到Z一到31,或者A 但在現實中,這是一個有點 更大的不僅僅是A到Z. 不幸的是,我們是在風口浪尖的是什麼 有人開玩笑地稱SHAppening 由此,世界即將 結束大概幾個月 時間,因為研究人員, 剛剛過去的這個星期, 公佈的一份報告,違反 什麼安全研究人員認為 一段時間後,由跟 花費約,那是什麼, 我認為這是$ 175,000-- 大量的資金, 但不鞭長莫及 特別糟糕的壞人, 或者特別惡劣countries-- $ 175,000 可能你買了很多租用服務器 空間在雲中。 我們再回過頭來 不久雲。 但它只是意味著租用服務器 像微軟的服務器空間, 或谷歌的,或亞馬遜的,或 喜歡在那裡你可以按分鐘付費 用別人的電腦。 而事實證明,如果你能支付 別人借自己的電腦 而且你寫運行代碼 它並使用漂亮的花式 數學,你基本上可以圖 如何某人的散列函數 工作,並考慮到其輸出, 逆向工程什麼的輸入。 而對於今天的目的, 我只想說,這是不好的。 由於SHA1和哈希函數 喜歡它是超級常見 在安全應用中, 在網絡上的加密連接, 銀行交易,移動加密 為你的蜂窩電話,等等。 所以,任何時候有人 找到一種方式來扭轉 工程師的這些技術之一 或打破它,不好的事情都可能發生。 現在世界上已經知道這一點。 這是可以預見的。 而世界上有自 從移動到SHA1 SHA256, 它是這樣一種有趣的方式 說他們用大位。 而事實上,即使是CS50自己的 網站升級,去年用於: 不是我們面對這一切的許多 威脅試圖獲得在PDF文件 和whatnot--但CS50的網站 使用更大的散列函數, 這意味著我們將是安全的。 因此,所有的PDF文件的 將是安全的,但並非 一定是你的錢或任何東西 特別是私人或個人 使用。 SP檢查出網址,如果你想 像一些額外的細節。 所以,問題設置五是 確實在地平線上。 測驗一個是本週三。 但不要趁辦公室 小時,無論是今晚和明天。 並採取了辦公時間的優勢, 如果你是可用的,正確的在此之後。 工作人員,我會堅持圍繞做 更休閒的Q&A除了今晚。 讓我強烈這裡需要注意,對於 我們這些在這裡新Haven-- 所以這絕對是每Scaz的 備註覺得,我敢肯定, 好像有點一場艱苦的鬥爭。 而靠信譽,如果你 還沒有學到或聽到 從一些朋友在哈佛,知道 這裡有一些新的機構記憶。 P設定五種排序的 往往是最難的CS50, 或最具挑戰性的 對於大多數學生。 但是,這是什麼意思是,我們 幾乎就在這座山的頂部。 我真的是說這個。 它是最有挑戰性的,但 它也是最有成就感 在與大多數其他所有 介紹計算機科學 當然,在美國,我們知道, 大多數學生沒有完成前奏 在已經實施的過程 像樹木和嘗試, 和哈希表,和類似物。 所以我希望,而 我們希望你 有巨大的意義 滿意度甚至 如果週或兩個經由其 你到了,滿意 不覺得這一點。 但是,讓我放心,我們 只剩四名P組。 所以那種頂部就在眼前。 在它的另一面,信任我們, 它只是連綿起伏的丘陵和雲。 而我們可以說,小狗 是在另一側。 所以,你只需要掛 在那裡長一點。 我的意思是,確實是因為我們開始轉型 進入Web編程的世界中, 你會發現,事情become-- 這是可愛的其實。 OK,我們將在稍後發布此URL。 你會發現太多,我們是 高原的深遠排序 這裡的一切是 確實仍然複雜 和具有挑戰性 設計,但你不 會覺得我們是 永遠往上走這座山。 因此,需要一些安慰的。 因此,事不宜遲,讓我們開始 使這個市場轉型 在學期的世界 網絡,真正的世界 與我們所有的人都比較熟悉。 我們有互聯網設備 在我們的口袋裡,在我們的辦公桌, 在我們的背包,和類似物。 如何完成所有這些工作? 我們又如何可以開始寫 代碼是不是超級神秘 並在一些閃爍的文字提示 這不關你的朋友或家人 是以往任何時候都希望以互動 用的事,但你可以把 在手機上,或 在他們的網頁瀏覽器, 或與任何設備 它們相互作用。 因此,這裡是別人家的。 而這個家裡面是一對 筆記本電腦,幾個老同學桌面 電腦,一種叫 中間路由器或集線器, 然後某種 電纜調製解調器或DSL調製解調器。 然後還有互聯網,一般 畫成雲那裡的天空。 所以這幅畫,雖然 有點排序過時的, 當然抓住了大多數的 你可能在你的家, 或有效的,你什麼都有 在你的宿舍或公寓, 或類似物。 那麼,什麼是真正回事時, 你今天嘗試使用互聯網? 所以每次在電腦上 互聯網,事實證明, 需要有一個唯一的地址, 就像我們在現實世界中的需要 郵政地址,像51展望 街,紐黑文,康涅狄格,或33 牛津街,劍橋,馬薩諸塞州。 所以,做互聯網上的計算機需要 唯一地解決自己的方式。 也就是說,這樣,當一台計算機 想聊到另一個, 它可以發送一個消息,並 通知收件人為之 它應該發送回響應。 所以它只是使排序 直觀的感覺也許 這一切有一個 某種形式的地址。 但你如何獲取IP地址? 好吧,如果你在這裡 校園裡,或者你回家 你打開你的 筆記本電腦或台式電腦, ,要么將其插入 或者連接到Wi-Fi, 事實證明, 有一個特殊的服務器 在大多數的網絡被稱為DHCP服務器。 其實並不重要 這是什麼代表, 但它的動態主機配置 協議,它是剛 一個說看中的方式,這是 一台電腦,無論是耶魯, 或者哈佛有或Comcast 有,還是Verizon公司, 或你的公司有, 其目的在生活中, 當聽到有人新加入 到網絡,是在這裡說, 使用此地址。 所以,我們人類也不必 硬編碼到我們的電腦 正是我們唯一地址。 我們只是打開它,打開 蓋子,並以某種方式這台服務器 在本地網絡上只是告訴我, 我的地址是51展望街,或33 牛津街等。 現在,它不會 如此詳細的作為。 而我什麼都得到的是一個 數字地址稱為IP地址。 IP意味著互聯網協議。 賠率是這個時候,在你的生活, 你可能聽說過或看到過這個詞的IP, 或一般扔它周圍可能。 但實際上,這是很 簡單的一件事。 一個IP地址僅僅是一個 點分十進制數字, 這意味著它的東西點 什麼點什麼點什麼。 而且每個出頭的發生 是一個介於0和255。 因此,基於五加週的CS50,如果 這些數字的每個範圍從0到255, 有多少位是各 這些數字符號? 聽眾:八。 DAVID J.馬蘭:它必須是八強。 因此,在總共有多少 位是IP地址? 聽眾:32。 DAVID J.馬蘭:所以32。 8 + 8 + 8 + 8 32。 總共有多少IP地址 哪有世界? 聽眾:4十億。 DAVID J.馬蘭:所以大約4 十億因為這是2的32次方。 如果你不能排序 神交,在你的心中, 只知道32位值 可大至4十億 如果這一切都正值。 因此,這意味著還有的4間十億 在世界上可能的IP地址。 而有趣的故事,我們種 運行了出來。 而事實上,它是在一個巨大的問題 世界上也看到了這個問題來了, 但是不一定回應 它以最快速的方式。 事實上,一旦你 完成CS50並開始 應注意的 在高科技的世界,你會 看這是非常常見的主題。 舉例來說,如果我們真的 老同學如今,2000年。 這是不是一個真正的驚喜。 就像大家都知道的 千年,這一 was--千餘years--的 這最終會發生什麼。 然而,我們做出了回應 很多在最後一分鐘。 這就是再次發生。 所以今天我們將談論IP版本4。 但是要知道,世界 終於得到 各地要升級到 所謂的IPv6, 其中,代替32位 地址,uses--人 要採取一個猜測,有多少位? 聽眾:64? DAVID J.馬蘭:好猜測,但沒有。 我們終於設法 獲得領先的曲線。 聽眾:128。 DAVID J.馬蘭:128, 是一個再用龐大的數字 的IP地址,因為 這跟2次,2次, 2次,很多次 4十億三三兩兩起來。 因此,如果好奇。 原來out--,我只是用Google搜索這個 找到這個out--耶魯電腦, 在耶魯,往往先從 這些numbers-- 130.132點東西, 和128.36點的東西。 但肯定 全線例外 根據什麼部門, 建築與建築你的。 哈佛趨於具有 140.247或128.103。 而通常這是 無用的信息, 但它的東西,你現在可能會注意到。 當你開始關注著 在您的計算機設置, 你可能會開始注意到這些 過不了多久種模式。 但是,當你在家裡有一個 蘋果公司的AirPort或Linksys的設備, 或D-Link或不管它是什麼 你的父母或兄弟姐妹裝 在你的房子,以及 你可能有 是所謂的私有IP地址。 而這些人實際上是 不錯,治標不治本 到運行的問題 短IP地址。 你還可以用做什麼 家庭網絡,typically-- 坦率地說,即使是耶魯大​​學 和哈佛開始 要做到這一點在不同的areas--是你 可以給一大堆電腦 一個IP地址,只要你把 的特殊裝置在他們面前, 所謂一個路由器, 或者它可以被稱為 代理或任何數量的其他事情。 但某一設備 具有一個IP地址。 然後背後 裝置中,在建築物內, 在一所房子或公寓,可 任意數量的計算機,所有這些都 有開始的IP地址 隨著這些數字在這裡之一。 而只要該計算機 知道如何轉換 公眾地址 私有地址, 一切都可以排序的工作預期。 但此相反的是,如果 你在家裡,你有兄弟姐妹, 兩者的你 在訪問一些網站, 該網站不知道這是否是你 或者你的兄弟姊妹訪問該網站, 因為你似乎是相同的 的人,因為您的所有數據 正在經歷的路由器 或者中心點。 但是夠用就這些低級別的細節。 讓我們來看看如何IP地址 有時也許會在這次媒體 以及我們如何能夠從現在就開始毀, 坦率地說,更顯示了你。 如果我們能調暗 燈為幾秒鐘。 [視頻回放] - 它是對IPP 4的地址是32位。 -IP ES internet-- - 私人網絡, 塔米亞的專用網絡。 她是如此驚人。 -COMe查理。 DAVID J.馬蘭:這是 一個鏡子的IP地址。 她讓我們看這 她在做實時的。 [結束播放] DAVID J.馬蘭:OK。 這樣一些問題與此有關。 所以之一,我們正在尋找什麼 在這裡,屏幕上 是一個代碼寫在一個 語言,所謂的Objective-C, 這是怎樣的一個繼任者來 C語言,我們正在做的事情。 這絕對沒有任何關係 做節目。 事實上,最好的,我可以告訴, 這是一個繪圖程序 有人從下載 互聯網在某種程度上涉及蠟筆。 也許不太令人震驚的是, 這個IP地址,有效還是無效? 聽眾:無效。 DAVID J.馬蘭:無效,因為275 是,當然,不0到255之間。 這也可能是OK,但因為 你不想一群瘋狂的人 誰是像電視暫停其 TiVos中,然後訪問IP看看 如果有實際的東西存在。 所以,一個人的少一些令人震驚的。 但要意識到,太多的 那種我們周圍。 那麼當然,我們沒有人曾經 真的鍵入數字地址 到我們的瀏覽器。 這將是一種壞事 如果谷歌,訪問谷歌, 你必須去123.46.57.89。 而整個世界上有 只是記住這一點。 坦率地說,我們已經種 之前見過這個問題。 早在一天人們不 有手機和聯繫人列表, 而公司實際上still--實際上, 我想公司仍有800 數字和like--,但你 總體看廣告號碼 為1-800-收集,C-O-L-L-E-C-T。 因為沒有人能真正記得, 在公共汽車上看到一個廣告時, 或廣告牌,什麼人的電話號碼是, 但他們大概能,具有較高的 概率,記住一個單詞。 因此,我們採取了同樣的 世界上什麼系統 互聯網,從而有一個 域名系統,使我們人類能 輸入google.com,facebook.com, yale.edu,harvard.edu, 而讓電腦的身影 什麼相應的IP 地址是對於給定的名稱。 而這樣做的方式,在 現實世界是,一年$ 10 也許每年$ 50,你可以買一個域名 名字,還是真的租用域名。 然後誰你付出 租用該域名, 你告訴他們誰在世界上 知道你的IP地址是多少。 而且我們不會進入這些 細節,但你們中許多人 可能希望,最終 項目,實際報名 為自己的虛擬主機 公司,無論是免費的 或幾元不等。 你們當中有些人可能想購買,對於 幾塊錢,你自己的域名, 只是為了好玩或創業 或個人網站或類似物。 並意識到所有 那最終將 歸結到你告訴全世界 你的服務器的IP地址是什麼。 然後,這些DNS 服務器實際上照顧 的通知世界其他地區。 因此,所有的DNS服務器 有,總之,裡面 它的內存是一樣的 谷歌的電子表格相當於 或Excel電子表格中至少有 兩列,其中之一有名稱, 像harvard.edu,和 yale.edu,和google.com。 而另一列具有 相應的IP地址或IP 地址。 我們可以清楚地看到這一點。 所以,在我的Mac--,你可以 做到這一點在Windows計算機上 作為well--如果我打開一個終端窗口 在這裡,很喜歡那個在CD50 IDE, 大多數計算機有一個叫做命令 NSLOOKUP,域名服務器查詢。 如果我輸入的東西像 yale.edu並按下回車鍵,是什麼 我要看看我的網絡合作為 它沒有為前級多重考驗 began--讓我們嘗試google.com。 當然,現在什麼也沒有工作。 這是偉大的。 好吧,站在一個時刻。 NSLOOKUP google.com。 好吧,讓我們如果看看 實際internet--沒有。 這是發生了什麼事。 噢,我的上帝,所有的權利。 在Wi-Fi爆發。 嘿,想知道我的IP地址是? 好的。 YaleSecure。 這是你如何解決 事物的計算機科學家。 我們轉了Wi-Fi關閉。 確定。 而實際上,Scaz,你不介意 登錄我們進入安全嗎? 否則,更多的測試are--好,謝謝 你Yale--或即將破裂。 我想繼續YaleSecure。 哦,也許我們會沒事的。 也許我們回來了。 這是如何,作為一台電腦 科學家修復計算機。 [掌聲] 好的。 那麼,我在此 所謂終端窗口, 如果我做NSLOOKUP yale.edu,我們走吧。 所以,我回到第一的IP地址 我的筆記本電腦正在使用的DNS服務器。 因此除了一個DHCP服務器 我們談到剛才講 我的筆記本電腦是什麼我的IP 地址是,DHCP服務器 還告訴我使用什麼樣的DNS服務器。 否則我將不得不 手動鍵入此研究。 但是,這並不是那麼有趣。 我關心的是,這是 耶魯大學的網站顯然IP地址。 所以,事實上,讓我們試試這個。 讓我走成一個瀏覽器,訪問 到http://,然後該IP地址, 並按下回車鍵。 讓我們看看。 這就是你還能怎麼 參觀耶魯大學的網站。 現在是不是所有的令人難忘。 像,預frosh 可能不會 記住這個特殊的地址 如果對來訪後到那裡參觀。 但它似乎工作。 所以DNS真的只是可以讓我們 有更多的對人友好的地址。 但他們並不一定 剛剛得到一個答案。 事實上,當你是一個 真正的大高科技公司, 你可能想 有很多的服務器。 即使這是一種誤導。 因此,耶魯大學可能不 只有一個Web服務器。 谷歌可能沒有 只有10左右的Web服務器。 特別是谷歌可能 有成千上萬的Web服務器 世界上可以應對各地 從我們這樣的人的請求。 但他們也使用一種稱為技術 負載均衡,這長話短說, 擁有世界上僅有的幾個設備 跨多個服務器分散負載。 因此,它有點像蜘蛛網,如果 你會調度請求。 但現在,所有的 有趣的今天 是一個域名 如google.com甚至可以 有這樣的多個IP地址。 但如何做所有我們的數據實際上 得到來回那麼​​到底? 嗯,事實證明,有這些 東西叫做互聯網上的路由器。 什麼是一個路由器到 你已經知道了的程度? 我也用這個詞一對夫婦 在家庭的上下文倍, 但是簡單地說, 什麼路由器呢? 給我只是根據它的名字猜測? 聽眾:所以道路或道路? DAVID J.馬蘭:所以, 這是一個道路或路徑。 因此,路線之路 或路徑,絕對。 和路由器,所以裝置 其實路由的信息, 將移動點A和B之間的數據 因此在fact--和 這也許是當 路由器你谷歌描繪 在世界上,你所得到的 是俗氣營銷圖。 所以這是排序最 代表一個我可以找到 看起來溫和有趣。 每個點或希望的曙光的 世界各地的代表路由器。 他們每個人都有一個線 其它路由器之間。 因為事實上, 成千上萬的,可能 百萬圍繞路由器 世界,其中一些是我們的家園 並在我們的校園,但很多 這是由大公司所擁有的 和相互連接,這樣,如果我 想從這裡耶魯發送一些數據 回家劍橋,耶魯大學可能 沒有一個單一的電纜,當然, 直接去哈佛。 和耶魯大學沒有 單根電纜將 麻省理工學院或斯坦福大學,或 伯克利,還是谷歌, 或任意數量的目的地。 相反,耶魯大學和哈佛大學,並 每個人都在互聯網上 確實有一個或多個路由器 連接到它,也許 在校園的外圍。 所以,當我的數據要 離開耶魯大學的校園, 它去了最近的路由器, 如所描繪的這些點中的一個。 然後,該路由器計算出是否 以這種方式,或者通過這種方式發送, 或這種方式,或者通過這種方式基於 在其存儲器的另一個表, 另一個Excel文件或者谷歌 電子表格中的一列 說,如果你的IP地址開始 與排名第一的,走這條路。 如果您的IP地址開始 一些二,走那條路。 所以你可以把它分解 數字有路由器發送 數據各種方法。 我們可以樣的看到這一點。 讓我們繼續前進到這個終端 再次窗,讓我繼續前進 並跟踪路線, 比方說,www.mit.edu, 這是一個幾百英里遠。 這是真的該死的快。 那麼到底發生了什麼? 因此,在短短的七個步驟,並 在短短的4毫秒, 我在互聯網上發送的數據 從這裡在耶魯麻省理工學院。 每個行,你可以 也許猜到現在代表著什麼? 聽眾:路由器。 DAVID J.馬蘭:路由器。 因此,事實上,它看起來像有 約七左右的路由器, 在我之間或6個路由器 身體在這裡耶魯大學法學院 和麻省理工學院的網站在那裡。 而且我們可以從這個蒐集是 作為follows--,讓我清理。 我將用一個命令重新運行 的-q 1行參數只是說, 只要給我一個查詢。 默認情況下,路由跟踪要做三。 這就是為什麼我們看到 數字串。 我想看看人數較少 只是為了讓輸出更乾淨。 讓我們看看會發生什麼。 因此,無論出於何種原因, 有人在耶魯大學的思想 這將是風趣地稱它為您 默認路由器arubacentral,這 是的VLAN或虛擬 局域網,虛擬局域網 網絡30--所以你 可能有至少 29 others-- router.net.yale.internal。 而在這裡。內部是一種假的 頂級域名意味著要只用 在校園裡。 並注意相應的IP地址 該路由器,無論它是在這裡 在校園裡,是172.28.204.129。 它花了36毫秒 從這裡去那裡。 滑稽的故事。 我們會回來,在短短的時刻。 但是,現在的第二router--到 這arubacentral明顯 有某種物理 連接最likely-- 人類並沒有理會命名。 耶魯大學的人沒有打擾命名 它,因為它是你的網絡內部 它似乎。 所以它只是一個IP地址。 但隨後的第三路由器 在這裡耶魯的網絡 這可能是一個小 遠仍 被稱為cen10g什麼 這是asr.net.yale.internal。 而且它也有一個IP地址。 現在為什麼這些數字 樣的波動? 2.9,1.4,36? 路由器忙碌起來。 而他們得到擁擠,備份。 有成千上萬的人在這 校園裡使用互聯網現在。 有一百人在這 房間使用互聯網現在。 所以發生了什麼事是, 路由器可能會擁擠。 因此這些時間可能 波動一點點。 所以這就是為什麼他們不一定 增加直截了當。 但是,事情變得種 有趣的第四步。 耶魯大學和顯然之間 第四步是另一個一跳。 哪裡是路由器 在第四步可能? 聽眾:[聽不清] DAVID J.馬蘭:JFK也許, 也許在機場。 但無論出於何種原因, 系統管理員,所以 運行服務器的怪才 年命名路由器 經過最近的機場代碼。 因此,肯尼迪可能意味著 它只是在某處 在紐約,也許在曼哈頓 各區市縣或之一。 nyc2表示,據推測,另一 路由器的地方在紐約。 我不太知道從哪裡排 六是在這裡,路由器排名第六。 quest.net一個大的ISP, 互聯網服務提供商, 提供互聯網連接 到大的地方,如耶魯大學等。 然後將此最後一個,它 看起來像麻省理工學院甚至不 有他們自己的網站 在劍橋必然, 而是他們已經 外包他們的網站, 或至少​​是物理服務器, 一家名為Akamai的。 而Akamai其實就是降權 麻省理工學院在劍橋的道路 事實證明。 但也認識到,即使想 你要www.mit.edu, 我們真的可以發送 在世界任何地方。 而且,我們看到的地方 在世界其他。 讓我繼續前進,清除 這個屏幕,而是 跟踪路線,只有一次,所以 查詢一體,www.cnn.co.jp, 日本主頁 對於CNN的新聞網站。 如果我按下回車鍵現在, 讓我們看看會發生什麼。 我們又開始arubacentral。 我們則要去 無名路由器,多了一些。 於是花了12啤酒花 到達日本的這個時候。 讓我們來看看我們能蒐集。 所以同樣的一跳,同樣一跳。 稍有不同的現在。 這一個有趣的。 所以我猜這裡,stamford1是 幾個城鎮走在康涅狄格州也。 在六連勝,這些路由器 和七個沒有名稱。 但是,這是一種令人驚嘆。 那麼,似乎是的 步驟七,八路由器? 你們為什麼說是多少? 是嗎? 聽眾:海洋。 DAVID J.馬蘭:可能會是一個海洋。 我們知道這是真的 象,直觀,對吧? 但是,我們可以確認盡可能多的那種 的那種經驗,為什麼? 發生了什麼變化之間 行七,八? 我花了很多的時間去 無論這個無名路由器七是, 可能是某處 美國大陸,到第八步, 這可能是介於日本 基於.JP存在的域名。 所以這些附加 百東西毫秒 或90左右毫秒 我們的數據結果會 在一個相當大的水體。 現在奇怪的是,似乎可能 該電纜雲在整個美國。 如果我們真的要過 西海岸去日本, 它是一種長的路 如果我們走另一條路。 所以它不是完全清楚 什麼身體怎麼回事。 但事實上,每一個 另外一跳的確 花了顯著較長 比所有其他,這是 很不錯確認CNN的 日本的Web服務器可能確實 在日本。 它肯定得更遠 遠於麻省理工學院已。 而值得注意的太多, 你的數據不一定 去旅行 最短的距離。 事實上,如果你玩 在家裡路由跟踪 只是隨機挑選的網站,你 可能會發現,只是發送電子郵件 或訪問一個網站 這是這裡的紐黑文, 有時你的數據可能首先 走了彎路,再往DC, 再回來了。 而這只是因為 動態路由決策 這些計算機正在。 現在只是為了好玩,製作團隊 修剪這些影片之一我們 僅僅是一個小更簡潔。 但是給我們一個快速的感覺這裡 - 我們可以把燈光on-- 至於到底有多少佈線 實際上承載我們所有的數據。 [視頻回放] [音樂播放] [結束播放] DAVID J.馬蘭:所有的網絡視頻 有涼爽的動聽的音樂明顯。 所以這是得到的只是一 只是有多少意義 已經持續引擎蓋下。 但是,讓我們看一下 現在略低水平 在什麼樣的數據實際上是 遍歷這些行, 甚至將無線 在一個房間裡是這樣的。 因此,原來當你請求 一個網頁,或發送電子郵件, 或接收網頁或電子郵件,或 一個消息谷歌聊天軟件,或Facebook的消息, 或類似物,即不只是一個 流動無線位大塊 通過空氣或 電子在導線上。 相反,該請求或 反應一般 分塊成單獨的塊。 因此,換句話說,當你有一個 要求再拍電腦, 或者你得到一個回應 從另一個computer-- 像假設,例如,如果 unfamiliar--因為太多的人 似乎是這些days-- 如果不熟悉this-- 不是這個fellow--這傢伙。 因此,假設這是一個消息, 我想送的人在後面。 誰在很後面想 收到里克阿斯特利的照片今天? OK,你叫什麼名字? 聽眾:科爾。 DAVID J.馬蘭:這是什麼? 聽眾:科爾。 DAVID J.馬蘭:霍爾特? H-O? 聽眾:C-O-L-E。 DAVID J.馬蘭:C-O-L-E,科爾。 抱歉。 C-O-L-E。 好的。 所以,如果我想送科爾本 圖片瀏覽,你知道這 是那種一個大圖片,對吧? 這可能是幾 千字節,幾百兆, 尤其是如果它的高分辨率。 我真的不希望停止 其他人使用互聯網 只是當我送這真的 大,高品質的畫面 里克Astley的整個房​​間。 我想你的數據繼續 遍歷網絡和無線網絡連接 為好。 因此,這使得sense--這 是可恢復的電子, 與其說在現實世界中。 其實,這都將有多個 含義,如果你把我的音頻輸出。 所以,如果我撕裂這 像這樣的半這裡, 這個現在可以周遊 互聯網更有效, 因為它是一個更小的一塊。 因此,與較低的概率是它會 碰撞別人的交通 在互聯網上。 所以你的電腦確實做 當你想發送一條消息給科爾 它是口吃了起來類似這樣的消息進入 更小的碎片,碎片可以這麼說。 然後它把他們裡面有什麼 我們稱之為某種虛擬的信封。 所以,我有四個信封這裡。 而且我已經預先編號的他們, 一個,兩個,三個,四個。 而我什麼都做在前面 這一點,就像一個正常的郵件, 是我打算把科爾的名字出現。 然後在頂部,我 打算把我的名, 大衛,使得第一這樣的分組 我在互聯網上發出有 看起來有點像 對此,顯著特徵 這些都是它有一個 從地址地址,一個, 還有一部分,所以 那有希望 是足夠的信息, 科爾重建此消息。 因此,讓我在這裡,在做同樣的 同樣在這裡,並在這裡一樣, 寫自己的名字,在 到現場的所有的人。 然後讓我們繼續前進, 把這些照片裡面。 因此,這裡是一個包 這是準備去。 這裡是另一個包 這是準備去。 這是第三個包 這是準備去。 這裡是第四 數據包已經準備好去。 現在有什麼有趣 如何在現實工作互聯網 是,即使我有 四包,所有這些都 發往同一 位置,他們不一定 要遍歷相同的路由。 所以,儘管我可能會交給這些 到最近的路由器包過 比方說,如果你想給 他們發送的每哪種方式,讓我們來看看 實際發生的事情,目標 這讓他們最終科爾。 事實上,他們已經不 不一定採取相同的方向。 這很好。 這是一個有點尷尬 今天奧普拉的風格。 現在讓我故意 採取一回。 現在科爾,如果你想 重新組裝盡你所能。 當然,我們都可以猜猜看 這裡的結論將是。 你將有3/4 里克·阿斯特利一會兒就好了。 什麼雖然是 那意味著什麼呢? 你要設法阻止它? 我們確實有一個攝像頭 指著你,如果你想 里克Astley的構成在這裡。 在那裡,我們走了。 可愛。 但你似乎缺少 瑞克阿斯特利的片段。 所以,事實證明,互聯網 一般是由驅動不僅僅是IP, 但事實上,我們聽到了很 在video--開始講座 你可能已經看到了這一點 首字母縮寫詞更often--真正 是你會聽到有關協議? 聽眾:TCP / IP。 DAVID J.馬蘭:TCP / IP, 這僅僅是一個組合 兩個協議,一個叫IP。 這再次,僅僅是個集 公約的通過,我們 針對每台計算機在互聯網上。 然後TCP,這 還有另一個目的。 TCP是一種協議,你 通常結合使用 與IP中,除其他 東西,保證交貨。 事實上,TCP的協議 會注意到一個數據包 顯然沒有得到 科爾,因為他似乎 是失踪人數四明四。 還等什麼TCP,協議 的確,是它告訴科爾, 哎 - 科爾,如果你只收到 四分之三的數據包, 告訴我,哪一個你 缺少,本質上, 然後我的人生目標 應重發該。 所以,如果我也是這樣, 發送方,使用的是TCP, 那麼我應該創建一個新的packet-- 這不皺1這裡 - 重發只是這片 它,這樣最終科爾 一個完整的紀念品,如果沒有別的。 但是,這樣最終的實際數據 到達其正確的目的地。 但不幸的是,寫科爾的名字 在前面是不夠的,本身。 真的,我不會寫 科爾的名字,但很可能 在信封上他的IP地址。 我不會寫大衛。 我會寫在信封上我的IP地址 從而使計算機可以實際 來回溝通。 但事實證明,計算機 可以做的方式比服務了 里克·阿斯特利的照片。 他們還可以重新發送和 接收電子郵件,聊天消息。 他們可以做的事情,如文件傳輸, 和任意數量的其他工具 你在互聯網上使用, 服務器可以做這些天。 而僅僅因為一個公司, 或學校,或一個人 希望有一個Web服務器,以及 電子郵件服務器,和一個聊天服務器, 這並不意味著你需要三台計算機。 你可以有一台計算機運行 多種服務,可以這麼說。 因此科爾接收時 這樣的消息,怎麼 沒有他的電腦知道是否 顯示畫面在他的瀏覽器, 或谷歌聊天軟件,或在Facebook的使者, 或以任何數量的其他工具? 因此,原來還上 因為信封是附加件 稱為一個端口號的信息。 和端口號是 只是一個數字的確, 但它唯一標識不 計算機,但該服務。 還有的這些束。 所以,事實證明, 在世界上,人類 決定了這樣幾個 公約,其中一些是這些。 因此,有一種叫 文件傳輸協議。 這是相當過時。 這是完全沒有安全感。 很多人還在用它。 它使用端口號21。 換句話說,如果 通過FTP發送文件, 信封將不僅有 發送器和接收器的IP地址, 它也將有21號,以便 接收計算機知道哦,這 是一個文件,而不是一個電子郵件 或聊天信息。 25是SMTP。 你們有多少人曾經使用SMTP? 錯了。 幾乎所有的你。 如果你曾經使用過的電子郵件,你用過 SMTP,簡單郵件傳輸協議, 這是說只是一種奇特的方式, 這是計算機或服務的類型 發送電子郵件出站。 如果你見過像縮略詞 POP或IMAP,並且還有其他一些, 這些都是用於接收 電子郵件,通常。 這只是意味著它的 不同的服務。 它的軟件,有人 寫信發送或監聽 在一個特定的端口號, 它不會混淆電子郵件 與一些其它類型的數據。 現在卷材是HTTP,這是 數80,並且還端口443。 而事實上,即使 我們人類幸運 不必這樣做, 您訪問任何時間 像網站 http://www.yale.edu,瀏覽器 只是作為一種 在它的幫助 假設你想要的數字端口80。 我們已經知道,DNS可以計算出 什麼是IP地址是www.yale.edu的。 但是,電腦只是 要推斷你 希望端口80,因為你使用 鉻或IE,或一些其它的瀏覽器。 但我可以在技術上做結腸80。 然後我可以明確地告訴 我的瀏覽器,發送數據包或更多 的信息www.yale.edu 要求今天的主頁。 但具體地,地址 到耶魯大學的IP端口80 讓我真正得到 回耶魯大學的網絡服務器。 現在,它會立即消失 因為瀏覽器只是 決定我們不 需要人類迷惑 通過具有了更多神秘 就像大腸80的信息。 坦率地說,瀏覽器 像Chrome瀏覽器甚至不 告訴你HTTP了,或結腸,或 斜線斜線,還是最後的斜線, 在某種意義上,因為他們正試圖 使事情變得更簡單,為用戶。 在另一種意義上,它只是一種 的用戶體驗件事 - 讓我們擺脫了一些混亂。 但它隱藏了一些 這些底層細節。 而事實上,我們沒有 可能是有史以來輸入http了。 你只需要輸入的東西 像www.harvard.edu。 再次,鉻推斷 要HTTP。 但也有其他協議 我們當然可以用。 因此,考慮這一切,如果你現在排序 換上所謂的工程帽, 如何做事所謂防火牆的工作? 所以,你可能一般 熟悉防火牆, 沒有那麼多的物理意義。 因此,早在一天, 仍然以這一天, 如果你有像商業街的 比如有很多專賣店, 通常在之間的壁 個人商店或店鋪 是在這個意義上的防火牆 他們有特殊的絕緣 這樣,如果一個火 爆發於一店, 它不一定 蔓延到旁邊的商店門口。 計算機世界還具有防火牆 那做不同的事情。 這是什麼一個火球嗎? 是嗎? 聽眾:基本 他們切斷了連接 如果他們碰到的東西 等,例如, 他們有身份證的語句數目。 如果有事, 他們切斷連接。 就像如果這種惡意攻擊 [聽不清]你的電腦,or-- DAVID J.馬蘭:好啊好啊。 是啊,其實你 即使要去遠一點 在描述一些可能是 稱為入侵檢測系統, 或IDS的簡稱,即你 實際上有定義的規則。 而如果你開始看到可疑 行為,試圖制止它。 而防火牆,坦率地說, 在網絡層面, 甚至笨,更簡單 重要的是,一般。 還有的不同類型 對防火牆的世界。 但是,在操作的人 我們談論today--水平 IP和TCP--工作,即使 更直截了當。 舉例來說,如果你是耶魯大學系統 管理員或哈佛系統 管理員或一些大 大哥在一些公司, 而你想阻止所有的 學生或所有員工 從去facebook.com, 所有你需要做的 為確保其所有 網絡流量,首先, 經過的特殊設備。 讓我們把它叫做一個防火牆。 這很好,因為 你可以讓你的路由器 同樣的事情,作為一個防火牆,如果 你把同類軟件 在同一台機器。 所以,如果您的所有學生 或員工交通 正在經歷這個 中央防火牆,如何 我們會從去阻止人 到facebook.com,比如? 會是什麼系統 管理員需要做的? 還有其他人? 讓我們試著去走一走。 聽眾:[聽不清] DAVID J.馬蘭:再說了? 聽眾:它應該只得到 系統內部的追了上來。 所以,只要把Facebook的成127.0.0-- DAVID J.馬蘭:呵呵,有意思。 所以,你其實可以再 破解你的DNS系統。 這的確是一個辦法,你可以做到這一點 因此任何時候,耶魯大學的學生拉 達www.facebook.com,所有 我們今天在這裡的校園 使用的是耶魯大學的DNS服務器, 因為耶魯大學的DHCP服務器給我們 該地址。 所以,是的,你可以種 打破東西或休息公約 通過只是說,是啊, facebook.com的地址是假的, 是1.2.3.4,這是 實際上並不合法。 或者,也許這是278。 無論是在電視節目中一 剛才讓我們沒有人 可實際訪問facebook.com。 因此,假設耶魯這樣做。 假設耶魯想保留 你出facebook.com的。 因此,它們 更改DNS設置 給你一個假的IP 解決了facebook.com。 你對此有何回應? 從技術上講,不是 - 哦,現在 每個人都希望參與。 好了,是啊。 聽眾:您只要輸入 Facebook的實際IP地址。 DAVID J.馬蘭:好,好。 因此,我們可以只鍵入 Facebook的實際IP地址, 就像我與耶魯大學的網站。 並且如果實服務器被配置 以支持,這的確應該工作。 這是一個輕微的疼痛 頸部,因為現在我們 要記住一些隨機 32位的值,但是,可以工作。 還有什麼可以做什麼? 是啊。 聽眾:你可以改變 這些設置[聽不清]。 DAVID J.馬蘭:是的,你可以 甚至改變你的DNS設置。 所以其實這實際上是 非常有用的,坦率地說, 如果你是在機場,或者如果 你是在咖啡館,或者一些 有片狀網絡,從而有時 DNS服務器剛剛停止工作。 因此,即使我偶爾做 這一點,沒有惡意,我 要使用Facebook 的目的,但真的 因為我似乎有一個網絡 連接,但沒有什麼工作。 第一和因此一個 事情我try--你 能做到這一點在Windows too--但 我的Mac上,如果我去網絡。 而我選擇我的Wi-Fi連接。 我去高級。 而我去的DNS。 這是三個 IP地址是耶魯大學 是給我的三個DNS服務器。 其目的則是為我老命 其中之一來解析地址。 但我可以覆蓋 這些做一個加號。 誰都想提出一個DNS服務器? 聽眾:8.8.8.8? DAVID J.馬蘭:哦,你真了不起。 是的,8.8.8.8。 因此,谷歌,祝福他們的心, 買了IP地址8.8.8.8, 那種因為它看起來像Gs的 可能,而且很容易記住。 不過說實在的,現在我已經配置了我 電腦使用谷歌的DNS服務器。 所以,現在如果我去yale.edu, 它仍然去上班。 但我不使用耶魯 DNS服務器了。 如果我去facebook.com, 所有這些看起來跌宕 要通過谷歌。 因此,一方面,我已經巧妙地 繞過本地系統 管理員只需通過 了解如何聯網工作。 但我付出的代價。 沒有什麼是免費的。 有我剛才怎麼了? 有我剛才怎麼了? 你們所有的聰明人誰也 使用8.8.8.8,是因為它很酷 或解決問題,你有什麼 你一直在做這一切的時候? 聽眾:行越遠? DAVID J.馬蘭:也許行駛得更遠, 因為谷歌的可能不太一樣 接近服務器在街上。 但更令人擔憂。 是嗎? 聽眾:所以現在谷歌 知道你要去的地方。 DAVID J.馬蘭:谷歌知道從字面上 每一個網站,你​​正在訪問, 因為你是從字面上 問他們,嘿嘿谷歌, 你可以翻譯yale.edu給我嗎? 或者哎谷歌,你能翻譯 這等網站地址給我 為IP地址。 所以they're--我沒有 知道你在說什麼。 所以,他們知道你的一切。 因此,認識到這是一項免費服務 從他們的角度來看一個目的 為好。 但可以肯定 讓你擺脫困境的。 現在只是為了解決一個其他 問題經常出現 在學生,特別是 出國旅行時 在某些國家,如 中國,那裡的確 中國是其中的長城防火牆 政府有塊相當 有些車輛在不同的層次。 你不必只 在水平塊交通 我們在這裡說,DNS或以其他方式, 你可以在其他級別阻止它。 而事實上,只是為了 要清楚,防火牆 甚至不僅僅是更簡單地操作 具有系統管理員改變 DNS設置。 防火牆,中間用設備 我們和世界其他地區, 可能只是阻止任何傳出 請求的IP地址 對於Facebook上的端口80,或 對於harvard.edu的IP地址, 或的任何IP地址。 因此,防火牆可以看看你的 信封的IP地址,甚至口 號,以及如果耶魯想, 它可能只是停止所有我們的 甚至從使用FTP了,這將 可能是因為這是一件好事 的確是一個不安全的協議。 耶魯甚至可以從阻止我們 訪問網絡的整體 只是阻止所有端口 在80號交通,以及。 因此,可能是另一種方法。 而且還有更炫的方式為好。 但是,當你旅行 在國外,例如, 或者如果你是在網吧, 或者,如果你任何地方有 堵塞或威脅,你能做什麼呢? 好吧,如果你走在街上 星巴克或者您在機場旅行, 一般就可以搭上 在無線網絡選擇 狀,拉瓜迪亞機場的Wi-Fi無線JFK無線網絡連接, 或者洛根機場的無線網絡連接,或什麼不是。 它不是加密的,對不對? 有沒有掛鎖圖標。 而你可能不提示 用戶名和密碼。 你只是提示 有一些愚蠢的形式 說喜歡,我同意用這只 30分鐘,或者類似的東西。 但有之間沒有加密 你和星巴克的Wi-Fi接入 至此,事情 牆壁上的天線。 有你們之間不加密 和機場的Wi-Fi信號。 因此從技術上講,這令人毛骨悚然的人 坐在你幾個座椅放倒 在星巴克或機場 可能是,用合適的軟件, 看著所有的無線技術 交通對他或她的筆記本電腦。 這並不難 把筆記本電腦變成什麼 所謂的混雜模式, 它顧名思義, 意味著你是那種 寬鬆的規則。 它只是監聽不僅 交通的意思吧, 也給其他人的 範圍內的交通。 和由該邏輯,它可以看到 所有的信息包 您收到。 並且如果這些分組 是不加密的,你 是把自己的風險 您的電子郵件,或你的郵件, 或其他任何東西越來越暴露。 所以,即使你不出國 但你只是在星巴克, 或者你對一個素不相識的人的 無線網絡連接未加密, 一個VPN是一件好事。 VPN是虛擬專用網絡。 它是一個技術 這可以讓你有 加密,加擾connection-- 比撒或Vigenere--票友 你的筆記本電腦,或者在 您的手機或您的桌面, 和其他地方一樣,一台服務器 在耶魯大學的校園服務器。 如果你旅行abroad-- 而事實上,你會發現這家酒店 所有的時間。 特別是作為有志 計算機科學家 在那裡你們可能,為怪才, 要使用的端口不是80, 和端口比443--其他與 實際上對於問題組六, 我們要多玩 只是choice--大量的TCP端口 酒店和商店,以及網絡 只是阻止那種東西 因為他們有點天真, 或無知,只是覺得 沒有人需要的其他端口。 所以通過使用VPN可以嗎 規避這些類型的限制, 因為什麼是VPN的作用是 它可以讓你在星巴克, 或機場,或在世界任何地方 到encryptedly連接到yale.edu, 一些服務器在這裡的校園, 然後隧道,可以這麼說, 所有的流量來自哪裡 你是通過耶魯大學,在這一點 它然後進到其最終目的地。 但是,通過加密,你 避免任何這些種類的 過濾器或徵收的 一些地方的網絡已經實行。 而且再加上,你有 更強大的防禦 對令人毛骨悚然的人 你身邊誰可能 可以嘗試在你的流量裡聽到。 有可能仍然是令人毛骨悚然的人在這裡 回到家裡,在耶魯大學看你的流量 因為它出來在VPN的,但至少 你推的威脅越來越遠。 而且它在這裡也一樣,一個權衡。 現在當然,如果你是在 中國甚至在網吧, 而你所有的隧道 你的流量通過耶魯大學, 什麼樣的價格是我們付出吧? 聽眾:速度。 DAVID J.馬蘭:速度,對不對? 我們有了一些數學 或者一些花哨參與 在實際的加密。 可能有數以千計的 距離或數千英里 你和耶魯之間的電纜英里。 而且它的,如果你真壞 在中國,例如, 你想參觀 在中國的網站。 所以你的數據將 美國,再回到中國 只是因為你是加密 它通過這條隧道。 但它解決了技術 和一致好評工作的問題。 但是這一切都歸結到 這些非常簡單的想法。 和哈佛,對於那些好奇的,有 一個在這裡以及在vpn.harvard.edu, 它的操作就像耶魯大學。 因此,與所有的說,為什麼 這是整個網絡有用嗎? 而且我們可以開始用它做什麼? 好吧,讓我們現在這樣更真實。 這是首字母縮寫 與我們大多數人 可能是超familiar-- HTTP-- 它代表超文本傳輸 協議。 而這也就意味著,這是 語言,協議 ,Web瀏覽器和Web服務器說話。 在HTTP的P是確實的協議。 和協議僅僅是 一組約定。 我們已經看到IP--互聯網protocol-- TCP--傳輸控制 protocol--和HTTP。 但是,這是什麼愚蠢的 協議的事情? 這只是一組約定。 所以,如果我幾分落魄 在這裡,我想向你致意。 我會說你好,我的名字是大衛。 聽眾:路易斯。 DAVID J.馬蘭:路易斯。 我們有這個愚蠢的人 會議在這裡握手。 但是,這是一個協議,對不對? 我伸出我的手。 路易斯伸出了手。 我們這樣做。 然後完成,完成。 而這也正是同樣的 一台計算機的協議精神 其中,如HTTP,會發生什麼情況是這樣的。 如果你在計算機 離開這裡,並有一些網站 服務器出現在右側。 和左側的計算機想 請該服務器的信息。 這是一種雙向操作。 左側的瀏覽器 要求對一些網頁。 右邊的服務器 回應一些網頁。 我們會看到什麼樣的形式 那些走在短短的時刻。 而事實證明,那些computers-- 該瀏覽器和服務器,或客戶端 和服務器,可以這麼說。 就像一個餐館裡 客戶想要的東西, 和服務器帶來 他或她的something--得到 是一種最重要的詞的。 字面上內部包絡的那 我的瀏覽器發送從這裡到網絡 服務器是搭話。 就像我想今天的新聞。 我想我的 Facebook的新聞提要,還是我 想從服務器獲取一些頁面。 具體而言,這是什麼 那個信封裡面的事情。 所以,我,科爾,本質 科爾發送一個響應。 如果你想像科爾居然 想里克阿斯特利的圖片, 他可能會送我一個要求 在精神上與此類似。 裡面他的信封給我,哪裡 我現在扮演谷歌的角色, 將是一個要求,即從字面上 說,獲得,然後向前slash-- 你可能已經看到 前鋒前斜線的網址。 這只是意味著給我默認 頁,默認瑞克阿斯特利 圖像在這種情況下。 順便說一句,科爾說的語言 HTTP版本1.1,或協議1.1。 而事實證明有 一個舊版本1.0。 但電腦傾向於使用1.1​​。 第二行是一個有用的東西, 會回來也許用不了多久。 但它只是一個規範給我, 收件人,我想要的東西 是www.google.com。 因為它是非常有可能的 這些天,幾十個, 數百個網站與 不同的域名全部 住在同一個服務器上。 這不會是真的 與其說是在谷歌的情況。 但在一個較小的公司的 情況下,可能絕對是。 所以,科爾是正中下懷 把在信封, 順便說一下,若​​這達到 端口80上的IP地址, 只是確保你知道 我想www.google.com,不 其他一些隨機的網站 上相同的服務器。 我再與回應科爾, 在一天結束時,是一個圖像。 但是上面那張照片 封套內 其實就是一些文字,在這裡我說好。 我說HTTP 1.1版還。 200。 這是一個狀態代碼, 我們大多數人可能 從來沒有見過,因為這意味著確定。 這是很好的,因為它 意味著我成功響應 科爾的請求。 什麼數字有你可能 可見,並非確定在網絡上? 聽眾:404。 DAVID J.馬蘭:404--文件找不到。 因此,事實上,任何時候你見過 那些煩人的文件的一個不 發現錯誤,因為 網頁是死的, 還是因為你輸入錯誤 一個網址,那只是意味著 那個小信封,你的 從服務器接收的計算機 載有消息HTTP 1.1,404--沒有發現。 該文件或要求 你讓未找到。 此外,包絡線的內側 通常是這樣的線,內容類型。 有時,它的HTML, 這是我們很快就會看到。 有時,它是一個JPEG。 有時,它是一個GIF。 有時它是一個電影文件, 音頻文件,任何數目的東西。 所以包絡的內僅僅是一個 小提示,我所接受。 還有其他的狀態碼也一樣,有些 其中,我們將探討P中組六, 你會偶然發現 P中設置七個/或八。 但是,一些在這裡,像404,我們已經看到。 故宮,403,意味著像 權限是錯誤的, 就像你有那種不 正確配置它。 301和302,我們很少看到在視覺上。 但他們的意思重定向。 任何你去一次 URL,並且您已經奇蹟般地 送別處,這是 因為瀏覽器發回 含信封 數301或302, 並且,它希望的網址 您的瀏覽器去代替。 500是可怕的。 你會看到它沒多久,大概 P中組六或P設置七人。 它通常是指 有一個在你的代碼中一些bug, 因為我們確實會寫 來響應Web請求的代碼。 而你剛剛得到了一些 在邏輯或語法錯誤, 而服務器無法處理它。 因此,讓我們看看我們如何能夠利用現在和 理解這些要求如下。 如果我去,讓我們說,google.com。 讓我去www.google.com。 而對於論證的緣故,讓我們 看,我需要去設置在這裡。 我會去搜索設置。 而谷歌已經越來越討厭 功能,但實用的功能。 因此谷歌有這個東西就像瞬間 結果,你開始打字, 自動 事情開始出現。 而這一切優秀 並在技術上有用的, 我們就會明白 過不了多久是如何工作的。 但現在,我轉向 關閉立竿見影的效果, 因為我希望我的瀏覽器 這類工作的老學校,所以 我可以看到這是怎麼回事。 所以,現在我回到這裡。 我要尋找的貓。 同時注意我看到一些建議, 一些非常良性的建議 令人欣慰的。 而現在,如果我敲回車, 讓我們看看會發生什麼。 因此,有一些貓。 和頂部命中是在維基百科。 但是,今天我們關心 這項技術在這裡。 所以,網址我有哪些 被送往會在這裡。 而有一些東西我 真的不明白。 所以我要繼續前進,因為 那種我知道谷歌是如何工作的, 而我要提煉這個 網址到最簡單的形式。 現在我要再次按Enter鍵。 ,它仍然有效。 我有結果的所有關於貓的頁面。 但是請注意我的網址的簡單性。 原來,這是怎麼了 多的幅作品。 該網站僅僅是一個整體 一堆電腦 運行軟件,需要投入。 它沒有得到字符串形式的輸​​入。 這不是命令行 就像我們的論點已經習慣了。 他們採取的輸入,這些Web服務器, 通過網址的方式經常。 而且任何時候你已經 搜索的東西, 您登錄到任何時間 Facebook的,你任何時候 有做過什麼互動 網頁,你在做什麼 有效地提交表單,所以 以speak--文本框,複選框, 小圓圈,和諸如此類的東西是派 從你的服務器的信息。 而事實證明,網絡 服務器知道看那個網址 並解析它,喜歡看它的性格 通過角色尋找什麼 一個問號有趣。 因為一個問號後, 事實證明,要來 一串鍵值對。 我的意思是關鍵=值。 然後,如果有multiple--可能 &字符,一些其他的鍵=值, 符號,鍵=值。 那種所以,我們已經看到了這個想法 之前在這裡的東西有一個值。 這只是一個新來的格式。 我只知道,按照慣例, 谷歌使用q表示查詢。 然後,如果我想尋找的狗,我 可以手動搜索犬之類的。 然後,我顯然得到 某些搜索結果中涉及的狗。 所以,這似乎是有趣。 事實上,這是怎麼回事 引擎蓋下是這樣的。 讓我做到這一點。 這是A--讓我們來看看。 讓我回去過 這裡只是一瞬間。 我們會看到有其他 途徑提交的信息。 所以,如果我登錄到Facebook或 Gmail或任何其他受歡迎的網站, 這似乎有點壞,如果不管我輸入 在搜索框中結束了在我的網址, 在瀏覽器的地址欄。 為什麼呢? 這是為什麼輕度令人擔憂? 是嗎? 聽眾:在鍵入密碼。 DAVID J.馬蘭:是的。 那麼,如果我所 鍵入的是我的密碼? 那種我不希望它如此明顯 可見在瀏覽器的地址欄。 一,因為我討厭室友 往往看在我的肩膀, 他或她現在可以看到,即使 那是當我鍵入它的子彈, 小圓圈。 現在,它在我的地址欄。 此外,什麼是真正的關於東西 你會在地址欄中鍵入。 聽眾:[聽不清] DAVID J.馬蘭:那是什麼? 聽眾:它被發送出去。 DAVID J.馬蘭:它被發送出去。 而且,它就會記住。 因為下一次 您鍵入的東西在那裡, 往往自動完成,並 記得你以前已經輸入。 所以有這個名副其實的歷史 你的兄弟姐妹,或者你的室友, 或任何人可以走過來 幾乎看到每一個網站 您訪問,因為它是 登錄該地址欄。 此外,假設你想 將照片上傳到Facebook。 如何在世界上你 打算把在URL中的照片? 那麼事實證明,你可以在某些做到這一點 的方式,但它肯定是不明顯的。 所以有這個其他方式 在一個信封發送信息, 不通過GET,而是通過 所謂POST。 和在理論上,它看起來 幾乎相同。 取而代之的是搭話,說POST, 然後同樣的格式。 例如,這是 截圖什麼 它可能看起來像如果我嘗試記錄 進入Facebook的,送我到一個文件 所謂的login.php,這實際上是 還是這一天命名為這樣。 這是相同的文件名標誌 很多年前,給了它。 這是他在通過PHP編寫的程序 用戶可以登錄到該網站。 但是,你需要發送 一些額外的投入。 而非後的打算 文件名像以前那樣與cats-- Q = cats--它可以降低在請求, 信封如果你更深的內部 會在哪裡沒有人能看到它, 並且它並沒有結束 在用戶的瀏覽器桿,並且因此 不記得人們窺探 各地。 所以,在這裡我的電子郵件地址, 我的假密碼居然去了。 如果Facebook正在使用 不是HTTP,HTTPS,但是, 這將所有被加密, 炒,ALA凱撒或的Vigenere, 但更fancily,使任何人 實際上可以看到這個請求。 因此事實上,任何時候你有 以https開頭的URL, 它只是意味著它的加密。 但在一天結束時,什麼 事實上,這些信封裡面? 這是超級低的水平。 幸運的是,我們不是 將一定有 每次去這麼低的水平 開始寫有趣的軟件。 我們可以開始採取 的每週一的想法 通過五,假設有 現在這種基礎設施 讓我們編寫軟件 ,工作在網絡上, 而這將讓我們 在接下來的一周開始 在找什麼東西稱為HTML。 這是東西,甚至是 信封內更深, 但它是我們的東西 要開始寫作。 而且它的東西更多 有趣的是,我們 會寫程序, 啟動自動生成 使我們的網站不硬編碼, 但需要輸入和產生輸出。 這也許是最簡單的網頁 頁面,您可以改變世界。 我的確可以打開 一些愚蠢的類似文本編輯 在我的Mac,它只是給了我 一個簡單的文本窗口這樣。 PC用戶有Notepad.ext, 這是在精神上非常相似。 我可以從字面上型 出this-- DOCTYPE HTML, 這看起來有點神秘。 但是,我們會回來的。 HTML,這些怪異 尖括號和斜線, 這裡面現在我要說 這裡來我的網頁的頭。 裡面的,我只是 知道了,你很快就會知道, 我可以把我的網頁標題。 然後下面的 網頁的頭 要去所謂 體的網頁。 而我只是縮進只 像C到那種不斷 東西很好讀文體。 而現在我要將此保存為 在我的桌面上,名為hello.html的文件。 而且我要告訴它,是的,使用HTML。 不要更改為.txt,甚至 雖然這一切是一個文本文件, 就像一個C程序 寫入一個文本編輯器。 雖然未在CS50 IDE在 那一刻,就在這裡在我的Mac。 如果我現在去我的桌面, 你會看到hello.html的。 如果我雙擊此, 它會打開瀏覽器。 並且,即使該文件 恰巧住我的桌面上, 這也許是最簡單 網頁我可以做。 注意的標題 標籤的方式向上頂是世界你好。 該網頁的體 確實是世界你好。 和所有我做得到 這一點是實現, 或者是寫一個新的語言,稱為HTML。 這是不是一種編程 如C語言有 不會成為條件, 和循環和功能。 它是一種標記語言,其中 如果你只是告訴接收 計劃你要做什麼。 這意味著哎瀏覽器, 這裡談到的HTML頁面。 嘿,瀏覽器,這裡來 我的網頁的頭。 嘿,瀏覽器,這裡來 我的網頁的身體。 嘿瀏覽器,這就是它的身體。 這就是它的HTML頁面。 並與簡單的定義 獨自一人,我們很快就會看到的那一個, 我們可以代表這是一棵樹。 但後​​來更多。 因此,這將全部互連 我們最近的數據結構。 二,我們將介紹這個愚蠢的笑話。 這是一個實際的紋身 這傢伙對他的脖子。 這可能是有趣的第一個星期 2,此後,也許不是那麼多。 但HTML和甚至在網絡 我只是做網頁,超級頭腦 麻木disappointing-- 只是說你好世界 在白色背景上的黑色文本。 當然,我們可以做的更好。 我們將通過引入這樣做 所謂的CSS另一種語言。 這也並不是一個語言編程 沒有循環和條件,或循環, 但實際上,只是語法由 我們可以說,讓這個文本大。 使這個文字小。 右對齊。 左對齊。 讓粉紅色。 讓它紫色。 讓它藍色。 或做任何數量的 其他的視覺效果。 因此,我們將看到如何啟動風格化 網頁讓它們看上去的方式 接近我們想要的。 最後,我們確實毀了 也許很多電視和電影給你。 我以為我們會在這裡結束 我們的最後幾秒鐘 在最後的剪輯,告訴您 黑客是如何在互聯網上的作品。 如果我們能調暗 燈最後一次。 [視頻回放] -No方式。 我越來越砍死。 -Okorsky? -No--沒有,這是主要的。 他們已經通過已經燒毀 在NCIS公共防火牆。 - 嗯,隔離節點和轉儲 他們在路由器的另一側。 -I'm嘗試。 它的移動速度過快。 哦,這是不好的。 他們使用我們的連接 [聽不清]這個數據庫。 斷絕了。 - 我不能。 這是一個攻擊點。 他或她只是 我的機器後繼續前進。 - 它是不可能的。 有國防部級礦山加密。 這將需要幾個月的時間get-- - 嘿,那是什麼? 視頻遊戲? - 不托尼,我們就要砍死。 - 如果他們在Abby的計算機上得到的, 整個NCIS網絡是下一個。 - 我不能阻止他。 做一些麥基。 -I've從來沒有見過這樣的代碼。 哦。 -where是它去了? 艾比? - 我沒有做任何事情。 我還以為你做到了。 -No。 -I做到了。 [結束播放] DAVID J.馬蘭:最好 部分是兩個人打字 鍵盤同時上。 所以這是它為CS50。 我們將堅持圍繞辦公時間。 我們會看到你下一次。 [音樂播放 - “宋飛正傳主題”] 這是CS50。 我並不想成為一個海盜。 揚聲器2:Yarr大衛。 這是一個很好的雙峰你穿。 地段變幅在吞雲吐霧。