1 00:00:00,000 --> 00:00:03,395 >> [MUSIC CHƠI] 2 00:00:03,395 --> 00:00:13,100 3 00:00:13,100 --> 00:00:15,570 >> DAVID J. Malan: Vì vậy, tôi chỉ muốn làm dịu bớt để. 4 00:00:15,570 --> 00:00:18,260 Tôi sẽ echo chính xác những gì Scaz nói về bộ nhớ chế. 5 00:00:18,260 --> 00:00:20,350 CS50 đã được khoảng khoảng 20 năm tại Harvard. 6 00:00:20,350 --> 00:00:22,280 Và thực tế là, từ những người cao niên trên xuống, 7 00:00:22,280 --> 00:00:25,045 hàng năm có sự bảo đảm mà các tân sinh viên, các sophomores, 8 00:00:25,045 --> 00:00:26,870 và các đàn em và còn những người cao niên dùng 9 00:00:26,870 --> 00:00:30,360 CS50, rằng bạn sẽ làm tốt. 10 00:00:30,360 --> 00:00:32,680 >> Thực tế là, sinh viên không thất bại CS50. 11 00:00:32,680 --> 00:00:35,740 Trong thực tế, trong những trường hợp hiếm hoi nơi mà chúng ta Es hay Fs, 12 00:00:35,740 --> 00:00:37,990 nó thực sự được vì tình tiết giảm nhẹ, 13 00:00:37,990 --> 00:00:39,840 cho dù đó là y tế hoặc cá nhân. 14 00:00:39,840 --> 00:00:41,830 Ds là cực kỳ hiếm gặp là tốt. 15 00:00:41,830 --> 00:00:45,270 Và tôi có thể nói thoải mái, mặc dù chúng tôi thường không tiết lộ số liệu thống kê, 16 00:00:45,270 --> 00:00:48,450 nhưng cho rằng không có bộ nhớ chế ở đây nào, 17 00:00:48,450 --> 00:00:51,810 đa số học sinh trong CS50 không kết thúc nhận được một loạt các hạng. 18 00:00:51,810 --> 00:00:54,720 Một phần đáng kể kết thúc kết thúc trong phạm vi B quá. 19 00:00:54,720 --> 00:00:57,490 >> Vì vậy, mặc dù bạn có thể có tương đương trong threes tâm trí của bạn 20 00:00:57,490 --> 00:01:00,690 với 60% và do đó Ds, hoặc Cs, hoặc tương tự, 21 00:01:00,690 --> 00:01:02,530 nó thực sự không thẳng hàng với thực tế. 22 00:01:02,530 --> 00:01:05,238 Trong thực tế, chúng tôi có nghĩa là chính xác những gì chúng tôi nói ở phần đầu của thuật ngữ 23 00:01:05,238 --> 00:01:08,380 mà rất nhiều sinh viên trong CS50, cả hai ở Cambridge và ở đây tại New Haven, 24 00:01:08,380 --> 00:01:10,220 không bao giờ lấy một khóa học CS trước. 25 00:01:10,220 --> 00:01:13,090 Và những gì thực sự quan trọng cuối cùng là nơi mà bạn kết thúc trong tuần 12 26 00:01:13,090 --> 00:01:15,882 so với chính mình trong tuần zero. 27 00:01:15,882 --> 00:01:17,590 Bây giờ chúng tôi có nhiều theo dõi trong khóa học 28 00:01:17,590 --> 00:01:20,548 như bạn know-- ít thoải mái, hơn thoải mái, một nơi nào đó ở giữa. 29 00:01:20,548 --> 00:01:23,790 Và quả thực, khi bạn nhận được thống kê về đố của tuần này, 30 00:01:23,790 --> 00:01:27,460 đừng nản lòng nếu, đặc biệt là nếu bạn cảm thấy rằng bạn xung quanh giá trị trung bình 31 00:01:27,460 --> 00:01:30,780 hoặc dưới trung bình hoặc trung bình, đặc biệt là kể từ khi chúng tôi không nhất thiết phải 32 00:01:30,780 --> 00:01:33,560 lấy tất cả những nhân khẩu học vào tài khoản giữa học kỳ 33 00:01:33,560 --> 00:01:35,000 với các số liệu thống kê phân loại. 34 00:01:35,000 --> 00:01:37,250 >> Nói cách khác, chúng ta biết thống kê hàng năm 35 00:01:37,250 --> 00:01:39,570 mà học sinh ít thoải mái, làm một ít tồi tệ hơn vào các bài kiểm tra. 36 00:01:39,570 --> 00:01:42,050 Và những sinh viên được thoải mái hơn làm tốt hơn một chút về các bài kiểm tra. 37 00:01:42,050 --> 00:01:45,430 Nhưng mỗi lời hứa đó trong các giáo trình và cũng trong tuần đầu tiên của bài giảng, 38 00:01:45,430 --> 00:01:46,880 chúng tôi mất tất cả mà vào tài khoản. 39 00:01:46,880 --> 00:01:48,900 >> Thật vậy, ở những năm cuối, những gì chúng ta kết thúc làm 40 00:01:48,900 --> 00:01:52,154 được bình thường hóa tất cả các điểm trên phần, cả ở Cambridge 41 00:01:52,154 --> 00:01:54,570 và bây giờ đây ở New Haven, có nghĩa là có tính 42 00:01:54,570 --> 00:01:57,310 các phong cách khác nhau, sự khác nhau sự khắc nghiệt, các loại khác nhau 43 00:01:57,310 --> 00:02:00,722 của các cá tính rằng cá nhân HTKT có ở đây và ở Cambridge 44 00:02:00,722 --> 00:02:02,930 vì vậy mà bạn có thể chưa biết một bất lợi ngay cả khi bạn chỉ 45 00:02:02,930 --> 00:02:06,120 thường bị đã có một TF hoặc TA ai đã từng một chút khó khăn hơn về bạn 46 00:02:06,120 --> 00:02:07,170 trong tâm trí của bạn. 47 00:02:07,170 --> 00:02:10,139 >> Hai, chúng tôi đưa vào tài khoản thoải mái mức độ và nền tảng thực tế, hoặc thiếu 48 00:02:10,139 --> 00:02:13,310 của chúng, khi chụp điểm bài kiểm tra vào tài khoản. 49 00:02:13,310 --> 00:02:14,830 Vì vậy, hai là yếu tố trong. 50 00:02:14,830 --> 00:02:17,142 Và vào cuối ngày, bởi vì nó luôn luôn như vậy 51 00:02:17,142 --> 00:02:19,100 rằng một học sinh đã kết thúc trong một phần ít thoải mái 52 00:02:19,100 --> 00:02:24,250 khi anh ta thực sự thuộc về trong một ở giữa hoặc ngược lại, 53 00:02:24,250 --> 00:02:26,230 tất cả mọi thứ là như vậy cực kỳ cá nhân. 54 00:02:26,230 --> 00:02:29,560 Thật vậy, bạn sẽ nhận được khó chịu với chúng tôi tại Khi hết thời hạn, khi chúng tôi đến trễ 55 00:02:29,560 --> 00:02:32,630 gửi điểm của bạn bởi vì với Scaz, và Jason, và Andy, và tôi, 56 00:02:32,630 --> 00:02:35,430 và các đội sẽ phải làm ở Cambridge là nghĩa đen 57 00:02:35,430 --> 00:02:38,480 có hàng trăm email lại và ra với tất cả trăm của các khóa học 58 00:02:38,480 --> 00:02:41,279 Hỗ trợ kỹ thuật, ở đây và ở Cambridge, hỏi họ những gì 59 00:02:41,279 --> 00:02:44,070 họ nghĩ rằng tất cả các học sinh của mình dựa trên một dự thảo của lớp. 60 00:02:44,070 --> 00:02:46,230 Và tất cả mọi thứ ở đó sau khi là cực kỳ cá nhân. 61 00:02:46,230 --> 00:02:49,230 Vì vậy, đến mức chúng tôi biết đến bạn trong giờ hành chính, các phần, và nhiều hơn nữa, 62 00:02:49,230 --> 00:02:51,350 tất cả điều đó quá được đưa vào tài khoản. 63 00:02:51,350 --> 00:02:55,210 >> Vì vậy, mặc dù chúng ta có xu hướng sử dụng năm này thang điểm, xin vui lòng, tách mình 64 00:02:55,210 --> 00:02:57,492 từ giả định rằng một ba thực sự là một 60%. 65 00:02:57,492 --> 00:02:58,450 Nó có nghĩa là để được tốt. 66 00:02:58,450 --> 00:03:01,360 Và các trợ giảng được tính theo đầu hạn 67 00:03:01,360 --> 00:03:04,050 để cố gắng giữ điểm số trong twos, và ba, 68 00:03:04,050 --> 00:03:06,590 và bốn chân dao động để chúng tôi thực sự có chỗ để phát triển. 69 00:03:06,590 --> 00:03:08,610 Và chúng tôi thực sự có một thước đo mà 70 00:03:08,610 --> 00:03:11,086 chúng tôi có thể cung cấp cho bạn hữu ích thông tin phản hồi như thế nào bạn đang làm 71 00:03:11,086 --> 00:03:12,210 và làm thế nào bạn đang tiến bộ. 72 00:03:12,210 --> 00:03:15,130 Vì vậy, xin đừng lấy đó để trái tim. 73 00:03:15,130 --> 00:03:20,565 >> Có bất kỳ câu hỏi tôi có thể giúp giải quyết hoặc quan tâm tôi có thể giúp làm dịu bớt? 74 00:03:20,565 --> 00:03:23,800 Hoặc những lời hứa tôi có thể cố gắng giữ? 75 00:03:23,800 --> 00:03:24,690 Không có? 76 00:03:24,690 --> 00:03:25,330 ĐƯỢC. 77 00:03:25,330 --> 00:03:26,010 >> Được rồi. 78 00:03:26,010 --> 00:03:28,970 Vì vậy, với những gì đã nói, đây là CS50. 79 00:03:28,970 --> 00:03:31,670 Đây là khởi đầu của tuần sáu ở đây ở New Haven. 80 00:03:31,670 --> 00:03:33,820 Hãy bắt đầu với một tóm tắt mờ của đèn 81 00:03:33,820 --> 00:03:37,439 để chuẩn bị cho những nội dung của ngày hôm nay. 82 00:03:37,439 --> 00:03:38,105 [VIDEO PLAYBACK] 83 00:03:38,105 --> 00:03:44,045 [MUSIC CHƠI] 84 00:03:44,045 --> 00:03:46,600 -Anh Đến với một tin nhắn. 85 00:03:46,600 --> 00:03:50,300 86 00:03:50,300 --> 00:03:52,900 Với một giao thức tất cả của riêng mình. 87 00:03:52,900 --> 00:04:06,417 88 00:04:06,417 --> 00:04:13,090 Ông đã đến một thế giới của bức tường lửa mát, router không quan tâm, và nguy cơ còn tồi tệ hơn 89 00:04:13,090 --> 00:04:16,079 rằng cái chết. 90 00:04:16,079 --> 00:04:21,079 Ông nhanh chóng, anh ta mạnh, ông là TCP / IP. 91 00:04:21,079 --> 00:04:23,120 Và ông đã nhận địa chỉ của bạn. 92 00:04:23,120 --> 00:04:25,820 93 00:04:25,820 --> 00:04:29,268 Warriors of the net. 94 00:04:29,268 --> 00:04:29,917 >> [END PLAYBACK] 95 00:04:29,917 --> 00:04:31,000 DAVID J. Malan: Tất cả các quyền. 96 00:04:31,000 --> 00:04:32,030 Đây là CS50. 97 00:04:32,030 --> 00:04:33,820 Đây là khởi đầu của tuần sáu. 98 00:04:33,820 --> 00:04:37,270 Và đây là khởi đầu của cái nhìn của chúng tôi tại các chương trình internet và web. 99 00:04:37,270 --> 00:04:41,220 Và, có lẽ sôi nổi nhất, hôm nay đánh dấu sự chuyển tiếp cho chúng tôi 100 00:04:41,220 --> 00:04:43,780 từ dòng lệnh của chúng tôi thế giới của C lên web 101 00:04:43,780 --> 00:04:47,020 dựa thế giới của PHP và HTML và CSS, và SQL, và JavaScript, 102 00:04:47,020 --> 00:04:49,800 và nhiều hơn nữa mà là trên đường chân trời. 103 00:04:49,800 --> 00:04:53,390 >> Nhưng trước tiên, nó đã gây chú ý của chúng tôi trong bước đi trên khuôn viên trường mà ở đó 104 00:04:53,390 --> 00:04:57,914 là một phòng tắm nhất định ở đây tại New Haven gọi là phòng Harvard, mà 105 00:04:57,914 --> 00:04:59,080 là một chút màu xám ra ở đây. 106 00:04:59,080 --> 00:05:03,830 Nhưng thực sự, một người nào đó đã đến thời gian và chi phí khắc trong phòng Harvard 107 00:05:03,830 --> 00:05:05,700 trên đây căn phòng này. 108 00:05:05,700 --> 00:05:07,790 Cảm ơn bạn vì điều đó. 109 00:05:07,790 --> 00:05:11,020 Tôi không thể nói rằng chúng ta có một tương tự ở Cambridge nào, 110 00:05:11,020 --> 00:05:14,060 nhưng tôi nghĩ rằng chúng tôi có một dự án nhỏ cho mình bây giờ khi chúng tôi quay trở lại. 111 00:05:14,060 --> 00:05:15,890 Vì vậy, cảm ơn bạn vì điều đó. 112 00:05:15,890 --> 00:05:18,340 >> Vì vậy, một cách nhanh chóng nhìn lại nơi chúng tôi rời đi tuần trước 113 00:05:18,340 --> 00:05:21,010 và nơi bạn đang đi này đến tuần với những vấn đề thiết lập năm. 114 00:05:21,010 --> 00:05:24,350 Vì vậy, trong vấn đề thiết lập năm, bạn sẽ được thách thức để thực hiện một kiểm tra chính tả. 115 00:05:24,350 --> 00:05:26,630 Và để làm được điều đó, bạn sẽ có trao một văn bản khá lớn 116 00:05:26,630 --> 00:05:29,160 tập tin với như 140.000 từ tiếng Anh. 117 00:05:29,160 --> 00:05:32,610 Và bạn sẽ được thử thách để quyết định trên một cấu trúc dữ liệu mà bạn 118 00:05:32,610 --> 00:05:35,340 muốn tải tất cả những lời nói vào bộ nhớ, và vào bộ nhớ RAM, 119 00:05:35,340 --> 00:05:38,470 và sau đó thực hiện một số chức năng, một trong số đó là có được kiểm tra. 120 00:05:38,470 --> 00:05:41,555 Nhờ đó mà khi vượt qua một đối số, một từ, kiểm tra chức năng của bạn 121 00:05:41,555 --> 00:05:43,430 chỉ đơn giản là sẽ có nói đúng hay sai, 122 00:05:43,430 --> 00:05:44,990 đây là một từ trong từ điển. 123 00:05:44,990 --> 00:05:47,110 >> Nhưng bạn sẽ có một số thiết kế theo ý mình và thách thức 124 00:05:47,110 --> 00:05:48,568 khi nói đến việc thực hiện điều đó. 125 00:05:48,568 --> 00:05:51,250 Trong việc thực hiện đơn giản, bạn có thể chắc chắn 126 00:05:51,250 --> 00:05:53,960 thực hiện một kiểm tra chính tả trong từ điển cơ bản 127 00:05:53,960 --> 00:05:55,380 với những loại cấu trúc dữ liệu? 128 00:05:55,380 --> 00:05:57,796 Bạn chỉ cần lưu trữ một toàn bộ bó dây trong bộ nhớ? 129 00:05:57,796 --> 00:06:00,074 Đường đi để trả lời là gì từ tuần thứ hai có lẽ? 130 00:06:00,074 --> 00:06:00,740 Đung Array. 131 00:06:00,740 --> 00:06:01,500 DAVID J. Malan: Bạn có thể sử dụng một mảng. 132 00:06:01,500 --> 00:06:02,750 Và đó không phải là tất cả những gì xấu. 133 00:06:02,750 --> 00:06:05,631 Nhưng bạn không nhất thiết phải biết trước cách lớn của một mảng 134 00:06:05,631 --> 00:06:08,630 bạn sẽ cần, nếu bạn không biết các tập tin cần thiết trước. 135 00:06:08,630 --> 00:06:10,110 Vì vậy, bạn sẽ phải sử dụng một ít thủ đoạn gian trá 136 00:06:10,110 --> 00:06:11,970 như malloc, giống như chúng ta bắt đầu sử dụng. 137 00:06:11,970 --> 00:06:13,977 Hoặc chúng ta có thể giải quyết rằng mối quan tâm bằng cách sử dụng 138 00:06:13,977 --> 00:06:16,810 những cấu trúc dữ liệu khác đó là được sắp xếp của một tăng cường biên 139 00:06:16,810 --> 00:06:17,894 trên một mảng? 140 00:06:17,894 --> 00:06:18,810 Đung danh sách liên kết. 141 00:06:18,810 --> 00:06:21,270 DAVID J. Malan: Giống như một liên kết danh sách, trong đó chúng tôi nhận được một số tính năng động. 142 00:06:21,270 --> 00:06:22,686 Nhưng có một chi phí ít hơn. 143 00:06:22,686 --> 00:06:24,150 Chúng tôi có con trỏ để duy trì. 144 00:06:24,150 --> 00:06:25,890 Và bạn đã chưa được mã hóa này lên, nhưng có chắc chắn 145 00:06:25,890 --> 00:06:28,473 để được một ít phức tạp hơn hơn là chỉ sử dụng dấu ngoặc vuông 146 00:06:28,473 --> 00:06:30,080 và nhảy xung quanh một mảng. 147 00:06:30,080 --> 00:06:33,340 >> Nhưng thời gian chạy của một mảng, nếu bạn đang tìm kiếm cho một từ, 148 00:06:33,340 --> 00:06:34,179 có thể được đăng nhập của n. 149 00:06:34,179 --> 00:06:35,970 Nhưng một lần nữa, nó có thể là một chút không tầm thường 150 00:06:35,970 --> 00:06:38,734 để xây dựng mảng mà không biết kích thước trước. 151 00:06:38,734 --> 00:06:41,150 Một danh sách liên kết, mặc dù nếu bạn chỉ cần lưu trữ một bó dây 152 00:06:41,150 --> 00:06:43,300 trong một danh sách liên kết, những gì là giới hạn trên của bạn 153 00:06:43,300 --> 00:06:46,920 về thời gian chạy sẽ được để tìm kiếm cho hoặc kiểm tra một từ trong danh sách đó? 154 00:06:46,920 --> 00:06:47,700 >> Đung n. 155 00:06:47,700 --> 00:06:50,575 >> DAVID J. Malan: Yeah, O lớn của n hay tuyến tính bởi vì trong trường hợp xấu nhất, 156 00:06:50,575 --> 00:06:52,640 từ đó như một từ Z tất cả các cách ở cuối. 157 00:06:52,640 --> 00:06:55,350 Và vì một danh sách liên kết, vì những mũi tên theo mặc định, 158 00:06:55,350 --> 00:06:58,280 trong một danh sách đơn lẻ liên kết, chỉ đi từ hướng này sang người kia, 159 00:06:58,280 --> 00:06:59,590 bạn không thể nhảy xung quanh. 160 00:06:59,590 --> 00:07:01,160 Bạn phải làm theo tất cả chúng. 161 00:07:01,160 --> 00:07:05,505 >> Vì vậy, chúng tôi đề xuất vào cuối tuần trước, tuần năm, đó có những cách tốt hơn. 162 00:07:05,505 --> 00:07:08,727 Và trên thực tế, các chén thánh thực sự sẽ là thời gian liên tục 163 00:07:08,727 --> 00:07:10,560 nhờ đó mà khi bạn muốn để tìm kiếm một từ, bạn 164 00:07:10,560 --> 00:07:13,370 có được một câu trả lời ngay lập tức không phân biệt của bao nhiêu từ đã 165 00:07:13,370 --> 00:07:14,350 trong từ điển của bạn. 166 00:07:14,350 --> 00:07:17,680 >> Đây là một màn biểu diễn của người nghệ sĩ những gì bạn có thể gọi là một bảng băm. 167 00:07:17,680 --> 00:07:21,900 Và một bảng băm là loại một đẹp hỗn hợp của một array-- vẽ theo chiều dọc 168 00:07:21,900 --> 00:07:26,416 ở đây, chỉ because-- và sau đó một liên kết list-- vẽ theo chiều ngang ở đây. 169 00:07:26,416 --> 00:07:28,790 Và bảng băm có thể được thực hiện trong chùm cách. 170 00:07:28,790 --> 00:07:34,110 Đoạn trích này từ một cuốn sách giáo khoa sẽ xảy ra sử dụng ngày tháng năm sinh của những người này 171 00:07:34,110 --> 00:07:38,940 như các phương tiện mà nó quyết định nơi để đặt tên của một ai đó. 172 00:07:38,940 --> 00:07:41,230 Vì vậy, đây là một từ điển nếu bạn muốn của tên. 173 00:07:41,230 --> 00:07:45,240 Và để đẩy nhanh việc đưa tên vào cấu trúc dữ liệu này, 174 00:07:45,240 --> 00:07:49,280 họ nhìn vào, rõ ràng, của những người này sinh ngày đối với một tháng với. 175 00:07:49,280 --> 00:07:50,570 >> Vì vậy, nó là 1-31. 176 00:07:50,570 --> 00:07:52,910 Và quên đi tháng hai và trường hợp góc như thế. 177 00:07:52,910 --> 00:07:57,050 Và nếu ngày sinh nhật của bạn là vào ngày 1, hoặc 01 tháng 2, hoặc 1 tháng 12, 178 00:07:57,050 --> 00:07:59,890 bạn sẽ kết thúc tại chuỗi lên đỉnh đầu tiên. 179 00:07:59,890 --> 00:08:02,150 Nếu ngày sinh nhật của bạn như ngày 25 của một tháng, 180 00:08:02,150 --> 00:08:04,567 bạn sẽ kết thúc tại xô số 25. 181 00:08:04,567 --> 00:08:07,400 Và nếu có ai đó đã có trong bất kỳ của những địa điểm, những gì 182 00:08:07,400 --> 00:08:10,470 bạn bắt đầu làm với các liên kết danh sách được khâu chúng lại với nhau 183 00:08:10,470 --> 00:08:14,320 để bạn có thể có một tùy ý số người, hoặc bất cứ điều gì, 184 00:08:14,320 --> 00:08:15,580 tại địa điểm đó. 185 00:08:15,580 --> 00:08:18,400 >> Vì vậy, bạn có một loại hỗn hợp hằng số thời gian cho băm. 186 00:08:18,400 --> 00:08:21,160 Và để băm một cái gì đó có nghĩa là mất đầu vào như một con người, 187 00:08:21,160 --> 00:08:25,360 hoặc tên mình, hoặc người khai sinh của mình ngày, và sau đó quyết định trên một số đầu ra 188 00:08:25,360 --> 00:08:29,780 trên cơ sở đó, giống như nhìn vào họ sinh nhật và cho ra một thông qua 31. 189 00:08:29,780 --> 00:08:31,900 >> Vì vậy, sau đó bạn có thể có một chút thời gian tuyến tính, 190 00:08:31,900 --> 00:08:34,429 nhưng trong thực tế, và như trong trường hợp của vấn đề thiết lập năm, 191 00:08:34,429 --> 00:08:36,220 chúng tôi sẽ không được làm việc tại P đặt năm 192 00:08:36,220 --> 00:08:40,059 rất nhiều về tiệm cận chạy thời gian, như sự chậm chạp lý thuyết 193 00:08:40,059 --> 00:08:41,809 mà một thuật toán có thể chạy. 194 00:08:41,809 --> 00:08:44,330 Chúng ta sẽ quan tâm thực tế số lượng giây 195 00:08:44,330 --> 00:08:47,350 và số tiền thực tế của bộ nhớ, thực tế số lượng byte của bộ nhớ 196 00:08:47,350 --> 00:08:48,140 bạn đang sử dụng. 197 00:08:48,140 --> 00:08:52,710 Vì vậy, thẳng thắn, có một rất lớn chuỗi giống như một triệu người 198 00:08:52,710 --> 00:08:56,710 là damn khá chậm nếu bạn đang tìm kiếm cho một tên trong danh sách các kích thước triệu. 199 00:08:56,710 --> 00:08:59,830 >> Nhưng nếu bạn chia rằng danh sách lên thành 31 bộ phận? 200 00:08:59,830 --> 00:09:04,400 Tìm kiếm 1/31 đó siêu danh sách dài, trong thực tế, 201 00:09:04,400 --> 00:09:05,741 chắc chắn là sẽ nhanh hơn. 202 00:09:05,741 --> 00:09:07,240 Tiệm cận, đó là điều tương tự. 203 00:09:07,240 --> 00:09:08,860 Bạn chỉ cần chia bởi một yếu tố không đổi. 204 00:09:08,860 --> 00:09:10,651 Và nhớ rằng chúng ta ném những thứ đi. 205 00:09:10,651 --> 00:09:13,486 Nhưng trong thực tế, nó sẽ được nhanh hơn 31 lần. 206 00:09:13,486 --> 00:09:16,110 Và đó là những gì chúng ta sẽ bắt đầu vào đòn bẩy trong P thiết lập năm. 207 00:09:16,110 --> 00:09:18,750 >> Vì vậy, P thiết lập năm quá cũng đề xuất rằng bạn xem xét 208 00:09:18,750 --> 00:09:21,810 hơi phức tạp hơn cấu trúc dữ liệu gọi là một Trie. 209 00:09:21,810 --> 00:09:24,420 Và một Trie chỉ là một cây giống như cấu trúc dữ liệu. 210 00:09:24,420 --> 00:09:26,672 Nhưng thay vì có vòng tròn nhỏ hoặc hình chữ nhật 211 00:09:26,672 --> 00:09:28,380 như chúng tôi tiếp tục vẽ cho các nút, nó thực sự 212 00:09:28,380 --> 00:09:30,840 có toàn bộ mảng cho các nút của nó. 213 00:09:30,840 --> 00:09:33,430 Và mặc dù đây là một chút trừu tượng ở đây để xem xét, 214 00:09:33,430 --> 00:09:35,450 Zamyla trong P tập đi bộ thông qua sẽ hướng dẫn bạn 215 00:09:35,450 --> 00:09:37,580 qua chi tiết hơn về điều này. 216 00:09:37,580 --> 00:09:39,980 Đây là một cấu trúc dữ liệu mà thay khéo léo 217 00:09:39,980 --> 00:09:44,130 có thể có mỗi nút là một mảng các kích thước 26, từ A đến Z hoặc không 218 00:09:44,130 --> 00:09:45,320 thông qua 25. 219 00:09:45,320 --> 00:09:49,260 Và khi bạn muốn chèn một người của tên vào cấu trúc dữ liệu này hoặc tìm 220 00:09:49,260 --> 00:09:53,990 anh ta hoặc cô ấy, những gì bạn làm, nếu các Tên là như Maxwell, M-A-X-W-E-L-L, 221 00:09:53,990 --> 00:09:57,900 đầu tiên bạn nhìn vào M. Và sau đó bạn chuyển đến các vị trí tương ứng M 222 00:09:57,900 --> 00:09:59,100 trong mảng đầu tiên. 223 00:09:59,100 --> 00:10:02,400 Sau đó bạn nhảy đến A, người đầu tiên vị trí trong mảng tới, 224 00:10:02,400 --> 00:10:03,610 sau các mũi tên. 225 00:10:03,610 --> 00:10:08,300 Sau đó, X, sau đó W, sau đó E, sau đó L, sau đó L, và sau đó có thể kết thúc một số đặc biệt 226 00:10:08,300 --> 00:10:11,850 nhân vật, một số trọng điểm mà nói một từ dừng lại ở đây. 227 00:10:11,850 --> 00:10:14,780 >> Và những gì tốt đẹp về this-- và giữ trong tâm trí rằng tình hình ở đây, 228 00:10:14,780 --> 00:10:16,797 chú ý cách cạnh của mỗi mảng bị cắt đứt. 229 00:10:16,797 --> 00:10:19,630 Đó chỉ là bởi vì điều này sẽ được lớn và khủng khiếp để tìm 230 00:10:19,630 --> 00:10:20,338 ở trên màn hình. 231 00:10:20,338 --> 00:10:21,820 Vì vậy, nó trích. 232 00:10:21,820 --> 00:10:25,920 Những gì tốt đẹp về cách tiếp cận này là mà nếu có một triệu tên đã 233 00:10:25,920 --> 00:10:30,890 trong cấu trúc dữ liệu này, bao nhiêu bước nó đưa tôi đến chèn Maxwell? 234 00:10:30,890 --> 00:10:36,450 M-A-X-W-E-L-L-- như bảy-ish các bước để chèn hoặc tìm Maxwell. 235 00:10:36,450 --> 00:10:39,320 >> Giả sử có một nghìn tỷ tên trong cấu trúc dữ liệu này. 236 00:10:39,320 --> 00:10:41,900 Có bao nhiêu bước nào nó đi tôi để tìm Maxwell? 237 00:10:41,900 --> 00:10:43,450 M-A-X-- vẫn bảy. 238 00:10:43,450 --> 00:10:45,770 >> Và đó chính là cái gọi là thời gian liên tục. 239 00:10:45,770 --> 00:10:47,960 Nếu chúng ta giả định rằng những lời chắc chắn bao bọc 240 00:10:47,960 --> 00:10:52,150 20 ký tự, hoặc 46 ký tự, hoặc một số nguyên lý nhỏ, 241 00:10:52,150 --> 00:10:53,790 sau đó nó có hiệu quả là một hằng số. 242 00:10:53,790 --> 00:10:57,790 Và do đó, chèn và tìm kiếm một Trie là siêu nhanh. 243 00:10:57,790 --> 00:10:59,540 Tất nhiên, chúng tôi không bao giờ có được bất cứ điều gì miễn phí. 244 00:10:59,540 --> 00:11:02,740 Và mặc dù có thể bạn đã không nhảy vào P thiết lập năm nào, 245 00:11:02,740 --> 00:11:06,596 giá cả những gì chúng ta có thể trả tiền để nhận được rằng thời gian hiệu quả cao hơn khôn ngoan? 246 00:11:06,596 --> 00:11:07,470 >> Đung Memory. 247 00:11:07,470 --> 00:11:08,390 >> DAVID J. Malan: Memory, phải không? 248 00:11:08,390 --> 00:11:10,240 Tôi có nghĩa là, chúng tôi đã không rút ra toàn bộ hình ảnh ở đây. 249 00:11:10,240 --> 00:11:12,823 Đoạn trích này từ sách giáo khoa không thu hút tất cả các mảng. 250 00:11:12,823 --> 00:11:16,687 Có một số lượng lớn bộ nhớ và chỉ con trỏ null mà không được sử dụng. 251 00:11:16,687 --> 00:11:17,520 Vì vậy, nó là một thương mại giảm. 252 00:11:17,520 --> 00:11:21,050 Và nó sẽ được để lại cho bạn trong P đặt năm để quyết định cách mà bạn muốn đi. 253 00:11:21,050 --> 00:11:24,460 >> Bây giờ ý tưởng này của băm, như là một sang một bên, thực sự là siêu phổ biến. 254 00:11:24,460 --> 00:11:27,980 Vì vậy, để băm một phương tiện có giá trị, khá chỉ đơn giản, để có một cái gì đó như là đầu vào 255 00:11:27,980 --> 00:11:29,220 và sản xuất ra một sản lượng. 256 00:11:29,220 --> 00:11:31,270 Vì vậy, một hàm băm chỉ là một thuật toán. 257 00:11:31,270 --> 00:11:34,990 >> Và nói chung, một mục đích hàm băm trong cuộc sống là để có một cái gì đó như là đầu vào 258 00:11:34,990 --> 00:11:39,655 và sản xuất một số lượng như sản lượng, như số một đến 31 hoặc từ A đến Z, 259 00:11:39,655 --> 00:11:40,960 không thông qua 25. 260 00:11:40,960 --> 00:11:44,250 Vì vậy, phải mất một đầu ra phức tạp và co lại xuống đến một cái gì đó 261 00:11:44,250 --> 00:11:46,310 đó là nhiều hơn một chút hữu ích và dễ quản lý. 262 00:11:46,310 --> 00:11:49,250 >> Và do đó, nó quay ra trong một chức năng rất phổ biến 263 00:11:49,250 --> 00:11:51,160 rằng thế giới an ninh và thế giới của con người 264 00:11:51,160 --> 00:11:53,060 được sử dụng trong nhiều năm qua được gọi là SHA1. 265 00:11:53,060 --> 00:11:56,260 Đây là một khá lạ mắt toán học công thức nào về cơ bản đó. 266 00:11:56,260 --> 00:11:58,870 >> Bạn hãy thực sự lớn đoạn của số không và ones-- 267 00:11:58,870 --> 00:12:01,530 đó có thể là một megabyte dài, một long-- gigabyte 268 00:12:01,530 --> 00:12:05,930 và nó co lại nó xuống chỉ một vài bit, một vài bit, 269 00:12:05,930 --> 00:12:09,082 để bạn có một số mặt hàng như một đến 31, hoặc từ A đến Z. 270 00:12:09,082 --> 00:12:11,540 Nhưng trong thực tế, nó là một chút lớn hơn chỉ từ A đến Z. 271 00:12:11,540 --> 00:12:16,640 >> Thật không may, chúng tôi đang ở trên đỉnh của những gì ai đó tinh nghịch gọi là SHAppening 272 00:12:16,640 --> 00:12:19,840 nhờ đó mà thế giới sắp tới kết thúc trong một vài tháng có lẽ 273 00:12:19,840 --> 00:12:22,617 thời gian bởi vì các nhà nghiên cứu, chỉ trong tuần vừa qua, 274 00:12:22,617 --> 00:12:25,700 công bố một báo cáo rằng trái với những gì các nhà nghiên cứu bảo mật đã nghĩ 275 00:12:25,700 --> 00:12:29,810 một thời gian, bởi chỉ chi tiêu về, đó là gì, 276 00:12:29,810 --> 00:12:33,420 Tôi nghĩ đó là $ 175,000-- nhiều tiền, 277 00:12:33,420 --> 00:12:36,540 nhưng không vượt quá tầm với của chàng trai đặc biệt xấu xấu, 278 00:12:36,540 --> 00:12:41,560 hoặc đặc biệt xấu countries-- $ 175,000 có thể mua cho bạn rất nhiều máy chủ thuê 279 00:12:41,560 --> 00:12:42,690 không gian trong các đám mây. 280 00:12:42,690 --> 00:12:44,619 Và chúng tôi sẽ trở lại các đám mây trước khi dài. 281 00:12:44,619 --> 00:12:47,410 Nhưng nó chỉ có nghĩa là thuê máy chủ không gian trên như máy chủ của Microsoft, 282 00:12:47,410 --> 00:12:50,285 hoặc Google, hoặc Amazon, hoặc giống như nơi mà bạn có thể trả tiền theo phút 283 00:12:50,285 --> 00:12:51,670 sử dụng máy tính của người khác. 284 00:12:51,670 --> 00:12:54,250 >> Và hóa ra nếu bạn có thể trả tiền người khác mượn máy tính của họ 285 00:12:54,250 --> 00:12:56,730 và chạy mã mà bạn đã viết vào nó và sử dụng khá lạ mắt 286 00:12:56,730 --> 00:13:01,580 toán học, bạn có thể hình cơ bản ra cách hàm băm một ai đó là 287 00:13:01,580 --> 00:13:05,320 làm việc, và cho sản lượng của nó, đảo ngược kỹ sư gì đầu vào của nó là. 288 00:13:05,320 --> 00:13:08,590 Và cho các mục đích của ngày hôm nay, nó đủ để nói, đây là xấu. 289 00:13:08,590 --> 00:13:12,540 Bởi vì SHA1 băm và chức năng như nó là siêu thường 290 00:13:12,540 --> 00:13:17,050 được sử dụng trong các ứng dụng bảo mật, các kết nối được mã hóa trên trang web, 291 00:13:17,050 --> 00:13:21,890 giao dịch ngân hàng, mã hóa tế bào cho điện thoại di động của bạn, và như thế. 292 00:13:21,890 --> 00:13:24,880 Và vì vậy bất cứ khi ai đó tìm thấy một cách để đảo ngược 293 00:13:24,880 --> 00:13:28,510 kế một trong những công nghệ hoặc phá vỡ nó, những điều xấu có thể xảy ra. 294 00:13:28,510 --> 00:13:30,300 >> Bây giờ thế giới đã biết điều này. 295 00:13:30,300 --> 00:13:31,310 Đây là dự đoán được. 296 00:13:31,310 --> 00:13:34,670 Và thế giới có từ năm chuyển từ SHA1 để SHA256, 297 00:13:34,670 --> 00:13:37,320 mà chỉ là một cách ưa thích của nói rằng họ sử dụng các bit lớn hơn. 298 00:13:37,320 --> 00:13:40,570 Và trên thực tế, thậm chí CS50 của mình website nâng cấp năm ngoái đối với: 299 00:13:40,570 --> 00:13:43,290 Không phải chúng ta phải đối mặt với tất cả điều này nhiều các mối đe dọa đang cố gắng để có được các file PDF 300 00:13:43,290 --> 00:13:46,520 và whatnot-- nhưng website của CS50 sử dụng hàm băm lớn hơn, 301 00:13:46,520 --> 00:13:47,980 có nghĩa là chúng ta sẽ được an toàn. 302 00:13:47,980 --> 00:13:50,020 Vì vậy, tất cả các file PDF của bạn sẽ được an toàn, nhưng không 303 00:13:50,020 --> 00:13:52,880 nhất thiết tiền hoặc bất cứ điều gì của bạn đặc biệt là cá nhân hoặc riêng 304 00:13:52,880 --> 00:13:53,380 sử dụng. 305 00:13:53,380 --> 00:13:56,550 Sp kiểm tra URL mà nếu bạn như một số chi tiết bổ sung. 306 00:13:56,550 --> 00:13:59,840 >> Vì vậy, vấn đề đặt năm là thực sự trên đường chân trời. 307 00:13:59,840 --> 00:14:01,560 Đố ai này Wednesday tới. 308 00:14:01,560 --> 00:14:04,479 Nhưng tận dụng lợi thế của văn phòng giờ, cả đêm nay và ngày mai. 309 00:14:04,479 --> 00:14:07,770 Và cũng tận dụng giờ làm việc, nếu bạn đang có sẵn, ngay sau này. 310 00:14:07,770 --> 00:14:11,550 Các nhân viên và tôi sẽ thanh xung quanh và làm hơn bình thường Q & A, thêm vào tối nay. 311 00:14:11,550 --> 00:14:16,610 Và hãy để tôi mạnh mẽ lưu ý ở đây, cho những người chúng ta ở đây trong Haven-- mới 312 00:14:16,610 --> 00:14:19,360 vì vậy nó hoàn toàn mỗi Scaz của nhận xét cảm thấy, tôi chắc chắn rằng, 313 00:14:19,360 --> 00:14:21,140 giống như một chút của một cuộc đấu tranh khó khăn. 314 00:14:21,140 --> 00:14:24,627 Và bởi danh tiếng, nếu bạn chưa học đã hoặc nghe 315 00:14:24,627 --> 00:14:27,710 từ một số bạn bè tại Harvard, biết đây là một số bộ nhớ thể chế mới. 316 00:14:27,710 --> 00:14:30,790 P thiết lập năm loại loại có xu hướng là khó khăn nhất trong CS50, 317 00:14:30,790 --> 00:14:32,590 hoặc các thách thức nhất cho hầu hết các sinh viên. 318 00:14:32,590 --> 00:14:37,180 >> Nhưng điều đó có nghĩa là chúng ta hầu như ở trên cùng của ngọn đồi này. 319 00:14:37,180 --> 00:14:38,270 Và tôi thực sự có ý nghĩa này. 320 00:14:38,270 --> 00:14:40,728 Đó là khó khăn nhất, nhưng nó cũng xứng đáng nhất 321 00:14:40,728 --> 00:14:43,560 trong đó không giống như hầu hết mọi khác khoa học máy tính giới thiệu 322 00:14:43,560 --> 00:14:47,980 Tất nhiên ở Mỹ mà chúng ta biết, hầu hết sinh viên không hoàn thành một đoạn giới thiệu 323 00:14:47,980 --> 00:14:51,400 Tất nhiên khi đã thực hiện những thứ như cây cối, và cố gắng, 324 00:14:51,400 --> 00:14:52,880 và bảng băm, và như thế. 325 00:14:52,880 --> 00:14:54,770 >> Và vì vậy tôi hy vọng, và chúng tôi hy vọng rằng bạn đang 326 00:14:54,770 --> 00:14:57,280 có một cảm giác rất lớn sự hài lòng ngay cả 327 00:14:57,280 --> 00:15:00,760 nếu hay hai tuần qua mà bạn sẽ có được sự hài lòng đó 328 00:15:00,760 --> 00:15:02,490 không cảm thấy một chút như thế này. 329 00:15:02,490 --> 00:15:05,250 Nhưng hãy để tôi trấn an, chúng tôi chỉ có bốn bộ P trái. 330 00:15:05,250 --> 00:15:07,380 Vì vậy, loại hàng đầu mà là trong tầm nhìn. 331 00:15:07,380 --> 00:15:12,370 >> Ở phía bên kia của nó, tin tưởng chúng tôi, nó chỉ là những ngọn đồi và những đám mây. 332 00:15:12,370 --> 00:15:16,000 Và chúng ta sẽ nói, con chó là ở phía bên kia. 333 00:15:16,000 --> 00:15:18,340 Vì vậy, bạn chỉ cần có để treo trong đó lâu hơn một chút. 334 00:15:18,340 --> 00:15:22,050 Tôi có nghĩa là, thực sự là chúng ta bắt đầu quá trình chuyển đổi vào thế giới lập trình web, 335 00:15:22,050 --> 00:15:26,060 bạn sẽ thấy rằng những điều become-- này là đáng yêu thực sự. 336 00:15:26,060 --> 00:15:29,680 337 00:15:29,680 --> 00:15:33,490 OK, chúng tôi sẽ gửi URL này sau. 338 00:15:33,490 --> 00:15:36,140 Bạn sẽ tìm thấy quá rằng chúng tôi đạt loại của một cao nguyên 339 00:15:36,140 --> 00:15:38,150 nơi mọi thứ thực sự vẫn còn phức tạp 340 00:15:38,150 --> 00:15:40,170 và đầy thử thách bởi thiết kế, nhưng bạn không phải 341 00:15:40,170 --> 00:15:42,590 sẽ cảm thấy như chúng tôi ngừng đi lên ngọn đồi này. 342 00:15:42,590 --> 00:15:44,390 Vì vậy, có một số tiện nghi trong đó. 343 00:15:44,390 --> 00:15:47,409 >> Vì vậy, không có thêm ado, chúng ta hãy bắt đầu để làm cho quá trình chuyển đổi thị trường này 344 00:15:47,409 --> 00:15:49,950 trong học kỳ tới thế giới các trang web, và thực sự thế giới 345 00:15:49,950 --> 00:15:51,420 mà tất cả chúng ta đều quen thuộc hơn. 346 00:15:51,420 --> 00:15:53,753 Chúng tôi đã có các thiết bị internet trong túi của chúng tôi, trên bàn làm việc của chúng tôi, 347 00:15:53,753 --> 00:15:55,127 trong ba lô của chúng tôi, và như thế. 348 00:15:55,127 --> 00:15:56,210 Làm thế nào để tất cả các công việc này? 349 00:15:56,210 --> 00:15:59,077 Và làm thế nào chúng ta có thể bắt đầu viết mã mà không phải siêu phức tạp 350 00:15:59,077 --> 00:16:01,910 và trong một số nhấp nháy nhanh chóng văn bản rằng không ai trong số bạn bè hoặc gia đình của bạn 351 00:16:01,910 --> 00:16:04,659 được bao giờ sẽ muốn tương tác với, nhưng một cái gì đó bạn có thể đặt 352 00:16:04,659 --> 00:16:06,660 trên điện thoại của họ, hoặc trên các trình duyệt web của họ, 353 00:16:06,660 --> 00:16:09,010 hoặc trên bất kỳ thiết bị với mà chúng tương tác. 354 00:16:09,010 --> 00:16:10,430 >> Vì vậy, đây là nhà của một ai đó. 355 00:16:10,430 --> 00:16:14,040 Và bên trong của ngôi nhà này là một vài máy tính xách tay, một vài máy tính để bàn học cũ 356 00:16:14,040 --> 00:16:17,470 máy vi tính, một cái gì đó gọi là một router hoặc hub ở giữa, 357 00:16:17,470 --> 00:16:20,310 và sau đó một số loại modem cáp hoặc modem DSL. 358 00:16:20,310 --> 00:16:24,560 Và sau đó có internet, nói chung rút ra như một đám mây ở trên đó trong bầu trời. 359 00:16:24,560 --> 00:16:29,230 >> Vì vậy, hình ảnh này, mặc dù một ít loại lạc hậu, 360 00:16:29,230 --> 00:16:32,604 chắc chắn chụp gì nhất bạn có thể có trong ngôi nhà của bạn, 361 00:16:32,604 --> 00:16:35,520 hoặc hiệu quả những gì tất cả các bạn có trong phòng ký túc xá của bạn, hoặc căn hộ, 362 00:16:35,520 --> 00:16:36,480 hoặc tương tự. 363 00:16:36,480 --> 00:16:40,010 >> Vì vậy, những gì đang thực sự xảy ra khi bạn hãy thử sử dụng internet ngày hôm nay? 364 00:16:40,010 --> 00:16:42,010 Vì vậy, mỗi máy tính trên internet, nó quay ra, 365 00:16:42,010 --> 00:16:46,860 cần phải có một địa chỉ duy nhất, giống như chúng ta trong thế giới thực sự cần thiết 366 00:16:46,860 --> 00:16:52,050 một địa chỉ bưu điện, như 51 Prospect Street, New Haven, Connecticut, hay 33 367 00:16:52,050 --> 00:16:54,170 Oxford Street, Cambridge, Massachusetts. 368 00:16:54,170 --> 00:16:58,520 Vì vậy, các máy tính trên internet cần một cách giải quyết duy nhất bản thân mình. 369 00:16:58,520 --> 00:17:01,180 >> Đó là để khi một máy tính muốn nói chuyện với nhau, 370 00:17:01,180 --> 00:17:04,525 nó có thể gửi một tin nhắn và thông báo cho người nhận để người mà 371 00:17:04,525 --> 00:17:05,900 nó sẽ gửi phản hồi trở lại. 372 00:17:05,900 --> 00:17:07,900 Vì vậy, nó chỉ làm cho loại ý thức trực giác có lẽ 373 00:17:07,900 --> 00:17:09,980 rằng tất cả mọi thứ có một địa chỉ của một số loại. 374 00:17:09,980 --> 00:17:11,240 >> Nhưng làm thế nào để bạn có được một địa chỉ? 375 00:17:11,240 --> 00:17:13,589 Vâng, nếu bạn nhận được ở đây trên khuôn viên trường, hoặc bạn đi về nhà 376 00:17:13,589 --> 00:17:15,760 và bạn bật của bạn máy tính xách tay hoặc máy tính để bàn, 377 00:17:15,760 --> 00:17:17,770 và hoặc là cắm nó vào hoặc kết nối Wi-Fi, 378 00:17:17,770 --> 00:17:19,569 nó chỉ ra rằng có một máy chủ đặc biệt 379 00:17:19,569 --> 00:17:22,089 trên hầu hết các mạng được gọi là một máy chủ DHCP. 380 00:17:22,089 --> 00:17:23,880 Không quan trọng những gì này là viết tắt, 381 00:17:23,880 --> 00:17:26,660 nhưng nó là cấu hình máy chủ năng động giao thức, mà chỉ là 382 00:17:26,660 --> 00:17:29,760 một cách nói, đây là một máy tính hoặc Yale, 383 00:17:29,760 --> 00:17:32,600 hay Harvard có, hoặc Comcast có, hoặc Verizon có, 384 00:17:32,600 --> 00:17:35,100 hoặc công ty của bạn có, mà mục đích trong cuộc sống, 385 00:17:35,100 --> 00:17:38,810 khi nó nghe thấy có người mới được bổ sung vào mạng, là để nói ở đây, 386 00:17:38,810 --> 00:17:40,010 sử dụng địa chỉ này. 387 00:17:40,010 --> 00:17:42,790 >> Vì vậy, con người chúng ta không cần phải mã cứng vào máy tính của chúng tôi 388 00:17:42,790 --> 00:17:44,040 những địa chỉ duy nhất của chúng tôi là. 389 00:17:44,040 --> 00:17:47,070 Chúng tôi chỉ cần bật máy lên, mở nắp, và bằng cách nào đó máy chủ này 390 00:17:47,070 --> 00:17:52,210 trên mạng địa phương chỉ nói với tôi rằng địa chỉ của tôi là 51 Prospect Street, hay 33 391 00:17:52,210 --> 00:17:53,940 Oxford Street, hoặc tương tự. 392 00:17:53,940 --> 00:17:56,000 >> Bây giờ nó không phải đi để quá dài dòng như vậy. 393 00:17:56,000 --> 00:18:00,210 Thay những gì tôi sẽ nhận được là một địa chỉ số gọi là địa chỉ IP. 394 00:18:00,210 --> 00:18:01,960 IP có nghĩa là giao thức internet. 395 00:18:01,960 --> 00:18:06,025 Và tỷ lệ cược là do thời gian này trong cuộc sống của bạn, bạn có thể nghe hoặc nhìn thấy từ IP, 396 00:18:06,025 --> 00:18:08,140 hay nói chung là ném nó xung quanh có lẽ. 397 00:18:08,140 --> 00:18:10,720 Nhưng trong thực tế, nó đẹp thẳng về phía trước một điều. 398 00:18:10,720 --> 00:18:13,610 >> Một địa chỉ IP chỉ là một số dấu chấm thập phân, 399 00:18:13,610 --> 00:18:17,150 có nghĩa là nó là cái gì dot một cái gì đó chấm một cái gì đó chấm một cái gì đó. 400 00:18:17,150 --> 00:18:21,980 Và mỗi người trong những somethings xảy ra là một số từ 0 đến 255. 401 00:18:21,980 --> 00:18:26,710 >> Vì vậy, dựa trên năm tuần cộng với CS50, nếu những con số này mỗi khoảng 0-255, 402 00:18:26,710 --> 00:18:28,713 bao nhiêu bit là mỗi những dấu hiệu số? 403 00:18:28,713 --> 00:18:29,420 >> Đung Tám. 404 00:18:29,420 --> 00:18:30,100 >> DAVID J. Malan: Nó là đã nhận được tám. 405 00:18:30,100 --> 00:18:31,933 Vì vậy, trong tổng số, có bao nhiêu bit là một địa chỉ IP? 406 00:18:31,933 --> 00:18:32,710 Đung 32. 407 00:18:32,710 --> 00:18:33,820 >> DAVID J. Malan: Vì vậy, 32. 408 00:18:33,820 --> 00:18:35,830 8 cộng với 8 cộng với 8 cộng 8 là 32. 409 00:18:35,830 --> 00:18:38,767 Có bao nhiêu số địa chỉ IP có thể có được trên thế giới? 410 00:18:38,767 --> 00:18:39,600 Đung 4 tỷ. 411 00:18:39,600 --> 00:18:42,410 DAVID J. Malan: Vì vậy, khoảng bốn tỷ vì đó là 2 sức mạnh 32. 412 00:18:42,410 --> 00:18:44,410 Sắp xếp và nếu bạn có thể không của grok rằng trong tâm trí của bạn, 413 00:18:44,410 --> 00:18:47,470 chỉ biết rằng giá trị 32-bit có thể là lớn như 4 tỷ 414 00:18:47,470 --> 00:18:49,140 nếu đó là tất cả những giá trị tích cực. 415 00:18:49,140 --> 00:18:52,500 Vì vậy, đó có nghĩa là có 4 tỷ địa chỉ IP có thể có trong thế giới. 416 00:18:52,500 --> 00:18:55,090 >> Và truyện cười, chúng tôi loại chạy ra khỏi chúng. 417 00:18:55,090 --> 00:18:59,720 Và trên thực tế đó là một vấn đề lớn trong đó trên thế giới cũng đã nhìn thấy vấn đề này đến, 418 00:18:59,720 --> 00:19:03,639 nhưng không nhất thiết đã trả lời nó một cách nhanh chóng nhất có thể. 419 00:19:03,639 --> 00:19:05,680 Và quả thực, một khi bạn đã hoàn thành và bắt đầu CS50 420 00:19:05,680 --> 00:19:06,950 phải chú ý trong thế giới công nghệ, bạn sẽ 421 00:19:06,950 --> 00:19:08,520 thấy điều này là rất phổ biến chuyên đề. 422 00:19:08,520 --> 00:19:12,260 >> Ví dụ, nếu chúng ta đi thực sự trường cũ ngày nay, Y2K. 423 00:19:12,260 --> 00:19:13,570 Đó không phải là thực sự là một bất ngờ. 424 00:19:13,570 --> 00:19:15,700 Giống như tất cả mọi người biết với 1.000 năm mà đó 425 00:19:15,700 --> 00:19:20,250 was-- hơn một ngàn mà years-- mà cuối cùng sẽ xảy ra. 426 00:19:20,250 --> 00:19:23,295 Chưa hết, chúng ta phản ứng với nó rất nhiều ở những phút cuối cùng. 427 00:19:23,295 --> 00:19:24,420 Và điều đó xảy ra lần nữa. 428 00:19:24,420 --> 00:19:26,740 Vì vậy, hôm nay chúng ta sẽ nói về IP phiên bản 4. 429 00:19:26,740 --> 00:19:29,250 Nhưng biết rằng thế giới là cuối cùng nhận được 430 00:19:29,250 --> 00:19:31,590 xung quanh để nâng cấp lên một cái gì đó gọi là IPv6, 431 00:19:31,590 --> 00:19:34,540 mà thay vì 32-bit địa chỉ, uses-- ai 432 00:19:34,540 --> 00:19:36,443 muốn có nhiều phán đoán, bao nhiêu bit? 433 00:19:36,443 --> 00:19:37,310 >> Đung 64? 434 00:19:37,310 --> 00:19:38,380 >> DAVID J. Malan: Tốt đoán, nhưng không có. 435 00:19:38,380 --> 00:19:39,975 Chúng tôi đang cố gắng để cuối cùng có được trước của đường cong. 436 00:19:39,975 --> 00:19:40,558 >> Đung 128. 437 00:19:40,558 --> 00:19:43,490 DAVID J. Malan: 128, trong đó là một con số khổng lồ hoảng 438 00:19:43,490 --> 00:19:46,250 các địa chỉ IP, vì đó là giống như lần 2, lần 2, 439 00:19:46,250 --> 00:19:49,620 lần 2, rất nhiều lần twos tăng từ 4 tỷ USD. 440 00:19:49,620 --> 00:19:50,530 >> Vì vậy, nếu tò mò. 441 00:19:50,530 --> 00:19:54,110 Hóa out-- và tôi chỉ googled này để tìm kiếm này out-- máy tính Yale, 442 00:19:54,110 --> 00:19:58,910 ở đây tại Yale, có xu hướng bắt đầu với những numbers-- 130,132 dot một cái gì đó, 443 00:19:58,910 --> 00:20:00,669 và 128,36 chấm một cái gì đó. 444 00:20:00,669 --> 00:20:02,710 Nhưng có chắc chắn trường hợp ngoại lệ trên bảng 445 00:20:02,710 --> 00:20:05,334 tùy thuộc vào những gì bộ phận và xây dựng và trường bạn đang ở trên. 446 00:20:05,334 --> 00:20:09,310 Harvard có xu hướng có 140,247 hoặc 128,103. 447 00:20:09,310 --> 00:20:11,530 Và nói chung là thông tin vô dụng, 448 00:20:11,530 --> 00:20:13,260 nhưng nó là một cái gì đó bạn có thể nhận thấy bây giờ. 449 00:20:13,260 --> 00:20:15,593 Khi bạn bắt đầu chĩa ra xung quanh cài đặt trên máy tính của bạn, 450 00:20:15,593 --> 00:20:18,540 bạn có thể bắt đầu nhận thấy những loại mô hình trước khi dài. 451 00:20:18,540 --> 00:20:23,470 >> Nhưng khi bạn đang ở nhà và có một Apple AirPort, hoặc một thiết bị Linksys, 452 00:20:23,470 --> 00:20:26,560 hoặc một D-Link, hoặc bất cứ điều gì nó là cha mẹ hoặc anh chị em ruột của bạn cài đặt 453 00:20:26,560 --> 00:20:28,890 trong ngôi nhà của bạn, cũng những gì bạn có thể có 454 00:20:28,890 --> 00:20:30,800 là những gì được gọi là địa chỉ IP riêng. 455 00:20:30,800 --> 00:20:34,850 Và đây là những thực sự là một ngơi, giải pháp tạm thời 456 00:20:34,850 --> 00:20:38,050 cho vấn đề chạy ngắn trên các địa chỉ IP. 457 00:20:38,050 --> 00:20:40,382 >> Và những gì bạn có thể làm với mạng lưới nhà, typically-- 458 00:20:40,382 --> 00:20:42,340 và thẳng thắn, thậm chí Yale và Harvard đang bắt đầu 459 00:20:42,340 --> 00:20:46,840 để làm điều này trong areas-- khác nhau là bạn có thể cung cấp cho một bó toàn bộ các máy tính 460 00:20:46,840 --> 00:20:50,360 một địa chỉ IP miễn là bạn đặt một thiết bị đặc biệt ở phía trước của họ, 461 00:20:50,360 --> 00:20:52,410 một cái gì đó gọi là một router, hoặc nó có thể được gọi là 462 00:20:52,410 --> 00:20:54,060 một proxy hoặc bất kỳ số thứ khác. 463 00:20:54,060 --> 00:20:56,710 Nhưng một thiết bị nào đó có mà một địa chỉ IP. 464 00:20:56,710 --> 00:20:59,450 Và rồi sau đó thiết bị, trong một tòa nhà, 465 00:20:59,450 --> 00:21:03,030 trong một ngôi nhà hoặc một căn hộ, có thể là bất kỳ số lượng máy tính, tất cả đều 466 00:21:03,030 --> 00:21:06,460 có một địa chỉ IP bắt đầu với một trong các chữ số ở đây. 467 00:21:06,460 --> 00:21:08,590 Và miễn là máy tính đó biết làm thế nào để chuyển đổi 468 00:21:08,590 --> 00:21:10,900 địa chỉ nào để các địa chỉ tư nhân, 469 00:21:10,900 --> 00:21:13,340 tất cả mọi thứ có thể sắp xếp công việc như mong đợi. 470 00:21:13,340 --> 00:21:17,290 >> Nhưng ngược của việc này là nếu bạn đang ở nhà và bạn có anh chị em, 471 00:21:17,290 --> 00:21:19,650 và cả hai bạn thăm một số trang web, 472 00:21:19,650 --> 00:21:23,520 trang web mà không biết nếu đó là bạn hoặc anh chị đã ghé thăm website, 473 00:21:23,520 --> 00:21:26,780 bởi vì bạn xuất hiện để được giống người vì tất cả các dữ liệu của bạn 474 00:21:26,780 --> 00:21:30,050 đang trải qua router hoặc điểm trung tâm. 475 00:21:30,050 --> 00:21:32,220 >> Nhưng đủ các chi tiết mức thấp hơn. 476 00:21:32,220 --> 00:21:37,770 Chúng ta hãy nhìn vào địa chỉ IP như thế nào đôi khi đưa ra có lẽ trong các phương tiện truyền thông 477 00:21:37,770 --> 00:21:41,370 và làm thế nào bây giờ chúng ta có thể bắt đầu làm hỏng, thẳng thắn, thậm chí nhiều chương trình cho bạn. 478 00:21:41,370 --> 00:21:45,010 Nếu chúng ta có thể làm mờ đèn chiếu sáng cho một vài giây. 479 00:21:45,010 --> 00:21:46,550 >> [VIDEO PLAYBACK] 480 00:21:46,550 --> 00:21:49,310 >> -Nó Là một 32-bit trên IPP 4 địa chỉ. 481 00:21:49,310 --> 00:21:50,650 >> -IP ES internet-- 482 00:21:50,650 --> 00:21:52,800 >> Mạng -Private, Mạng riêng của Tamia. 483 00:21:52,800 --> 00:22:05,670 484 00:22:05,670 --> 00:22:08,145 Cô ấy thật tuyệt vời. 485 00:22:08,145 --> 00:22:09,630 -Come Charlie. 486 00:22:09,630 --> 00:22:11,750 DAVID J. Malan: Đó là một địa chỉ IP gương. 487 00:22:11,750 --> 00:22:15,093 Cô ấy cho chúng tôi xem đó cô ấy làm trong thời gian thực. 488 00:22:15,093 --> 00:22:16,285 >> [END PLAYBACK] 489 00:22:16,285 --> 00:22:17,130 >> DAVID J. Malan: OK. 490 00:22:17,130 --> 00:22:18,480 Vì vậy, một vài vấn đề với điều này. 491 00:22:18,480 --> 00:22:22,740 Vì vậy, một, những gì chúng tôi đang tìm kiếm ở đây trên màn hình 492 00:22:22,740 --> 00:22:25,290 là một mã được viết trong một ngôn ngữ gọi là Objective-C, 493 00:22:25,290 --> 00:22:28,020 đó là loại người kế nhiệm ngôn ngữ C mà chúng ta đang làm. 494 00:22:28,020 --> 00:22:30,150 Điều này hoàn toàn không có gì có để làm với lập trình. 495 00:22:30,150 --> 00:22:32,399 Trong thực tế, là tốt nhất tôi có thể nói, đây là một chương trình vẽ 496 00:22:32,399 --> 00:22:38,360 rằng ai đó đã tải về từ internet bằng cách nào đó liên quan đến bút chì màu. 497 00:22:38,360 --> 00:22:43,660 >> Có lẽ ít nghiêm trọng là địa chỉ IP này, hợp lý hay không? 498 00:22:43,660 --> 00:22:44,520 >> Đung không hợp lệ. 499 00:22:44,520 --> 00:22:48,479 >> DAVID J. Malan: không hợp lệ, vì 275 là, tất nhiên, không phải giữa 0 và 255. 500 00:22:48,479 --> 00:22:51,770 Đó có lẽ là quá OK mặc dù, bởi vì bạn không muốn bó của những người điên 501 00:22:51,770 --> 00:22:54,790 những người như tạm dừng TV trên của họ TiVos và sau đó truy cập vào IP để xem 502 00:22:54,790 --> 00:22:56,290 nếu có thực sự là một cái gì đó. 503 00:22:56,290 --> 00:22:58,200 Vì vậy, mà một là một chút ít nghiêm trọng. 504 00:22:58,200 --> 00:23:00,990 Nhưng nhận ra rằng quá là loại của tất cả các xung quanh chúng ta. 505 00:23:00,990 --> 00:23:04,980 >> Vì vậy, tất nhiên, không ai trong chúng ta thực sự gõ địa chỉ số 506 00:23:04,980 --> 00:23:06,410 vào trình duyệt của chúng tôi. 507 00:23:06,410 --> 00:23:09,580 Nó sẽ là loại một điều xấu nếu Google, để truy cập vào Google, 508 00:23:09,580 --> 00:23:15,060 bạn đã phải đi đến 123.46.57.89. 509 00:23:15,060 --> 00:23:17,007 Và cả thế giới đã chỉ cần nhớ rằng. 510 00:23:17,007 --> 00:23:19,090 Và thẳng thắn mà nói, chúng tôi đã loại của nhìn thấy vấn đề này trước đây. 511 00:23:19,090 --> 00:23:24,130 Quay trở lại những ngày khi con người không có điện thoại di động và danh sách liên lạc, 512 00:23:24,130 --> 00:23:27,640 và các công ty thực sự still-- thực sự, Tôi đoán các công ty vẫn có 800 513 00:23:27,640 --> 00:23:30,600 số và các like-- nhưng bạn thường thấy những con số được quảng cáo 514 00:23:30,600 --> 00:23:36,480 như 1-800-THU THẬP, C-O-L-L-E-C-T. Bởi vì không ai thực sự có thể nhớ, 515 00:23:36,480 --> 00:23:39,754 khi nhìn thấy một quảng cáo trên xe buýt hay biển quảng cáo, những gì của ai đó là số lượng, 516 00:23:39,754 --> 00:23:42,420 nhưng họ có thể có lẽ, với cao xác suất, nhớ một lời. 517 00:23:42,420 --> 00:23:44,530 >> Vì vậy, chúng tôi đã thông qua cùng loại hệ thống trên thế giới 518 00:23:44,530 --> 00:23:48,290 của internet trong đó có một Hệ thống tên miền để chúng tôi có thể con người 519 00:23:48,290 --> 00:23:52,340 gõ google.com, facebook.com, yale.edu, harvard.edu, 520 00:23:52,340 --> 00:23:56,140 và để cho các con số máy tính ra những IP tương ứng 521 00:23:56,140 --> 00:23:58,480 địa chỉ là một cái tên được. 522 00:23:58,480 --> 00:24:01,620 >> Và cách bạn làm điều này trong thế giới thực là cho $ 10 một năm, 523 00:24:01,620 --> 00:24:05,900 có lẽ $ 50 một năm, bạn có thể mua một tên miền tên, hoặc thực sự thuê một tên miền. 524 00:24:05,900 --> 00:24:09,860 Và sau đó bất cứ ai bạn đang trả tiền cho thuê tên miền, 525 00:24:09,860 --> 00:24:14,069 bạn nói với họ người trên thế giới biết địa chỉ IP của bạn là. 526 00:24:14,069 --> 00:24:16,360 Và chúng tôi sẽ không đi vào những cụ thể, nhưng nhiều bạn 527 00:24:16,360 --> 00:24:18,750 có thể muốn, cho thức các dự án, để thực sự đăng ký 528 00:24:18,750 --> 00:24:22,120 cho lưu trữ web của riêng bạn công ty, hoặc cho miễn phí 529 00:24:22,120 --> 00:24:23,500 hoặc cho một vài đô la mỗi tháng. 530 00:24:23,500 --> 00:24:26,100 Một số bạn có thể muốn mua, cho một vài đô la, tên miền riêng của bạn, 531 00:24:26,100 --> 00:24:28,900 chỉ để cho vui hay để bắt đầu một doanh nghiệp hoặc một trang web cá nhân hoặc tương tự. 532 00:24:28,900 --> 00:24:30,880 >> Và nhận ra rằng tất cả đó sẽ cuối cùng 533 00:24:30,880 --> 00:24:35,260 đun sôi xuống để bạn nói với thế giới những địa chỉ IP của máy chủ là. 534 00:24:35,260 --> 00:24:37,740 Và sau đó các DNS các máy chủ thực sự chăm sóc 535 00:24:37,740 --> 00:24:39,910 thông báo cho các phần còn lại của thế giới. 536 00:24:39,910 --> 00:24:41,830 Vì vậy, tất cả các máy chủ DNS có, trong ngắn hạn, bên trong 537 00:24:41,830 --> 00:24:44,780 bộ nhớ của nó là như tương đương với một bảng tính Google 538 00:24:44,780 --> 00:24:49,420 hoặc một bảng tính Excel với ít nhất hai cột, một trong số đó có các tên gọi, 539 00:24:49,420 --> 00:24:52,100 như harvard.edu, và yale.edu, và google.com. 540 00:24:52,100 --> 00:24:55,870 Và các cột khác có địa chỉ IP hoặc IP tương ứng 541 00:24:55,870 --> 00:24:56,382 địa chỉ. 542 00:24:56,382 --> 00:24:57,590 Và chúng tôi thực sự có thể thấy điều này. 543 00:24:57,590 --> 00:24:59,881 Vì vậy, trên Mac-- của tôi và bạn có thể làm điều này trên các máy tính Windows 544 00:24:59,881 --> 00:25:04,330 như well-- nếu tôi mở một cửa sổ terminal ở đây, khá giống như một trong CD50 IDE, 545 00:25:04,330 --> 00:25:08,190 hầu hết các máy tính đều có lệnh gọi nslookup, tên máy chủ tìm kiếm. 546 00:25:08,190 --> 00:25:12,380 Và nếu tôi gõ gì đó như yale.edu và nhấn Enter, những gì 547 00:25:12,380 --> 00:25:19,250 Tôi sẽ thấy nếu mạng của tôi như hợp tác nó đã làm cho nhiều cuộc thử nghiệm trước khi đến lớp 548 00:25:19,250 --> 00:25:24,584 began-- hãy thử google.com. 549 00:25:24,584 --> 00:25:26,390 Tất nhiên bây giờ không có gì làm việc. 550 00:25:26,390 --> 00:25:27,190 Thật tuyệt. 551 00:25:27,190 --> 00:25:30,660 Tất cả các quyền, đứng trong một khoảnh khắc. 552 00:25:30,660 --> 00:25:32,100 nslookup google.com. 553 00:25:32,100 --> 00:25:35,570 554 00:25:35,570 --> 00:25:38,660 >> Vâng, chúng ta hãy xem nếu thực tế internet-- không. 555 00:25:38,660 --> 00:25:39,700 Đó là những gì đã xảy ra. 556 00:25:39,700 --> 00:25:43,090 Oh my god, tất cả các quyền. 557 00:25:43,090 --> 00:25:45,490 Wi-Fi đã phá vỡ. 558 00:25:45,490 --> 00:25:47,410 >> Hey, muốn biết địa chỉ IP của tôi là gì? 559 00:25:47,410 --> 00:25:49,722 Được rồi. 560 00:25:49,722 --> 00:25:50,820 YaleSecure. 561 00:25:50,820 --> 00:25:53,330 Đây là cách bạn gỡ rối những thứ như là một nhà khoa học máy tính. 562 00:25:53,330 --> 00:25:54,617 Chúng tôi bật Wi-Fi tắt. 563 00:25:54,617 --> 00:25:57,480 564 00:25:57,480 --> 00:25:59,450 ĐƯỢC. 565 00:25:59,450 --> 00:26:02,610 >> Và trên thực tế, Scaz, làm bạn phiền đăng nhập chúng ta vào bảo mật không? 566 00:26:02,610 --> 00:26:06,246 Nếu không kiểm tra hơn are-- OK, cảm ơn bạn Yale-- hoặc là về để phá vỡ. 567 00:26:06,246 --> 00:26:07,370 Tôi muốn đi vào YaleSecure. 568 00:26:07,370 --> 00:26:09,880 569 00:26:09,880 --> 00:26:11,870 Oh, và có lẽ chúng ta sẽ được OK. 570 00:26:11,870 --> 00:26:12,686 Có lẽ chúng ta đang trở lại. 571 00:26:12,686 --> 00:26:16,810 572 00:26:16,810 --> 00:26:19,733 Và đó là như thế nào, như một máy tính Nhà khoa học sửa chữa một máy tính. 573 00:26:19,733 --> 00:26:22,000 [Vỗ tay] 574 00:26:22,000 --> 00:26:23,220 Được rồi. 575 00:26:23,220 --> 00:26:27,160 Vì vậy, tôi đang ở đâu trong này cái gọi là cửa sổ thiết bị đầu cuối, 576 00:26:27,160 --> 00:26:32,270 và nếu tôi nslookup yale.edu, có chúng tôi đi. 577 00:26:32,270 --> 00:26:38,350 Vì vậy, tôi nhận được trở lại đầu tiên của địa chỉ IP của các máy chủ DNS mà máy tính xách tay của tôi đang sử dụng. 578 00:26:38,350 --> 00:26:41,610 Vì vậy, thêm vào một máy chủ DHCP chúng tôi nói chuyện về một thời điểm cách đây nói 579 00:26:41,610 --> 00:26:44,720 máy tính xách tay của tôi những gì IP của tôi địa chỉ là, máy chủ DHCP 580 00:26:44,720 --> 00:26:46,860 cũng nói với tôi những gì máy chủ DNS để sử dụng. 581 00:26:46,860 --> 00:26:48,860 Mặt khác tôi sẽ để tự gõ này. 582 00:26:48,860 --> 00:26:50,359 >> Nhưng đó không phải là tất cả những gì thú vị. 583 00:26:50,359 --> 00:26:54,310 Những gì tôi quan tâm là đây là Địa chỉ IP của trang web của Yale rõ ràng. 584 00:26:54,310 --> 00:26:55,470 Vì vậy, trong thực tế, chúng ta hãy cố gắng này. 585 00:26:55,470 --> 00:27:02,710 Hãy để tôi đi lên thành một trình duyệt và đi http: //, và sau đó là địa chỉ IP, 586 00:27:02,710 --> 00:27:04,220 và nhấn Enter. 587 00:27:04,220 --> 00:27:06,700 Và chúng ta hãy xem. 588 00:27:06,700 --> 00:27:09,587 Đó là làm thế nào khác bạn có thể ghé thăm trang web của Yale. 589 00:27:09,587 --> 00:27:10,920 Bây giờ nó không phải tất cả những gì đáng nhớ. 590 00:27:10,920 --> 00:27:12,220 Giống như, các pre-frosh có lẽ sẽ không 591 00:27:12,220 --> 00:27:15,310 để ghi nhớ địa chỉ cụ thể này nếu nói đến thăm đó sau khi quý khách đến thăm. 592 00:27:15,310 --> 00:27:16,580 Nhưng nó có vẻ làm việc. 593 00:27:16,580 --> 00:27:21,179 Và như vậy DNS thực sự chỉ cho phép chúng tôi có nhiều địa chỉ thân thiện với con người. 594 00:27:21,179 --> 00:27:23,220 Nhưng họ không nhất thiết phải chỉ mang lại một câu trả lời. 595 00:27:23,220 --> 00:27:25,640 >> Trong thực tế, khi bạn là một thực sự công ty công nghệ lớn, 596 00:27:25,640 --> 00:27:27,620 có thể bạn muốn có rất nhiều máy chủ. 597 00:27:27,620 --> 00:27:29,027 Và ngay cả điều này là sai lầm. 598 00:27:29,027 --> 00:27:31,110 Vì vậy, Yale có lẽ không chỉ có một máy chủ web. 599 00:27:31,110 --> 00:27:34,150 Google có thể không có chỉ 10 hay như vậy các máy chủ web. 600 00:27:34,150 --> 00:27:36,960 Google đặc biệt là có thể có hàng ngàn máy chủ web 601 00:27:36,960 --> 00:27:40,030 trên thế giới mà có thể đáp ứng các yêu cầu từ những người như chúng tôi. 602 00:27:40,030 --> 00:27:43,870 >> Nhưng họ cũng sử dụng một công nghệ gọi là cân bằng tải, mà câu chuyện dài ngắn, 603 00:27:43,870 --> 00:27:48,810 chỉ có một số ít các thiết bị trên thế giới lan truyền tải qua nhiều máy chủ. 604 00:27:48,810 --> 00:27:52,320 Vì vậy, nó là loại giống như một mạng nhện nếu bạn sẽ gửi đi các yêu cầu. 605 00:27:52,320 --> 00:27:54,380 Nhưng bây giờ, tất cả những gì thú vị cho ngày hôm nay 606 00:27:54,380 --> 00:27:56,870 là một tên miền như google.com thậm chí có thể 607 00:27:56,870 --> 00:28:00,100 có nhiều địa chỉ IP như thế. 608 00:28:00,100 --> 00:28:04,610 >> Nhưng làm thế nào tất cả các dữ liệu của chúng tôi thực sự trở lại và ra sau đó cuối cùng? 609 00:28:04,610 --> 00:28:08,320 Vâng, nó quay ra rằng có những điều được gọi là bộ định tuyến trên internet. 610 00:28:08,320 --> 00:28:10,980 Và một router tới là gì mức độ mà bạn đã biết? 611 00:28:10,980 --> 00:28:13,730 Và tôi đã được sử dụng từ một cặp vợ chồng lần trong bối cảnh một ngôi nhà, 612 00:28:13,730 --> 00:28:17,155 nhưng trong điều kiện đơn giản, những gì hiện một bộ định tuyến làm gì? 613 00:28:17,155 --> 00:28:18,780 Hãy cho tôi chỉ là một đoán dựa vào tên của nó? 614 00:28:18,780 --> 00:28:20,082 >> Đung vậy, một con đường hay một con đường? 615 00:28:20,082 --> 00:28:21,790 DAVID J. Malan: Vì vậy, đó là một con đường hay một con đường. 616 00:28:21,790 --> 00:28:23,980 Vì vậy, một tuyến đường là một đường hay đường dẫn, hoàn toàn. 617 00:28:23,980 --> 00:28:27,000 Và một bộ định tuyến, do đó, một thiết bị thực sự lộ thông tin, 618 00:28:27,000 --> 00:28:29,690 sẽ di chuyển dữ liệu giữa các điểm A và B. 619 00:28:29,690 --> 00:28:31,920 >> Và như vậy trong fact-- và đây có lẽ là khi 620 00:28:31,920 --> 00:28:34,510 bạn Google miêu tả của router trên thế giới, tất cả các bạn có được 621 00:28:34,510 --> 00:28:35,900 là các biểu đồ thị cheesy. 622 00:28:35,900 --> 00:28:38,550 Và vì vậy đây là loại nhiều nhất một đại diện tôi có thể tìm 623 00:28:38,550 --> 00:28:39,841 mà trông nhẹ nhàng thú vị. 624 00:28:39,841 --> 00:28:44,170 Mỗi một dấu chấm hoặc những tia sáng của hy vọng trên thế giới đại diện cho một router. 625 00:28:44,170 --> 00:28:47,210 Và mỗi người trong số họ có một dòng giữa một số router khác. 626 00:28:47,210 --> 00:28:49,090 >> Bởi vì thực sự, có hàng ngàn, có lẽ 627 00:28:49,090 --> 00:28:52,560 hàng triệu thiết bị định tuyến xung quanh thế giới, một số trong số đó là nhà của chúng tôi 628 00:28:52,560 --> 00:28:56,070 và trên cơ sở của chúng tôi, nhưng rất nhiều được sở hữu bởi các công ty lớn 629 00:28:56,070 --> 00:29:00,250 và được kết nối với nhau để nếu tôi muốn gửi một số dữ liệu từ đây tại Yale 630 00:29:00,250 --> 00:29:04,430 nhà trở lại Cambridge, Yale lẽ không có một dây cáp, chắc chắn, 631 00:29:04,430 --> 00:29:05,650 đi trực tiếp đến Harvard. 632 00:29:05,650 --> 00:29:07,399 Và Yale không có một dây cáp duy nhất đi 633 00:29:07,399 --> 00:29:10,010 MIT, hay Stanford, hoặc Berkeley, hoặc để Google, 634 00:29:10,010 --> 00:29:11,820 hoặc bất kỳ số lượng các điểm đến. 635 00:29:11,820 --> 00:29:14,760 >> Thay vào đó, Yale và Harvard, và tất cả mọi người khác trên internet 636 00:29:14,760 --> 00:29:17,610 không có một hoặc nhiều router kết nối với nó, có lẽ 637 00:29:17,610 --> 00:29:18,810 ở ngoại vi của khuôn viên trường. 638 00:29:18,810 --> 00:29:21,690 Vì vậy mà khi dữ liệu của tôi muốn rời khỏi khuôn viên trường Đại học Yale, 639 00:29:21,690 --> 00:29:24,770 nó đi để mà router gần nhất, như được mô tả bởi một trong các dấu chấm. 640 00:29:24,770 --> 00:29:27,940 Và sau đó là con số Router hiểu xem để gửi nó theo cách này, hay cách này, 641 00:29:27,940 --> 00:29:33,440 hoặc theo cách này, hay cách này dựa trên một bảng trong bộ nhớ của nó, 642 00:29:33,440 --> 00:29:36,870 một tập tin Excel hoặc Google bảng tính trong một cột 643 00:29:36,870 --> 00:29:41,315 nói, nếu địa chỉ IP của bạn bắt đầu với số một, đi theo con đường này. 644 00:29:41,315 --> 00:29:43,690 Nếu địa chỉ IP của bạn bắt đầu với một số hai, đi theo cách đó. 645 00:29:43,690 --> 00:29:47,040 Và do đó, bạn có thể phá vỡ nó xuống số lượng có gửi các bộ định tuyến 646 00:29:47,040 --> 00:29:49,040 dữ liệu mỗi cách đó. 647 00:29:49,040 --> 00:29:51,419 >> Và chúng ta có thể nhìn thấy loại này là tốt. 648 00:29:51,419 --> 00:29:54,210 Hãy đi về phía trước vào thiết bị đầu cuối này cửa sổ một lần nữa, và cho tôi đi trước 649 00:29:54,210 --> 00:30:00,700 và theo dõi các tuyến, hãy nói, www.mit.edu, 650 00:30:00,700 --> 00:30:02,970 đó là một vài trăm dặm. 651 00:30:02,970 --> 00:30:04,500 Đó là thực sự damn nhanh. 652 00:30:04,500 --> 00:30:06,290 >> Vì vậy, những gì vừa xảy ra? 653 00:30:06,290 --> 00:30:10,360 Vì vậy, chỉ trong bảy bước, chỉ trong bốn phần nghìn giây, 654 00:30:10,360 --> 00:30:14,660 Tôi gửi dữ liệu qua internet từ đây tại Yale để MIT. 655 00:30:14,660 --> 00:30:18,240 Mỗi một hàng, bạn có thể có lẽ đoán bây giờ đại diện cho những gì? 656 00:30:18,240 --> 00:30:19,060 >> Đung A router. 657 00:30:19,060 --> 00:30:20,101 >> DAVID J. Malan: Một router. 658 00:30:20,101 --> 00:30:24,090 Vì vậy, thực sự, nó trông giống như có khoảng bảy, vì vậy router, 659 00:30:24,090 --> 00:30:29,350 hoặc sáu router ở giữa tôi thể chất ở trường luật Yale ở đây 660 00:30:29,350 --> 00:30:31,612 và trang web của MIT ở đó. 661 00:30:31,612 --> 00:30:34,570 Và những gì chúng ta có thể thu lượm được từ này là như follows-- và cho tôi làm sạch nó lên. 662 00:30:34,570 --> 00:30:38,180 Tôi sẽ chạy lại nó bằng lệnh đối số dòng của -q 1 để chỉ nói, 663 00:30:38,180 --> 00:30:39,300 chỉ cho tôi một câu truy vấn. 664 00:30:39,300 --> 00:30:40,800 Theo mặc định, traceroute làm ba. 665 00:30:40,800 --> 00:30:42,350 Và đó là lý do tại sao chúng ta thấy chùm con số. 666 00:30:42,350 --> 00:30:44,850 Tôi muốn nhìn thấy số lượng ít hơn chỉ để giữ cho đầu ra sạch hơn. 667 00:30:44,850 --> 00:30:46,280 Và chúng ta hãy xem những gì sẽ xảy ra. 668 00:30:46,280 --> 00:30:49,220 >> Vì vậy, đối với bất cứ lý do nào, ai đó ở Yale tưởng 669 00:30:49,220 --> 00:30:54,130 nó sẽ được vui để gọi nó là của bạn arubacentral router mặc định, mà 670 00:30:54,130 --> 00:30:57,920 là trên vlan hay ảo LAN, khu vực địa phương ảo 671 00:30:57,920 --> 00:30:59,810 mạng 30-- vì vậy bạn có thể có ít nhất 672 00:30:59,810 --> 00:31:03,050 29 router.net.yale.internal others--. 673 00:31:03,050 --> 00:31:06,660 Và .internal đây là loại một giả miền cấp cao nhất có nghĩa là để được sử dụng chỉ 674 00:31:06,660 --> 00:31:07,210 trong khuôn viên trường. 675 00:31:07,210 --> 00:31:10,335 Và thông báo các địa chỉ IP tương ứng của router, bất cứ nơi nào nó là ở đây 676 00:31:10,335 --> 00:31:13,920 trong khuôn viên trường, là 172.28.204.129. 677 00:31:13,920 --> 00:31:17,470 Và phải mất 36 mili giây để đi từ đây đến đó. 678 00:31:17,470 --> 00:31:18,050 >> Câu chuyện hài hước. 679 00:31:18,050 --> 00:31:19,716 Chúng tôi sẽ lấy lại cho rằng chỉ trong một khoảnh khắc. 680 00:31:19,716 --> 00:31:22,920 Nhưng bây giờ router-- thứ hai mà rõ ràng arubacentral 681 00:31:22,920 --> 00:31:25,790 có một số loại vật lý kết nối likely-- nhất 682 00:31:25,790 --> 00:31:27,249 con người không bận tâm đặt tên nó. 683 00:31:27,249 --> 00:31:30,373 Những con người Yale đã không bận tâm đặt tên nó bởi vì nó là bên trong mạng của bạn 684 00:31:30,373 --> 00:31:30,940 dường như. 685 00:31:30,940 --> 00:31:32,520 Và do đó, nó chỉ có một địa chỉ IP. 686 00:31:32,520 --> 00:31:34,660 >> Nhưng sau đó một router thứ ba đây trên mạng của Đại học Yale 687 00:31:34,660 --> 00:31:36,700 đó có thể là một chút xa vẫn 688 00:31:36,700 --> 00:31:41,330 được gọi là cen10g bất cứ điều gì đó là asr.net.yale.internal. 689 00:31:41,330 --> 00:31:43,040 Và nó cũng có một địa chỉ IP. 690 00:31:43,040 --> 00:31:44,990 >> Bây giờ là lý do tại sao những con số loại dao động? 691 00:31:44,990 --> 00:31:47,890 2.9, 1.4, 36? 692 00:31:47,890 --> 00:31:48,840 Router nhận được bận rộn. 693 00:31:48,840 --> 00:31:50,420 Và họ nhận được tắc nghẽn và sao lưu. 694 00:31:50,420 --> 00:31:53,200 Có hàng ngàn người về điều này trường bằng cách sử dụng internet ngay bây giờ. 695 00:31:53,200 --> 00:31:56,050 Có một trăm người trong này phòng bằng cách sử dụng internet ngay bây giờ. 696 00:31:56,050 --> 00:31:59,030 >> Và vì vậy những gì đang xảy ra là các bộ định tuyến có thể bị tắc nghẽn. 697 00:31:59,030 --> 00:32:01,350 Và do đó, những lần might dao động một chút. 698 00:32:01,350 --> 00:32:04,620 Vì vậy, đó là lý do tại sao họ không nhất thiết tăng thẳng thắn. 699 00:32:04,620 --> 00:32:07,510 >> Nhưng những thứ có được loại thú vị trong bước thứ tư. 700 00:32:07,510 --> 00:32:13,040 Rõ ràng giữa Yale và Bước bốn là một hop. 701 00:32:13,040 --> 00:32:16,480 Và đâu là router trong bước thứ có lẽ? 702 00:32:16,480 --> 00:32:17,410 >> Đung [Không nghe thấy] 703 00:32:17,410 --> 00:32:19,410 >> DAVID J. Malan: JFK có lẽ, có lẽ tại sân bay. 704 00:32:19,410 --> 00:32:21,950 Nhưng vì lý do gì, quản trị hệ thống, do đó 705 00:32:21,950 --> 00:32:24,140 chuyên viên máy tính chạy các máy chủ cho năm đã đặt tên cho router 706 00:32:24,140 --> 00:32:25,600 sau khi mã sân bay gần nhất. 707 00:32:25,600 --> 00:32:27,420 Vì vậy, có thể có nghĩa JFK nó chỉ là một nơi nào đó 708 00:32:27,420 --> 00:32:29,970 ở New York, có thể ở Manhattan hoặc một trong các quận. 709 00:32:29,970 --> 00:32:34,460 nyc2 biểu, có lẽ, khác bộ định tuyến đó là một nơi nào đó ở New York. 710 00:32:34,460 --> 00:32:37,140 >> Tôi không biết chắc đâu hàng sáu là ở đây, router số sáu. 711 00:32:37,140 --> 00:32:40,110 quest.net một ISP lớn, cung cấp dịch vụ internet, 712 00:32:40,110 --> 00:32:43,240 cung cấp kết nối internet đến những nơi lớn như Yale và những người khác. 713 00:32:43,240 --> 00:32:47,110 Và rồi cuối cùng này, nó trông như thế MIT thậm chí không 714 00:32:47,110 --> 00:32:50,180 có trang web riêng của họ ở Cambridge nhất thiết, 715 00:32:50,180 --> 00:32:52,090 nhưng thay vì họ đã bên ngoài trang web của họ, 716 00:32:52,090 --> 00:32:55,150 hoặc ít nhất là các máy chủ vật lý, để một công ty gọi là Akamai. 717 00:32:55,150 --> 00:32:57,940 Và Akamai thực sự là phải xuống đường từ MIT ở Cambridge 718 00:32:57,940 --> 00:32:58,790 nó quay ra. 719 00:32:58,790 --> 00:33:02,360 >> Nhưng nhận ra quá mà thậm chí còn nghĩ bạn sẽ www.mit.edu, 720 00:33:02,360 --> 00:33:05,200 chúng tôi thực sự có thể được gửi bất cứ nơi nào trên thế giới. 721 00:33:05,200 --> 00:33:06,960 >> Và chúng ta hãy xem một nơi nào đó khác trên thế giới. 722 00:33:06,960 --> 00:33:09,240 Hãy để tôi đi trước và rõ ràng màn hình này và thay vào đó 723 00:33:09,240 --> 00:33:15,240 theo dõi các tuyến đường, chỉ một lần, vì vậy truy vấn một, để www.cnn.co.jp, 724 00:33:15,240 --> 00:33:18,390 trang chủ Nhật Bản cho CNN, các trang web tin tức. 725 00:33:18,390 --> 00:33:20,660 Và nếu tôi nhấn Enter bây giờ, hãy xem những gì sẽ xảy ra. 726 00:33:20,660 --> 00:33:23,610 Chúng tôi đang một lần nữa bắt đầu từ arubacentral. 727 00:33:23,610 --> 00:33:26,510 Chúng tôi sau đó đi đến bộ định tuyến không tên, một vài chi tiết. 728 00:33:26,510 --> 00:33:29,527 Vì vậy, phải mất 12 bước nhảy để có được đến Nhật Bản lần này. 729 00:33:29,527 --> 00:33:30,860 Và chúng ta hãy xem những gì chúng tôi có thể thu thập. 730 00:33:30,860 --> 00:33:32,450 >> Vì vậy, cùng một hop, cùng hop. 731 00:33:32,450 --> 00:33:35,170 Hơi khác nhau bây giờ. 732 00:33:35,170 --> 00:33:36,380 Của thú vị này. 733 00:33:36,380 --> 00:33:40,870 Vì vậy, tôi đoán ở đây, stamford1 là một vài thị trấn đi trong Connecticut cũng. 734 00:33:40,870 --> 00:33:43,810 Các router trong sáu liên tiếp và bảy không có tên. 735 00:33:43,810 --> 00:33:46,370 Nhưng đây là loại tuyệt vời. 736 00:33:46,370 --> 00:33:53,310 >> Vì vậy, những gì có vẻ là giữa router trong bước bảy và tám? 737 00:33:53,310 --> 00:33:54,760 Và tại sao bạn nói càng nhiều? 738 00:33:54,760 --> 00:33:55,260 Yeah? 739 00:33:55,260 --> 00:33:56,060 >> Đung Dương. 740 00:33:56,060 --> 00:33:57,640 >> DAVID J. Malan: Có thể là một đại dương. 741 00:33:57,640 --> 00:34:01,366 Chúng tôi biết đó là sự thật như, trực giác, phải không? 742 00:34:01,366 --> 00:34:04,790 Nhưng chúng ta có thể khẳng định như nhiều loại các loại thực nghiệm tại sao? 743 00:34:04,790 --> 00:34:06,860 Điều gì đã thay đổi giữa hàng bảy và tám? 744 00:34:06,860 --> 00:34:09,429 745 00:34:09,429 --> 00:34:14,739 >> Phải mất rất nhiều thời gian để đi đến bất cứ bộ định tuyến không tên này bảy là, 746 00:34:14,739 --> 00:34:18,670 có lẽ đâu đó trong lục địa Mỹ, bước tám, 747 00:34:18,670 --> 00:34:22,639 mà có lẽ là một nơi nào đó ở Nhật Bản dựa trên tên miền của .jp có. 748 00:34:22,639 --> 00:34:25,719 Và do đó, những bổ sung trăm mili giây một cái gì đó 749 00:34:25,719 --> 00:34:28,960 hoặc 90 hoặc hơn mili giây là kết quả của dữ liệu của chúng tôi đi 750 00:34:28,960 --> 00:34:31,100 trên một cơ thể khá lớn các nước. 751 00:34:31,100 --> 00:34:34,570 >> Bây giờ tò mò, có vẻ như rằng có lẽ cáp mà đi qua toàn bộ Hoa Kỳ. 752 00:34:34,570 --> 00:34:37,070 Nếu chúng ta đang thực sự đi qua Bờ Tây để đến Nhật Bản, 753 00:34:37,070 --> 00:34:39,111 đó là loại đường dài nếu chúng ta đi theo con đường khác. 754 00:34:39,111 --> 00:34:41,400 Vì vậy, nó không hoàn toàn rõ ràng những gì đang xảy ra trên cơ thể. 755 00:34:41,400 --> 00:34:43,830 Nhưng thực tế là mỗi thêm hop thực sự 756 00:34:43,830 --> 00:34:46,020 mất còn rõ rệt hơn mỗi khác, đó là 757 00:34:46,020 --> 00:34:50,440 khá tốt xác nhận rằng CNN Máy chủ web của Nhật Bản có lẽ là thực sự 758 00:34:50,440 --> 00:34:51,310 Ở Nhật. 759 00:34:51,310 --> 00:34:54,089 Và nó chắc chắn xa hơn xa hơn của MIT. 760 00:34:54,089 --> 00:34:56,380 Và nó đáng chú ý quá, dữ liệu của bạn không nhất thiết phải là 761 00:34:56,380 --> 00:34:58,794 đi du lịch các khoảng cách ngắn nhất có thể. 762 00:34:58,794 --> 00:35:00,960 Trong thực tế, nếu bạn chơi xung quanh với đường dấu vết ở nhà 763 00:35:00,960 --> 00:35:04,170 chỉ cần chọn trang web ngẫu nhiên, bạn có thể thấy rằng chỉ cần gửi một email 764 00:35:04,170 --> 00:35:06,490 hoặc truy cập vào một trang web đó là ở đây tại New Haven, 765 00:35:06,490 --> 00:35:09,200 đôi khi dữ liệu của bạn có thể đầu tiên đi đường vòng, đi xuống DC, 766 00:35:09,200 --> 00:35:10,450 và sau đó quay trở lại. 767 00:35:10,450 --> 00:35:12,860 Và đó chỉ là vì các quyết định định tuyến động 768 00:35:12,860 --> 00:35:14,650 các máy tính này đang làm. 769 00:35:14,650 --> 00:35:18,930 >> Bây giờ chỉ để cho vui, đội ngũ sản xuất tỉa một trong những video cho chúng tôi 770 00:35:18,930 --> 00:35:20,807 chỉ là một chút gọn gàng hơn. 771 00:35:20,807 --> 00:35:23,640 Tuy nhiên, để cho chúng ta một cảm giác nhanh here-- và chúng ta có thể để đèn sáng on-- 772 00:35:23,640 --> 00:35:32,363 như bao nhiêu cáp là thực sự thực hiện tất cả các dữ liệu của chúng tôi. 773 00:35:32,363 --> 00:35:33,029 [VIDEO PLAYBACK] 774 00:35:33,029 --> 00:35:36,023 [MUSIC CHƠI] 775 00:35:36,023 --> 00:36:31,911 776 00:36:31,911 --> 00:36:32,777 [END PLAYBACK] 777 00:36:32,777 --> 00:36:35,860 DAVID J. Malan: Tất cả các video mạng có âm nhạc âm mát rõ ràng. 778 00:36:35,860 --> 00:36:38,084 Vì vậy, đó là để chỉ nhận cảm giác chỉ cần bao nhiêu có 779 00:36:38,084 --> 00:36:39,500 được diễn ra dưới mui xe. 780 00:36:39,500 --> 00:36:41,355 >> Nhưng chúng ta hãy nhìn vào một mức thấp hơn một chút bây giờ 781 00:36:41,355 --> 00:36:44,150 tại những dữ liệu thực sự là đi qua những đường dây, 782 00:36:44,150 --> 00:36:46,720 và thậm chí đi không dây trong một căn phòng như thế này. 783 00:36:46,720 --> 00:36:49,580 >> Vì vậy, nó quay ra khi bạn yêu cầu một trang web, hoặc gửi e-mail, 784 00:36:49,580 --> 00:36:53,670 hoặc nhận được một trang web, hoặc một e-mail, hoặc nhắn Gchat, hoặc một tin nhắn Facebook, 785 00:36:53,670 --> 00:36:57,800 hoặc các loại tương tự, đó không chỉ là một đoạn lớn của các bit chảy không dây 786 00:36:57,800 --> 00:37:00,600 qua không khí hoặc điện tử trên một sợi dây. 787 00:37:00,600 --> 00:37:03,680 Thay vào đó, yêu cầu đó hoặc phản ứng nói chung là 788 00:37:03,680 --> 00:37:05,810 chửi rủa thành phần riêng biệt. 789 00:37:05,810 --> 00:37:08,880 >> Vì vậy, nói cách khác, khi bạn có một yêu cầu để làm cho các máy tính khác, 790 00:37:08,880 --> 00:37:10,980 hoặc bạn nhận lại một phản ứng trong máy khác 791 00:37:10,980 --> 00:37:15,800 như giả sử, ví dụ, nếu unfamiliar-- như quá nhiều người 792 00:37:15,800 --> 00:37:18,400 dường như là những days-- nếu không quen thuộc với this-- 793 00:37:18,400 --> 00:37:20,200 không này fellow-- đồng này. 794 00:37:20,200 --> 00:37:23,950 Vì vậy, giả sử đây là một thông điệp rằng Tôi muốn gửi đến một ai đó ở phía sau. 795 00:37:23,950 --> 00:37:28,930 Ai trong rất trở lại muốn nhận được một hình ảnh của Rick Astley ngày hôm nay? 796 00:37:28,930 --> 00:37:29,805 OK, tên của bạn là gì? 797 00:37:29,805 --> 00:37:30,590 >> Đung Cole. 798 00:37:30,590 --> 00:37:31,306 >> DAVID J. Malan: nó là gì? 799 00:37:31,306 --> 00:37:31,672 >> Đung Cole. 800 00:37:31,672 --> 00:37:32,040 >> DAVID J. Malan: Holt? 801 00:37:32,040 --> 00:37:32,540 H-O? 802 00:37:32,540 --> 00:37:33,711 Đung C-O-L-E. 803 00:37:33,711 --> 00:37:34,960 DAVID J. Malan: C-O-L-E, Cole. 804 00:37:34,960 --> 00:37:35,520 Xin lỗi. 805 00:37:35,520 --> 00:37:36,430 C-O-L-E. 806 00:37:36,430 --> 00:37:36,930 Được rồi. 807 00:37:36,930 --> 00:37:40,990 Vì vậy, nếu tôi muốn gửi Cole này hình ảnh ở đây, bạn có biết điều này 808 00:37:40,990 --> 00:37:42,410 là loại một bức tranh lớn, phải không? 809 00:37:42,410 --> 00:37:44,472 Đây có thể là một vài kilobytes, một vài MB, 810 00:37:44,472 --> 00:37:45,930 đặc biệt là nếu nó có độ phân giải cao. 811 00:37:45,930 --> 00:37:48,660 Và tôi không thực sự muốn dừng lại tất cả mọi người khác sử dụng internet 812 00:37:48,660 --> 00:37:50,680 chỉ khi tôi gửi này thực sự lớn, chất lượng hình ảnh cao 813 00:37:50,680 --> 00:37:52,138 của Rick Astley khắp phòng. 814 00:37:52,138 --> 00:37:55,310 Tôi muốn dữ liệu của bạn để tiếp tục truyền đi trong mạng và các kết nối Wi-Fi 815 00:37:55,310 --> 00:37:56,100 cũng. 816 00:37:56,100 --> 00:38:00,100 >> Và do đó, nó làm cho sense-- và điều này được thu hồi bằng điện tử, 817 00:38:00,100 --> 00:38:01,780 không quá nhiều trong thế giới thực. 818 00:38:01,780 --> 00:38:04,904 Trên thực tế, điều này sẽ có nhiều ý nghĩa nếu bạn đưa âm thanh của tôi ra. 819 00:38:04,904 --> 00:38:08,360 Vì vậy, nếu tôi xé này trong nửa như thế này đây, 820 00:38:08,360 --> 00:38:11,912 này bây giờ có thể đi du lịch internet hiệu quả hơn, 821 00:38:11,912 --> 00:38:13,120 bởi vì đó là một mảnh nhỏ hơn. 822 00:38:13,120 --> 00:38:16,780 Vì vậy, với xác suất thấp hơn là nó sẽ để va chạm giao thông với người khác 823 00:38:16,780 --> 00:38:17,650 trên mạng. 824 00:38:17,650 --> 00:38:21,240 >> Và vì vậy những gì máy tính của bạn thực hiện khi bạn muốn gửi một thông điệp tới Cole 825 00:38:21,240 --> 00:38:24,917 nó là khối lên một tin nhắn như thế này vào từng miếng nhỏ, mảnh như vậy để nói chuyện. 826 00:38:24,917 --> 00:38:28,000 Và sau đó nó đặt chúng bên trong của những gì chúng ta sẽ gọi loại phong bì ảo. 827 00:38:28,000 --> 00:38:29,620 >> Vì vậy, tôi có bốn phong bì giấy ở đây. 828 00:38:29,620 --> 00:38:32,690 Và tôi đã sẵn số họ, một, hai, ba, bốn người. 829 00:38:32,690 --> 00:38:35,800 Và những gì tôi sẽ làm gì trên mặt trước điều này, giống như một thư bình thường, 830 00:38:35,800 --> 00:38:38,000 là tôi sẽ đặt tên Cole có. 831 00:38:38,000 --> 00:38:41,270 Và sau đó ở phía trên, tôi sẽ đặt tên của tôi ở đó, 832 00:38:41,270 --> 00:38:44,995 David, vì vậy mà các gói tin đầu tiên như vậy Tôi gửi ra có trên internet 833 00:38:44,995 --> 00:38:47,620 trông một chút gì đó như này, các đặc điểm nổi bật 834 00:38:47,620 --> 00:38:50,830 trong số đó là nó có một để giải quyết, một từ địa chỉ, 835 00:38:50,830 --> 00:38:52,670 và cũng có một số, do đó đó mà hy vọng 836 00:38:52,670 --> 00:38:55,680 đầy đủ thông tin cho Cole để tái tạo lại thông điệp này. 837 00:38:55,680 --> 00:38:58,820 >> Vì vậy, hãy để tôi làm như vậy ở đây, cùng ở đây, và cùng ở đây, 838 00:38:58,820 --> 00:39:01,310 viết tên của mình trong Đến trường trên tất cả chúng. 839 00:39:01,310 --> 00:39:04,240 Và sau đó chúng ta hãy đi trước và đưa những hình ảnh bên trong. 840 00:39:04,240 --> 00:39:06,540 >> Vì vậy, đây là một trong những gói đó là sẵn sàng để đi. 841 00:39:06,540 --> 00:39:09,780 Dưới đây là gói tin khác đó là sẵn sàng để đi. 842 00:39:09,780 --> 00:39:14,100 Dưới đây là một gói thứ ba đó là sẵn sàng để đi. 843 00:39:14,100 --> 00:39:16,870 Và đây là một thứ tư gói tin đó là sẵn sàng để đi. 844 00:39:16,870 --> 00:39:19,849 >> Và bây giờ những gì là thú vị về cách mạng trong các công trình thực tế 845 00:39:19,849 --> 00:39:22,140 đó là mặc dù tôi đã có bốn gói, tất cả đều 846 00:39:22,140 --> 00:39:24,730 được mệnh cho cùng vị trí, họ không nhất thiết 847 00:39:24,730 --> 00:39:26,870 sẽ đi qua cùng một tuyến đường. 848 00:39:26,870 --> 00:39:32,070 Và do đó, mặc dù tôi có thể giao các Túi đi đến router gần nhất 849 00:39:32,070 --> 00:39:36,660 hãy nói, nếu bạn muốn gửi cho họ bằng mọi cách, chúng ta hãy xem 850 00:39:36,660 --> 00:39:40,706 những gì thực sự xảy ra, mục tiêu của mà là để có được họ cuối cùng với Cole. 851 00:39:40,706 --> 00:39:44,850 852 00:39:44,850 --> 00:39:48,770 Và quả thực, họ đã không nhất thiết phải cùng một hướng. 853 00:39:48,770 --> 00:39:50,510 Và đó là tốt. 854 00:39:50,510 --> 00:39:52,480 Đây là một chút vụng về Oprah và phong cách ngày nay. 855 00:39:52,480 --> 00:39:56,540 >> Và bây giờ hãy để tôi cố tình mất rằng một trong trở lại. 856 00:39:56,540 --> 00:40:00,196 Và bây giờ Cole, nếu bạn muốn Lắp ráp lại nó như là tốt nhất bạn có thể. 857 00:40:00,196 --> 00:40:06,610 858 00:40:06,610 --> 00:40:10,180 Tất nhiên, chúng ta có thể đoán những gì kết luận ở đây là có được. 859 00:40:10,180 --> 00:40:12,600 Bạn sẽ có 3/4 Rick Astley chỉ trong một khoảnh khắc. 860 00:40:12,600 --> 00:40:15,920 861 00:40:15,920 --> 00:40:19,291 Và những gì mặc dù là hàm ý về điều đó? 862 00:40:19,291 --> 00:40:20,540 Bạn muốn thử để giữ nó lên? 863 00:40:20,540 --> 00:40:23,540 Chúng tôi có một máy ảnh chỉ vào bạn nếu bạn muốn 864 00:40:23,540 --> 00:40:26,226 để đặt ra với Rick Astley ở đây. 865 00:40:26,226 --> 00:40:28,610 866 00:40:28,610 --> 00:40:29,510 Hiện chúng tôi đi. 867 00:40:29,510 --> 00:40:30,410 Đáng yêu. 868 00:40:30,410 --> 00:40:33,230 >> Nhưng bạn dường như mất tích một mảnh của Rick Astley. 869 00:40:33,230 --> 00:40:37,015 Vì vậy, nó quay ra rằng internet thường được thúc đẩy bởi không chỉ IP, 870 00:40:37,015 --> 00:40:39,890 nhưng trong thực tế chúng ta đã nghe ở rất bắt đầu bài giảng trong video-- đó 871 00:40:39,890 --> 00:40:42,473 và bạn đã có thể nhìn thấy điều này từ viết tắt hơn often-- những gì thực sự 872 00:40:42,473 --> 00:40:44,360 là giao thức bạn có xu hướng nghe về? 873 00:40:44,360 --> 00:40:45,120 >> Đung TCP / IP. 874 00:40:45,120 --> 00:40:48,090 >> DAVID J. Malan: TCP / IP, mà chỉ là một sự kết hợp 875 00:40:48,090 --> 00:40:49,940 của hai giao thức, một gọi là IP. 876 00:40:49,940 --> 00:40:52,640 Mà một lần nữa, chỉ là tập các công ước thông qua đó chúng ta 877 00:40:52,640 --> 00:40:54,740 giải quyết mọi máy tính trong mạng Internet. 878 00:40:54,740 --> 00:40:56,930 Và sau đó TCP, trong đó phục vụ một mục đích khác. 879 00:40:56,930 --> 00:41:00,110 >> TCP là một giao thức mà bạn thường sử dụng kết hợp 880 00:41:00,110 --> 00:41:04,410 với IP, mà trong số khác điều, giao hàng đảm bảo. 881 00:41:04,410 --> 00:41:08,860 Trong thực tế, TCP là giao thức sẽ nhận thấy rằng một trong những gói 882 00:41:08,860 --> 00:41:10,930 dường như đã không nhận được để Cole, bởi vì anh ta có vẻ 883 00:41:10,930 --> 00:41:12,830 là thiếu số bốn trong số bốn. 884 00:41:12,830 --> 00:41:16,530 Và vì vậy những gì TCP, một giao thức không có gì, là nó nói với Cole, 885 00:41:16,530 --> 00:41:19,850 hey Cole, nếu bạn nhận được chỉ Ba trong số bốn gói, 886 00:41:19,850 --> 00:41:22,600 cho tôi biết là một trong những bạn đang mất tích, về cơ bản, 887 00:41:22,600 --> 00:41:25,570 và sau đó mục đích của tôi trong cuộc sống nên được để truyền lại rằng. 888 00:41:25,570 --> 00:41:28,580 >> Và do đó, nếu tôi cũng vậy, người gửi, đang sử dụng TCP, 889 00:41:28,580 --> 00:41:31,810 Sau đó tôi nên tạo một packet-- mới không nhăn một here-- này 890 00:41:31,810 --> 00:41:35,980 truyền lại chỉ mảnh này nó, vì vậy mà cuối cùng Cole có 891 00:41:35,980 --> 00:41:38,280 một món quà lưu niệm đầy đủ, nếu không có gì khác. 892 00:41:38,280 --> 00:41:43,000 Nhưng như vậy mà cuối cùng các dữ liệu thực sự được đến đích chính xác của nó. 893 00:41:43,000 --> 00:41:48,020 >> Nhưng thật không may, viết tên của Cole về phía trước là không đủ, mỗi se. 894 00:41:48,020 --> 00:41:50,270 Và thực sự, tôi sẽ không viết Tên của Cole, nhưng có lẽ 895 00:41:50,270 --> 00:41:51,655 địa chỉ IP của mình trên phong bì. 896 00:41:51,655 --> 00:41:52,780 Và tôi sẽ không viết David. 897 00:41:52,780 --> 00:41:56,550 Tôi sẽ viết địa chỉ IP của tôi trên phong bì để các máy tính có thể thực sự 898 00:41:56,550 --> 00:41:57,999 giao tiếp qua lại. 899 00:41:57,999 --> 00:42:00,540 Nhưng nó chỉ ra rằng máy tính có thể làm cách nào nhiều hơn là phục vụ lên 900 00:42:00,540 --> 00:42:01,900 hình ảnh của Rick Astley. 901 00:42:01,900 --> 00:42:05,340 Họ cũng có thể gửi lại và nhận email, các tin nhắn. 902 00:42:05,340 --> 00:42:09,780 Họ có thể làm những việc như chuyển file, và bất kỳ số công cụ khác 903 00:42:09,780 --> 00:42:12,330 bạn sử dụng trên internet, các máy chủ có thể làm những ngày này. 904 00:42:12,330 --> 00:42:15,300 >> Và chỉ vì một công ty, hoặc một trường học, hoặc một người 905 00:42:15,300 --> 00:42:19,420 muốn có một máy chủ web, và một máy chủ email, và một máy chủ trò chuyện, 906 00:42:19,420 --> 00:42:21,420 không có nghĩa là bạn cần ba máy vi tính. 907 00:42:21,420 --> 00:42:26,200 Bạn có thể chỉ có một máy tính đang chạy nhiều dịch vụ, do đó, để nói chuyện. 908 00:42:26,200 --> 00:42:29,190 >> Và như vậy khi Cole nhận một thông điệp như thế, làm thế nào 909 00:42:29,190 --> 00:42:32,940 sao máy tính của mình để biết liệu hiển thị hình ảnh trong trình duyệt của mình, 910 00:42:32,940 --> 00:42:37,730 hoặc trong Gchat, hoặc trong Facebook Messenger, hoặc trong bất kỳ số lượng các công cụ khác? 911 00:42:37,730 --> 00:42:40,430 >> Vì vậy, nó quay ra cũng vào đó như vỏ có thêm mảnh 912 00:42:40,430 --> 00:42:43,070 các thông tin được biết đến như là một số cổng. 913 00:42:43,070 --> 00:42:45,240 Và một số cổng là chỉ là một số thực, 914 00:42:45,240 --> 00:42:48,342 nhưng nó xác định duy nhất không máy tính, nhưng các dịch vụ. 915 00:42:48,342 --> 00:42:49,550 Và có những chùm. 916 00:42:49,550 --> 00:42:51,258 Vì vậy, nó chỉ ra rằng trong thế giới, con người 917 00:42:51,258 --> 00:42:57,095 đã quyết định một vài ví dụ công ước, một số trong đó là những. 918 00:42:57,095 --> 00:42:59,220 Vì vậy, có cái gì đó gọi Nộp Transfer Protocol. 919 00:42:59,220 --> 00:42:59,870 Nó khá ngày. 920 00:42:59,870 --> 00:43:00,970 Nó hoàn toàn không an toàn. 921 00:43:00,970 --> 00:43:02,320 Rất nhiều người vẫn sử dụng nó. 922 00:43:02,320 --> 00:43:04,240 Và nó sử dụng cổng số 21. 923 00:43:04,240 --> 00:43:07,250 Nói cách khác, nếu gửi một tập tin thông qua FTP, 924 00:43:07,250 --> 00:43:10,570 phong bì sẽ không chỉ có những gửi và địa chỉ IP của người nhận, 925 00:43:10,570 --> 00:43:14,020 nó cũng sẽ có số 21 để máy tính nhận biết oh, đây 926 00:43:14,020 --> 00:43:17,280 là một tập tin, không phải là một email hoặc tin nhắn chat. 927 00:43:17,280 --> 00:43:19,016 >> 25 là SMTP. 928 00:43:19,016 --> 00:43:20,516 Làm thế nào nhiều bạn đã từng sử dụng SMTP? 929 00:43:20,516 --> 00:43:22,850 930 00:43:22,850 --> 00:43:23,380 Sai rồi. 931 00:43:23,380 --> 00:43:24,490 Hầu như tất cả các bạn có. 932 00:43:24,490 --> 00:43:28,730 Nếu bạn đã từng sử dụng email, bạn đã sử dụng SMTP, đơn giản giao thức truyền mail, 933 00:43:28,730 --> 00:43:32,300 mà chỉ là một cách nói, đây là loại máy tính hoặc dịch vụ 934 00:43:32,300 --> 00:43:34,600 mà gửi đi email của bạn. 935 00:43:34,600 --> 00:43:38,780 >> Và nếu bạn đã từng nhìn thấy từ viết tắt như POP, IMAP hay, và có một vài người khác, 936 00:43:38,780 --> 00:43:40,670 những người đang tiếp nhận email, thông thường. 937 00:43:40,670 --> 00:43:42,650 Điều đó chỉ có nghĩa là nó một dịch vụ khác nhau. 938 00:43:42,650 --> 00:43:45,850 Đó là phần mềm mà một người nào đó viết rằng sẽ gửi đến hoặc nghe 939 00:43:45,850 --> 00:43:48,880 trên một số cổng cụ thể như vậy rằng nó không gây nhầm lẫn email 940 00:43:48,880 --> 00:43:50,360 với một số loại dữ liệu khác. 941 00:43:50,360 --> 00:43:55,500 >> Bây giờ là web HTTP, đó là số 80, và cũng có cổng 443. 942 00:43:55,500 --> 00:43:57,590 Và trên thực tế, mặc dù chúng tôi con người may mắn 943 00:43:57,590 --> 00:43:59,610 không cần phải làm điều này, bất cứ lúc nào bạn truy cập 944 00:43:59,610 --> 00:44:05,810 một trang web như thế http://www.yale.edu, các trình duyệt 945 00:44:05,810 --> 00:44:07,790 chỉ là loại hữu ích ở chỗ nó 946 00:44:07,790 --> 00:44:10,970 giả sử rằng bạn muốn số cổng 80. 947 00:44:10,970 --> 00:44:15,710 Chúng tôi đã biết rằng DNS có thể tìm ra những địa chỉ IP là của www.yale.edu. 948 00:44:15,710 --> 00:44:17,970 Nhưng máy tính chỉ là sẽ suy ra rằng bạn 949 00:44:17,970 --> 00:44:21,560 muốn cổng 80 vì bạn đang sử dụng Chrome hoặc IE, hoặc một số trình duyệt khác. 950 00:44:21,560 --> 00:44:24,930 Nhưng tôi kỹ thuật có thể làm ruột 80. 951 00:44:24,930 --> 00:44:28,520 Và sau đó tôi có thể nói một cách rõ ràng trình duyệt của tôi, gửi một gói hoặc nhiều hơn 952 00:44:28,520 --> 00:44:32,080 thông tin để www.yale.edu yêu cầu trang nhà ngày nay. 953 00:44:32,080 --> 00:44:36,070 Nhưng đặc biệt, địa chỉ nó để IP Yale tại cổng 80 954 00:44:36,070 --> 00:44:39,190 vì vậy mà tôi thực sự có được sao máy chủ web của Yale. 955 00:44:39,190 --> 00:44:42,229 >> Bây giờ nó ngay lập tức biến mất bởi vì trình duyệt chỉ 956 00:44:42,229 --> 00:44:44,020 quyết định mà chúng ta làm không cần nhầm lẫn giữa con người 957 00:44:44,020 --> 00:44:46,810 bằng cách nào phức tạp hơn thông tin như ruột 80. 958 00:44:46,810 --> 00:44:50,640 Và thẳng thắn, các trình duyệt như Chrome thậm chí không 959 00:44:50,640 --> 00:44:55,464 chỉ cho bạn http nữa, hoặc đại tràng, hoặc các dấu gạch chéo dấu gạch chéo, hoặc dấu gạch chéo, 960 00:44:55,464 --> 00:44:58,380 trong một số ý nghĩa bởi vì họ đang cố gắng để làm cho mọi việc đơn giản hơn cho người sử dụng. 961 00:44:58,380 --> 00:45:01,080 Trong một nghĩa khác, nó chỉ là loại một trải nghiệm người dùng thing-- 962 00:45:01,080 --> 00:45:02,720 chúng ta hãy loại bỏ một số lộn xộn. 963 00:45:02,720 --> 00:45:05,405 Nhưng nó đang giấu một số các chi tiết cơ bản. 964 00:45:05,405 --> 00:45:09,360 >> Và trên thực tế, không ai trong chúng có lẽ bao giờ gõ http nữa. 965 00:45:09,360 --> 00:45:12,060 Bạn chỉ cần gõ vào một cái gì đó như www.harvard.edu. 966 00:45:12,060 --> 00:45:15,310 Và một lần nữa, infers Chrome mà bạn muốn HTTP. 967 00:45:15,310 --> 00:45:18,970 Nhưng có những giao thức khác rằng chúng ta chắc chắn có thể được sử dụng. 968 00:45:18,970 --> 00:45:24,480 >> Vì vậy, cho tất cả những điều này, nếu bây giờ bạn loại của đặt trên cái gọi là hat kỹ thuật, 969 00:45:24,480 --> 00:45:27,417 làm thế nào để điều được gọi là tường lửa làm việc? 970 00:45:27,417 --> 00:45:29,750 Vì vậy, có lẽ bạn đang nói chung quen thuộc với các bức tường lửa, 971 00:45:29,750 --> 00:45:30,990 không quá nhiều trong ý nghĩa vật lý. 972 00:45:30,990 --> 00:45:32,470 Vì vậy, trở lại trong ngày, và vẫn còn cho đến ngày nay, 973 00:45:32,470 --> 00:45:35,430 nếu bạn đã có như trung tâm dải cho Ví dụ có rất nhiều cửa hàng, 974 00:45:35,430 --> 00:45:38,500 nói chung các bức tường ở giữa cửa hàng cá nhân hoặc cửa hàng 975 00:45:38,500 --> 00:45:43,180 là bức tường lửa trong ý nghĩa rằng họ có cách ly đặc biệt 976 00:45:43,180 --> 00:45:45,310 do đó nếu một ngọn lửa xảy ra tại một cửa hàng, 977 00:45:45,310 --> 00:45:48,210 nó không nhất thiết lan sang các cửa hàng bên cạnh. 978 00:45:48,210 --> 00:45:51,710 >> Thế giới máy tính cũng có tường lửa mà làm một cái gì đó khác nhau. 979 00:45:51,710 --> 00:45:52,798 Không một quả cầu lửa làm gì? 980 00:45:52,798 --> 00:45:53,298 Yeah? 981 00:45:53,298 --> 00:45:55,290 >> Đung Về cơ bản họ cắt đứt kết nối 982 00:45:55,290 --> 00:45:59,493 nếu họ gặp phải một cái gì đó như thế, ví dụ, 983 00:45:59,493 --> 00:46:01,361 họ có số lượng các báo cáo id. 984 00:46:01,361 --> 00:46:04,340 Và nếu có điều gì xảy ra, họ cắt kết nối. 985 00:46:04,340 --> 00:46:07,570 Cũng giống như nếu cuộc tấn công độc hại này [Không nghe thấy] máy tính của bạn, or-- 986 00:46:07,570 --> 00:46:08,630 >> DAVID J. Malan: OK tốt. 987 00:46:08,630 --> 00:46:11,220 Yeah, và trong thực tế bạn thậm chí còn đi xa hơn một chút 988 00:46:11,220 --> 00:46:14,590 trong việc mô tả một cái gì đó mà có thể là được gọi là một hệ thống phát hiện xâm nhập, 989 00:46:14,590 --> 00:46:18,305 hoặc IDS cho ngắn, nhờ đó mà bạn thực sự có quy định. 990 00:46:18,305 --> 00:46:22,140 Và nếu bạn bắt đầu thấy nghi ngờ hành vi, bạn cố gắng để chấm dứt nó. 991 00:46:22,140 --> 00:46:24,250 >> Và một bức tường lửa, thẳng thắn, ở một mức độ kết nối mạng, 992 00:46:24,250 --> 00:46:26,821 thậm chí còn ngớ ngẩn hơn và đơn giản hơn hơn thế, nói chung. 993 00:46:26,821 --> 00:46:29,070 Và có nhiều loại khác nhau các bức tường lửa trên thế giới. 994 00:46:29,070 --> 00:46:31,569 Nhưng những hoạt động ở mức độ chúng ta đang nói today-- 995 00:46:31,569 --> 00:46:35,330 IP và TCP-- làm việc ngay cả thẳng thắn hơn. 996 00:46:35,330 --> 00:46:39,180 >> Ví dụ, nếu bạn là hệ thống Yale các quản trị viên, hoặc hệ thống Harvard 997 00:46:39,180 --> 00:46:42,020 các quản trị viên, hoặc một số Big Anh trai tại một số công ty, 998 00:46:42,020 --> 00:46:45,040 và bạn muốn ngăn chặn tất cả các bạn sinh viên hoặc tất cả các nhân viên của bạn 999 00:46:45,040 --> 00:46:47,619 từ sẽ facebook.com, tất cả các bạn phải làm 1000 00:46:47,619 --> 00:46:50,160 được đảm bảo rằng tất cả họ mạng lưới giao thông, trước hết, 1001 00:46:50,160 --> 00:46:51,850 đi qua một thiết bị đặc biệt. 1002 00:46:51,850 --> 00:46:53,030 Hãy gọi nó là một bức tường lửa. 1003 00:46:53,030 --> 00:46:54,910 >> Và đó là tốt, bởi vì bạn có thể làm cho router của bạn 1004 00:46:54,910 --> 00:46:57,618 điều tương tự như một bức tường lửa nếu bạn đặt cùng một loại phần mềm 1005 00:46:57,618 --> 00:46:58,940 trên cùng một máy. 1006 00:46:58,940 --> 00:47:01,780 Vì vậy, nếu tất cả các học sinh của bạn hoặc nhân viên giao thông 1007 00:47:01,780 --> 00:47:04,450 đang trải qua này tường lửa trung tâm, làm thế nào 1008 00:47:04,450 --> 00:47:08,540 chúng tôi sẽ chặn không cho người đi để facebook.com, chẳng hạn? 1009 00:47:08,540 --> 00:47:10,780 Sẽ những gì hệ thống quản trị viên phải làm gì? 1010 00:47:10,780 --> 00:47:11,370 Ai khác? 1011 00:47:11,370 --> 00:47:12,911 Hãy cố gắng để đi xung quanh. 1012 00:47:12,911 --> 00:47:15,074 >> Đung [Không nghe thấy] 1013 00:47:15,074 --> 00:47:16,365 DAVID J. Malan: Nói rằng một lần nữa? 1014 00:47:16,365 --> 00:47:19,215 Đung Nó chỉ nên được bắt lên bên trong hệ thống. 1015 00:47:19,215 --> 00:47:22,487 Vì vậy, chỉ cần đặt Facebook vào 127.0.0-- 1016 00:47:22,487 --> 00:47:23,820 DAVID J. Malan: Oh, thú vị. 1017 00:47:23,820 --> 00:47:27,290 Vì vậy, bạn có thể thực sự sau đó hack hệ thống DNS của bạn. 1018 00:47:27,290 --> 00:47:31,180 Đây thực sự là một cách bạn có thể làm điều này theo đó bất cứ lúc nào một sinh viên Yale kéo 1019 00:47:31,180 --> 00:47:34,670 www.facebook.com lên, tất cả của chúng tôi ở đây ngày hôm nay trong khuôn viên trường 1020 00:47:34,670 --> 00:47:38,590 đang sử dụng máy chủ DNS của Yale, vì máy chủ DHCP của Yale đã cho chúng tôi 1021 00:47:38,590 --> 00:47:39,580 địa chỉ. 1022 00:47:39,580 --> 00:47:42,490 Vì vậy, yeah, bạn có thể loại phá vỡ những điều ước hay nghỉ 1023 00:47:42,490 --> 00:47:49,190 bởi chỉ cần nói, yeah, địa chỉ facebook.com là giả, 1024 00:47:49,190 --> 00:47:52,530 là 1.2.3.4, đó là không thực sự chính đáng. 1025 00:47:52,530 --> 00:47:53,930 Hoặc có lẽ nó là 278. 1026 00:47:53,930 --> 00:47:57,460 gì đó đựng trong một chương trình truyền hình thời điểm trước đây vì vậy mà không ai trong chúng 1027 00:47:57,460 --> 00:47:59,176 thực sự có thể truy cập vào facebook.com. 1028 00:47:59,176 --> 00:48:00,590 >> Vì vậy, giả Yale đã làm điều đó. 1029 00:48:00,590 --> 00:48:03,336 Giả sử Yale muốn giữ bạn ra khỏi facebook.com. 1030 00:48:03,336 --> 00:48:05,700 Và do đó, họ thay đổi các thiết lập DNS 1031 00:48:05,700 --> 00:48:08,812 để cung cấp cho bạn một IP giả giải quyết cho facebook.com. 1032 00:48:08,812 --> 00:48:10,616 Làm thế nào để bạn trả lời? 1033 00:48:10,616 --> 00:48:12,990 Về mặt kỹ thuật, not-- oh, bây giờ tất cả mọi người muốn tham gia. 1034 00:48:12,990 --> 00:48:13,490 OK, yeah. 1035 00:48:13,490 --> 00:48:16,190 Đung Bạn chỉ cần gõ vào địa chỉ IP thực của Facebook. 1036 00:48:16,190 --> 00:48:16,710 >> DAVID J. Malan: OK, tốt. 1037 00:48:16,710 --> 00:48:19,350 Vì vậy, chúng ta có thể chỉ cần gõ vào địa chỉ IP thực của Facebook, 1038 00:48:19,350 --> 00:48:21,090 giống như tôi đã làm với trang web của Yale. 1039 00:48:21,090 --> 00:48:24,636 Và nếu các máy chủ được cấu hình Facebook để hỗ trợ đó, nó thực sự cần làm việc. 1040 00:48:24,636 --> 00:48:26,510 Đó là một nỗi đau nhỏ trong cổ, bởi vì bây giờ chúng tôi 1041 00:48:26,510 --> 00:48:30,220 phải nhớ một số ngẫu nhiên Giá trị 32-bit, nhưng điều đó có thể làm việc. 1042 00:48:30,220 --> 00:48:31,622 Bạn có thể làm những gì khác? 1043 00:48:31,622 --> 00:48:32,121 Yeah. 1044 00:48:32,121 --> 00:48:35,117 >> Đung Bạn có thể thay đổi những thiết lập [không nghe được]. 1045 00:48:35,117 --> 00:48:37,700 DAVID J. Malan: Vâng, bạn có thể thậm chí thay đổi các thiết lập DNS của bạn. 1046 00:48:37,700 --> 00:48:40,480 Vì vậy, trong thực tế, điều này thực sự khá hữu ích, thẳng thắn, 1047 00:48:40,480 --> 00:48:45,590 nếu bạn đang ở một sân bay, hoặc nếu bạn đang ở trong một quán cà phê, hoặc cái gì đó 1048 00:48:45,590 --> 00:48:48,834 có internet flaky nhờ đó mà đôi khi các máy chủ DNS chỉ dừng lại làm việc. 1049 00:48:48,834 --> 00:48:51,000 Vì vậy, ngay cả khi tôi thỉnh thoảng làm này, không phải cho độc hại, tôi 1050 00:48:51,000 --> 00:48:52,750 muốn sử dụng Facebook mục đích, nhưng thực sự 1051 00:48:52,750 --> 00:48:56,344 bởi vì tôi dường như có một mạng lưới kết nối, nhưng không được làm việc. 1052 00:48:56,344 --> 00:48:58,260 Và vì vậy một trong những người đầu tiên điều tôi try-- và bạn 1053 00:48:58,260 --> 00:49:01,710 có thể làm điều này trên Windows too-- nhưng trên máy Mac của tôi, nếu tôi đi đến Network. 1054 00:49:01,710 --> 00:49:03,330 Và tôi chọn kết nối Wi-Fi của tôi. 1055 00:49:03,330 --> 00:49:04,750 Và tôi đi đến nâng cao. 1056 00:49:04,750 --> 00:49:06,080 Và tôi đi đến DNS. 1057 00:49:06,080 --> 00:49:08,260 Đây là ba Địa chỉ IP mà Yale 1058 00:49:08,260 --> 00:49:10,290 là đem lại cho tôi cho ba máy chủ DNS. 1059 00:49:10,290 --> 00:49:14,110 Mục đích sau đó là cho tôi để thử bất kỳ một trong những địa chỉ để giải quyết. 1060 00:49:14,110 --> 00:49:15,946 >> Nhưng tôi có thể ghi đè lên những bằng cách làm một cộng. 1061 00:49:15,946 --> 00:49:18,333 Và bất cứ ai muốn đề xuất một máy chủ DNS? 1062 00:49:18,333 --> 00:49:19,120 >> Đung 8.8.8.8? 1063 00:49:19,120 --> 00:49:20,578 >> DAVID J. Malan: Oh, bạn thật tuyệt vời. 1064 00:49:20,578 --> 00:49:21,650 Có, 8.8.8.8. 1065 00:49:21,650 --> 00:49:26,170 Vì vậy, Google, chúc lành cho trái tim của họ, mua các địa chỉ IP 8.8.8.8, 1066 00:49:26,170 --> 00:49:29,560 bởi vì nó loại trông giống như Gs có lẽ, và nó dễ dàng để nhớ. 1067 00:49:29,560 --> 00:49:34,820 Nhưng đương nhiên, bây giờ tôi đã cấu hình của tôi máy tính để sử dụng máy chủ DNS của Google. 1068 00:49:34,820 --> 00:49:38,050 >> Vì vậy, bây giờ nếu tôi đi đến yale.edu, nó vẫn sẽ làm việc. 1069 00:49:38,050 --> 00:49:40,100 Nhưng tôi không sử dụng Yale Các máy chủ DNS nữa. 1070 00:49:40,100 --> 00:49:44,430 Và nếu tôi đi đến facebook.com, tất cả những người tìm ups 1071 00:49:44,430 --> 00:49:45,960 sẽ đi qua Google. 1072 00:49:45,960 --> 00:49:49,120 >> Vì vậy, một mặt, tôi đã khéo léo phá vỡ các hệ thống địa phương 1073 00:49:49,120 --> 00:49:51,810 quản trị chỉ bằng cách Hiểu được cách mạng. 1074 00:49:51,810 --> 00:49:53,360 Nhưng tôi phải trả một mức giá. 1075 00:49:53,360 --> 00:49:54,740 Không có gì là miễn phí. 1076 00:49:54,740 --> 00:49:56,096 Những gì tôi có chỉ cho lên? 1077 00:49:56,096 --> 00:50:00,180 1078 00:50:00,180 --> 00:50:02,250 Những gì tôi có chỉ cho lên? 1079 00:50:02,250 --> 00:50:06,090 Tất cả các bạn những người thông minh, có được sử dụng 8.8.8.8, vì nó mát mẻ 1080 00:50:06,090 --> 00:50:10,440 hoặc giải quyết vấn đề, những gì có bạn đã làm tất cả thời gian này? 1081 00:50:10,440 --> 00:50:11,910 >> Đung Du lịch xa hơn? 1082 00:50:11,910 --> 00:50:15,201 >> DAVID J. Malan: Có thể di chuyển xa hơn, bởi vì Google có lẽ không phải là khá 1083 00:50:15,201 --> 00:50:16,770 gần như các máy chủ xuống các đường phố. 1084 00:50:16,770 --> 00:50:18,420 Nhưng worrisomely hơn. 1085 00:50:18,420 --> 00:50:18,920 Yeah? 1086 00:50:18,920 --> 00:50:20,940 >> Đung vậy, bây giờ Google biết nơi bạn đang đi. 1087 00:50:20,940 --> 00:50:23,856 >> DAVID J. Malan: Google biết nghĩa đen mỗi trang web bạn đang truy cập, 1088 00:50:23,856 --> 00:50:26,080 bởi vì bạn có nghĩa là yêu cầu họ, hey Google, 1089 00:50:26,080 --> 00:50:28,360 bạn có thể dịch yale.edu cho tôi? 1090 00:50:28,360 --> 00:50:32,430 Hoặc hey Google, bạn có thể dịch địa chỉ này trang web khác cho tôi 1091 00:50:32,430 --> 00:50:33,334 vào một địa chỉ IP. 1092 00:50:33,334 --> 00:50:35,750 Và như vậy they're-- tôi không có ý tưởng những gì bạn đang nói về. 1093 00:50:35,750 --> 00:50:38,080 Và do đó, họ biết mọi thứ về bạn. 1094 00:50:38,080 --> 00:50:42,180 Vì vậy, nhận ra rằng đây là một dịch vụ miễn phí với một mục đích từ quan điểm của họ 1095 00:50:42,180 --> 00:50:42,680 cũng. 1096 00:50:42,680 --> 00:50:44,420 Nhưng nó có thể chắc chắn giúp bạn có được ra khỏi một ràng buộc. 1097 00:50:44,420 --> 00:50:46,380 >> Bây giờ chỉ để giải quyết một khác vấn đề mà thường đi lên 1098 00:50:46,380 --> 00:50:48,640 giữa học sinh, đặc biệt là khi đi du lịch quốc tế 1099 00:50:48,640 --> 00:50:50,765 ở một số nước như Trung Quốc, nơi có thực 1100 00:50:50,765 --> 00:50:54,559 là một Great Firewall của Trung Quốc, theo đó chính phủ có khối khá 1101 00:50:54,559 --> 00:50:56,100 một chút về giao thông ở các cấp độ khác nhau. 1102 00:50:56,100 --> 00:50:58,141 Bạn không phải chỉ khối giao thông ở cấp 1103 00:50:58,141 --> 00:51:01,240 chúng ta đang nói ở đây, DNS hay không, bạn có thể chặn nó ở cấp độ khác. 1104 00:51:01,240 --> 00:51:04,030 >> Và trên thực tế, chỉ để được rõ ràng, một tường lửa 1105 00:51:04,030 --> 00:51:08,400 có thể hoạt động ngay cả đơn giản hơn chỉ có hệ thống quản trị thay đổi 1106 00:51:08,400 --> 00:51:09,500 Thiết lập DNS. 1107 00:51:09,500 --> 00:51:12,920 Một bức tường lửa, một thiết bị ở giữa chúng ta và phần còn lại của thế giới, 1108 00:51:12,920 --> 00:51:16,850 chỉ có thể chặn bất kỳ đi yêu cầu đến địa chỉ IP 1109 00:51:16,850 --> 00:51:21,240 cho Facebook trên cổng 80, hoặc các địa chỉ IP cho harvard.edu, 1110 00:51:21,240 --> 00:51:22,580 hoặc địa chỉ IP của bất cứ điều gì. 1111 00:51:22,580 --> 00:51:26,280 Vì vậy, một tường lửa có thể nhìn vào bạn phong bì 'địa chỉ IP và thậm chí cả cổng 1112 00:51:26,280 --> 00:51:29,384 số, và nếu Yale muốn, nó chỉ có thể ngăn chặn tất cả chúng ta 1113 00:51:29,384 --> 00:51:32,550 từ thậm chí sử dụng FTP nữa, mà sẽ có lẽ là một điều tốt vì nó 1114 00:51:32,550 --> 00:51:34,320 thực sự là một giao thức không an toàn. 1115 00:51:34,320 --> 00:51:37,620 Yale thậm chí có thể ngăn chặn chúng tôi quý khách đến thăm toàn bộ các web 1116 00:51:37,620 --> 00:51:42,632 chỉ bằng cách ngăn chặn tất cả các cổng giao thông trên số 80 là tốt. 1117 00:51:42,632 --> 00:51:43,840 Vì vậy, đó có thể là một cách khác. 1118 00:51:43,840 --> 00:51:45,740 Và có cách thậm chí fancier là tốt. 1119 00:51:45,740 --> 00:51:47,770 >> Nhưng khi bạn đi du lịch ở nước ngoài chẳng hạn, 1120 00:51:47,770 --> 00:51:50,740 hoặc nếu bạn đang ở trong một quán cà phê internet, hoặc nếu bạn đang ở bất cứ đâu, nơi có 1121 00:51:50,740 --> 00:51:53,179 tắc nghẽn hoặc các mối đe dọa, những gì bạn có thể làm gì? 1122 00:51:53,179 --> 00:51:56,220 Vâng, nếu bạn đi xuống các đường phố để Starbucks hoặc bạn đi du lịch ở một sân bay, 1123 00:51:56,220 --> 00:51:58,780 nói chung là bạn chỉ có thể nhảy trên Wi-Fi bằng cách chọn 1124 00:51:58,780 --> 00:52:04,631 như, JFK Wi-Fi của LaGuardia Wi-Fi, hoặc Logan Airport Wi-Fi, hoặc những gì không. 1125 00:52:04,631 --> 00:52:05,880 Và nó không được mã hóa, phải không? 1126 00:52:05,880 --> 00:52:06,949 Không có biểu tượng ổ khóa. 1127 00:52:06,949 --> 00:52:09,490 Và có lẽ bạn đang không được nhắc nhở cho một tên người dùng và mật khẩu. 1128 00:52:09,490 --> 00:52:11,240 Bạn chỉ cần nhắc nhở với một số hình thức ngu ngốc 1129 00:52:11,240 --> 00:52:15,260 nói như thế, tôi đồng ý sử dụng chỉ này trong 30 phút, hoặc một cái gì đó như thế. 1130 00:52:15,260 --> 00:52:18,761 >> Nhưng không có mã hóa giữa bạn và truy cập Wi-Fi Starbucks 1131 00:52:18,761 --> 00:52:20,760 điểm, những điều có các ăng-ten trên tường. 1132 00:52:20,760 --> 00:52:24,840 Không có mã hóa giữa bạn và Wi-Fi tín hiệu của sân bay. 1133 00:52:24,840 --> 00:52:29,060 >> Và do đó, về mặt kỹ thuật, mà người đáng sợ ngồi một vài chỗ ngồi xuống từ bạn 1134 00:52:29,060 --> 00:52:31,970 trong Starbucks hoặc tại sân bay có thể là, với một phần mềm, 1135 00:52:31,970 --> 00:52:35,164 xem tất cả các dây của bạn lưu lượng truy cập trên máy tính xách tay của mình. 1136 00:52:35,164 --> 00:52:37,080 Nó không phải là khó đặt một máy tính xách tay vào những gì 1137 00:52:37,080 --> 00:52:39,880 gọi là chế độ promiscuous, mà như tên cho thấy, 1138 00:52:39,880 --> 00:52:41,760 có nghĩa là bạn đang loại lỏng lẻo với các quy tắc. 1139 00:52:41,760 --> 00:52:44,740 Và nó chỉ lắng nghe không chỉ cho giao thông có nghĩa là cho nó, 1140 00:52:44,740 --> 00:52:47,700 nhưng cũng để mọi người khác là giao thông trong phạm vi. 1141 00:52:47,700 --> 00:52:50,550 >> Và theo logic đó, nó có thể nhìn thấy tất cả các gói thông tin 1142 00:52:50,550 --> 00:52:51,360 bạn đang nhận được. 1143 00:52:51,360 --> 00:52:53,510 Và nếu những gói không được mã hóa, bạn 1144 00:52:53,510 --> 00:52:56,680 đang đặt mình vào nguy cơ email, hoặc tin nhắn của bạn, 1145 00:52:56,680 --> 00:52:58,620 hoặc bất cứ điều gì khác nhận được tiếp xúc. 1146 00:52:58,620 --> 00:53:01,220 >> Vì vậy, ngay cả khi bạn không phải ra nước ngoài nhưng bạn chỉ trong Starbucks, 1147 00:53:01,220 --> 00:53:03,800 hoặc bạn đang ở trên một số ngẫu nhiên của người Wi-Fi mà không được mã hóa, 1148 00:53:03,800 --> 00:53:05,410 một VPN là một điều tốt. 1149 00:53:05,410 --> 00:53:07,410 Một VPN là một mạng riêng ảo. 1150 00:53:07,410 --> 00:53:09,480 Và đó là một công nghệ cho phép bạn có 1151 00:53:09,480 --> 00:53:14,560 một mã hóa, một connection-- scrambled fancier hơn Caesar hoặc Vigenere-- 1152 00:53:14,560 --> 00:53:17,420 giữa máy tính xách tay của bạn, hoặc điện thoại của bạn, hoặc máy tính để bàn của bạn, 1153 00:53:17,420 --> 00:53:22,460 và một máy chủ ở nơi khác, như một máy chủ trong khuôn viên trường Đại học Yale. 1154 00:53:22,460 --> 00:53:25,840 >> Và nếu bạn đang đi du lịch abroad-- và trong thực tế, bạn tìm thấy điều này trong khách sạn 1155 00:53:25,840 --> 00:53:26,560 tất cả các thời gian. 1156 00:53:26,560 --> 00:53:28,580 Và đặc biệt là tham vọng các nhà khoa học máy tính 1157 00:53:28,580 --> 00:53:32,090 nơi các bạn có thể, như chuyên viên máy tính, muốn sử dụng các cổng khác hơn là 80, 1158 00:53:32,090 --> 00:53:35,770 và các cảng khác hơn 443-- và trong thực tế cho vấn đề thiết lập sáu, 1159 00:53:35,770 --> 00:53:39,280 chúng ta đang đi chơi với nhiều Cổng TCP chỉ bởi choice-- rất nhiều 1160 00:53:39,280 --> 00:53:42,940 của khách sạn, và các cửa hàng, và các mạng chỉ chặn các loại công cụ 1161 00:53:42,940 --> 00:53:45,970 bởi vì họ có phần ngây thơ, hoặc vì không biết gì, chỉ cần nghĩ 1162 00:53:45,970 --> 00:53:48,010 mà không ai cần những cảng khác. 1163 00:53:48,010 --> 00:53:51,150 >> Và như vậy bằng cách sử dụng một VPN có thể bạn mặt những loại hạn chế, 1164 00:53:51,150 --> 00:53:54,050 bởi vì những gì một VPN nào là nó cho phép bạn tại Starbucks, 1165 00:53:54,050 --> 00:53:58,630 hoặc sân bay, hoặc bất cứ nơi nào trên thế giới để kết nối encryptedly để yale.edu, 1166 00:53:58,630 --> 00:54:02,950 một số máy chủ ở đây trên khuôn viên trường, và sau đó đường hầm, có thể nói, 1167 00:54:02,950 --> 00:54:06,570 tất cả các lưu lượng truy cập của bạn từ bất cứ nơi bạn là thông qua Yale, tại thời điểm đó 1168 00:54:06,570 --> 00:54:08,720 sau đó nó đi đến đích cuối cùng của nó. 1169 00:54:08,720 --> 00:54:11,150 >> Nhưng bằng cách mã hóa nó, bạn tránh bất kỳ các loại 1170 00:54:11,150 --> 00:54:15,380 các bộ lọc hay áp đặt mà một số mạng lưới địa phương đã áp đặt. 1171 00:54:15,380 --> 00:54:17,980 Và cộng thêm, bạn có một quốc phòng mạnh mẽ hơn nhiều 1172 00:54:17,980 --> 00:54:19,730 đối với những người đáng sợ xung quanh bạn, những người có 1173 00:54:19,730 --> 00:54:21,300 phải cố gắng để lắng nghe về giao thông của bạn. 1174 00:54:21,300 --> 00:54:24,591 Vẫn có thể là người đáng sợ ở đây trở về nhà tại Yale xem lưu lượng truy cập của bạn 1175 00:54:24,591 --> 00:54:28,440 khi nó đi ra khỏi VPN, nhưng ít nhất bạn đã đẩy các mối đe dọa xa. 1176 00:54:28,440 --> 00:54:30,490 Và nó ở đây quá, một thương mại giảm. 1177 00:54:30,490 --> 00:54:33,645 >> Bây giờ tất nhiên, nếu bạn đang ở trong Trung Quốc hoặc thậm chí trong các quán cà phê, 1178 00:54:33,645 --> 00:54:35,770 và bạn đang Tunneling tất cả lưu lượng truy cập của bạn thông qua Yale, 1179 00:54:35,770 --> 00:54:37,590 được giá những gì chúng ta phải trả lẽ? 1180 00:54:37,590 --> 00:54:38,272 >> Đung Speed. 1181 00:54:38,272 --> 00:54:39,480 DAVID J. Malan: Tốc độ, phải không? 1182 00:54:39,480 --> 00:54:41,430 Có nhận được một số toán học hoặc một số fanciness tham gia 1183 00:54:41,430 --> 00:54:42,574 trong mã hóa thực tế. 1184 00:54:42,574 --> 00:54:44,990 Có thể có hàng ngàn dặm khoảng cách hoặc hàng ngàn 1185 00:54:44,990 --> 00:54:47,250 dặm của dây cáp nối giữa bạn và Yale. 1186 00:54:47,250 --> 00:54:49,800 Và nó thực sự xấu nếu bạn ở Trung Quốc, ví dụ, 1187 00:54:49,800 --> 00:54:51,650 và bạn muốn ghé thăm một trang web ở Trung Quốc. 1188 00:54:51,650 --> 00:54:54,230 Và do đó, dữ liệu của bạn sẽ Mỹ, và sau đó trở lại Trung Quốc 1189 00:54:54,230 --> 00:54:56,620 chỉ vì bạn đang mã hóa nó thông qua đường hầm này. 1190 00:54:56,620 --> 00:54:59,960 >> Nhưng nó quyết kỹ thuật và làm việc những vấn đề giống nhau. 1191 00:54:59,960 --> 00:55:02,050 Nhưng tất cả nắm để những ý tưởng rất đơn giản. 1192 00:55:02,050 --> 00:55:06,530 Và Harvard, cho những người tò mò, có một ở đây là tốt, tại vpn.harvard.edu, 1193 00:55:06,530 --> 00:55:09,150 mà hoạt động giống như Yale. 1194 00:55:09,150 --> 00:55:12,580 >> Vì vậy, với tất cả những gì đã nói, tại sao là toàn bộ mạng lưới này hữu ích? 1195 00:55:12,580 --> 00:55:14,080 Và những gì chúng ta có thể bắt đầu làm gì với nó? 1196 00:55:14,080 --> 00:55:15,630 Vâng, chúng ta hãy làm này thực sự bây giờ nhiều hơn. 1197 00:55:15,630 --> 00:55:17,610 Đây là từ viết tắt mà hầu hết chúng ta 1198 00:55:17,610 --> 00:55:22,140 có lẽ là siêu familiar-- HTTP-- đó là viết tắt để chuyển văn bản siêu 1199 00:55:22,140 --> 00:55:22,950 giao thức. 1200 00:55:22,950 --> 00:55:26,460 Và điều này chỉ có nghĩa là đây là ngôn ngữ, các giao thức 1201 00:55:26,460 --> 00:55:29,140 mà các trình duyệt web và máy chủ web nói. 1202 00:55:29,140 --> 00:55:31,437 >> P trong HTTP thực sự là một giao thức. 1203 00:55:31,437 --> 00:55:33,270 Và một giao thức chỉ là một tập hợp các công ước. 1204 00:55:33,270 --> 00:55:36,690 Chúng tôi đã nhìn thấy IP-- protocol-- internet Điều khiển truyền dẫn TCP-- 1205 00:55:36,690 --> 00:55:38,290 protocol-- và HTTP. 1206 00:55:38,290 --> 00:55:40,570 Nhưng những gì là ngu ngốc này điều của một giao thức? 1207 00:55:40,570 --> 00:55:41,930 Nó chỉ là một tập hợp các công ước. 1208 00:55:41,930 --> 00:55:43,760 >> Vì vậy, nếu tôi loại đi xuống ở đây, và tôi muốn chào đón bạn. 1209 00:55:43,760 --> 00:55:44,930 Tôi sẽ nói chào, tôi tên là David. 1210 00:55:44,930 --> 00:55:45,600 >> Đung Luis. 1211 00:55:45,600 --> 00:55:46,475 >> DAVID J. Malan: Luis. 1212 00:55:46,475 --> 00:55:49,360 Chúng tôi có nhân ngu ngốc này ước bắt tay ở đây. 1213 00:55:49,360 --> 00:55:50,570 Nhưng đó là một giao thức, phải không? 1214 00:55:50,570 --> 00:55:51,470 Tôi đưa tay tôi. 1215 00:55:51,470 --> 00:55:52,530 Luis mở rộng bàn tay của mình. 1216 00:55:52,530 --> 00:55:53,070 Chúng tôi đã làm điều này. 1217 00:55:53,070 --> 00:55:54,790 Và sau đó hoàn chỉnh, thực hiện. 1218 00:55:54,790 --> 00:55:58,100 >> Và đó là chính xác như nhau Tinh thần của một giao thức máy tính 1219 00:55:58,100 --> 00:56:02,770 nơi như trong HTTP, những gì xảy ra là. 1220 00:56:02,770 --> 00:56:05,520 Nếu bạn là máy tính trên còn lại ở đây, và có một số web 1221 00:56:05,520 --> 00:56:07,230 máy chủ ở phía bên phải. 1222 00:56:07,230 --> 00:56:11,130 Và các máy tính bên trái muốn yêu cầu thông tin từ máy chủ đó. 1223 00:56:11,130 --> 00:56:13,140 Đó là một loại hoạt động hai chiều. 1224 00:56:13,140 --> 00:56:15,800 Các trình duyệt trên bên trái yêu cầu một số trang web. 1225 00:56:15,800 --> 00:56:18,404 Các máy chủ bên phải phản ứng với một số trang web. 1226 00:56:18,404 --> 00:56:20,570 Và chúng ta sẽ thấy những hình thức những mất chỉ trong một khoảnh khắc. 1227 00:56:20,570 --> 00:56:24,311 >> Và nó chỉ ra rằng những computers-- rằng trình duyệt và máy chủ, hoặc khách hàng 1228 00:56:24,311 --> 00:56:25,310 và máy chủ, do đó, để nói chuyện. 1229 00:56:25,310 --> 00:56:28,120 Giống như một nhà hàng nơi khách hàng là yêu cầu cho một cái gì đó, 1230 00:56:28,120 --> 00:56:31,670 và máy chủ được đưa anh ta hoặc cô something-- nhận 1231 00:56:31,670 --> 00:56:33,170 là loại từ tác. 1232 00:56:33,170 --> 00:56:38,560 Nghĩa đen bên trong phong bì Trình duyệt của tôi sẽ gửi từ đây đến một web 1233 00:56:38,560 --> 00:56:40,880 máy chủ là get từ. 1234 00:56:40,880 --> 00:56:42,700 Cũng giống như tôi muốn có được tin tức của ngày hôm nay. 1235 00:56:42,700 --> 00:56:45,370 Tôi muốn nhận được của tôi Nguồn tin Facebook, hoặc tôi 1236 00:56:45,370 --> 00:56:47,330 muốn có được một số trang từ máy chủ. 1237 00:56:47,330 --> 00:56:50,760 >> Cụ thể, đây là những gì xảy ra bên trong phong bì đó. 1238 00:56:50,760 --> 00:56:53,810 Vì vậy, tôi, với Cole, về cơ bản gửi Cole một phản ứng. 1239 00:56:53,810 --> 00:56:56,750 Nếu bạn tưởng tượng rằng Cole thực sự muốn có một hình ảnh của Rick Astley, 1240 00:56:56,750 --> 00:57:00,700 có thể anh đã gửi cho tôi một yêu cầu tinh thần tương tự này. 1241 00:57:00,700 --> 00:57:04,670 Bên trong phong bì của mình với tôi, nơi Tôi bây giờ đang chơi vai trò của Google, 1242 00:57:04,670 --> 00:57:08,270 sẽ là một yêu cầu mà nghĩa đen nói, có được, và sau đó một slash-- về phía trước 1243 00:57:08,270 --> 00:57:10,636 và bạn đã có thể nhìn thấy các dấu gạch chéo trong URL trước. 1244 00:57:10,636 --> 00:57:13,260 Nó chỉ có nghĩa là cho tôi mặc định trang, mặc định Rick Astley 1245 00:57:13,260 --> 00:57:14,560 hình ảnh trong trường hợp này. 1246 00:57:14,560 --> 00:57:20,100 >> Và bằng cách này, Cole nói ngôn ngữ HTTP phiên bản 1.1, hoặc các giao thức 1.1. 1247 00:57:20,100 --> 00:57:22,090 Và hóa ra có của một phiên bản cũ 1.0. 1248 00:57:22,090 --> 00:57:23,910 Nhưng máy tính có xu hướng sử dụng 1.1. 1249 00:57:23,910 --> 00:57:27,840 >> Dòng thứ hai là một điều hữu ích mà sẽ trở lại có lẽ không bao lâu. 1250 00:57:27,840 --> 00:57:31,900 Nhưng nó chỉ là một đặc điểm kỹ thuật cho tôi, người nhận, đó là điều tôi muốn 1251 00:57:31,900 --> 00:57:33,586 là www.google.com. 1252 00:57:33,586 --> 00:57:36,340 Bởi vì nó rất có thể những ngày này cho hàng chục, 1253 00:57:36,340 --> 00:57:39,510 hàng trăm trang web với tên miền khác nhau cho tất cả 1254 00:57:39,510 --> 00:57:40,735 sống trên cùng một máy chủ. 1255 00:57:40,735 --> 00:57:42,860 Nó sẽ không là sự thật rất nhiều trong trường hợp của Google. 1256 00:57:42,860 --> 00:57:45,261 Nhưng trong một công ty nhỏ hơn của trường hợp, hoàn toàn có thể được. 1257 00:57:45,261 --> 00:57:47,260 Vì vậy, Cole chỉ là loại đặt trong phong bì, 1258 00:57:47,260 --> 00:57:50,840 bằng cách này, khi này đạt Địa chỉ IP của bạn trên cổng 80, 1259 00:57:50,840 --> 00:57:54,450 chỉ cần chắc chắn rằng bạn biết Tôi muốn www.google.com, không 1260 00:57:54,450 --> 00:57:56,740 một số trang web ngẫu nhiên khác trên cùng một máy chủ. 1261 00:57:56,740 --> 00:58:00,360 >> Những gì tôi sau đó phản ứng với Cole, vào cuối ngày, là một bức tranh. 1262 00:58:00,360 --> 00:58:02,920 Nhưng trên đỉnh hình ảnh mà bên trong phong bì 1263 00:58:02,920 --> 00:58:05,600 thực sự là một số văn bản, nơi mà tôi nói, OK. 1264 00:58:05,600 --> 00:58:07,970 Tôi nói HTTP phiên bản 1.1 cũng. 1265 00:58:07,970 --> 00:58:09,200 200. 1266 00:58:09,200 --> 00:58:11,730 Mà là một mã trạng thái mà hầu hết chúng ta có thể 1267 00:58:11,730 --> 00:58:14,185 không bao giờ nhìn thấy, bởi vì nó có nghĩa là OK. 1268 00:58:14,185 --> 00:58:16,810 Và điều này là tốt, bởi vì nó nghĩa là tôi đang đáp ứng thành công 1269 00:58:16,810 --> 00:58:18,040 yêu cầu của Cole. 1270 00:58:18,040 --> 00:58:21,930 >> Những gì con số có thể bạn nhìn thấy trên các trang web mà không phải là OK? 1271 00:58:21,930 --> 00:58:22,780 >> Đung 404. 1272 00:58:22,780 --> 00:58:24,830 >> DAVID J. Malan: 404-- không tìm thấy file. 1273 00:58:24,830 --> 00:58:27,520 Vì vậy, trên thực tế, bất cứ lúc nào bạn đã nhìn thấy một trong những tập tin không gây phiền nhiễu 1274 00:58:27,520 --> 00:58:31,010 lỗi được tìm thấy, bởi vì các trang web đã chết, 1275 00:58:31,010 --> 00:58:34,190 hoặc vì bạn đã nhập một URL, mà chỉ có nghĩa là 1276 00:58:34,190 --> 00:58:37,600 rằng phong bì nhỏ mà bạn máy tính nhận được từ các máy chủ 1277 00:58:37,600 --> 00:58:42,670 chứa đựng một thông điệp HTTP 1.1, 404-- không tìm thấy. 1278 00:58:42,670 --> 00:58:44,930 Đó là tập tin hoặc yêu cầu bạn đã không được tìm thấy. 1279 00:58:44,930 --> 00:58:48,660 >> Hơn nữa, bên trong phong bì thường là dòng, loại nội dung này. 1280 00:58:48,660 --> 00:58:51,080 Đôi khi nó là HTML, một cái gì đó chúng ta sẽ sớm thấy. 1281 00:58:51,080 --> 00:58:52,225 Đôi khi đó là một JPEG. 1282 00:58:52,225 --> 00:58:53,100 Đôi khi đó là một GIF. 1283 00:58:53,100 --> 00:58:56,060 Đôi khi đó là một tập tin phim, một tập tin âm thanh, bất kỳ số lượng của sự vật. 1284 00:58:56,060 --> 00:59:00,059 Vì vậy, bên trong phong bì chỉ là một chút gợi ý như những gì tôi nhận được. 1285 00:59:00,059 --> 00:59:03,100 Có mã trạng thái khác quá, một số trong đó chúng ta sẽ khám phá trong P đặt sáu, 1286 00:59:03,100 --> 00:59:05,890 và bạn sẽ vấp ngã trên trong P đặt bảy và / hoặc tám. 1287 00:59:05,890 --> 00:59:08,580 Nhưng một số ở đây, giống như 404, chúng tôi đã nhìn thấy. 1288 00:59:08,580 --> 00:59:11,700 Forbidden, 403, có nghĩa như quyền hạn sai, 1289 00:59:11,700 --> 00:59:14,740 như bạn không có loại cấu hình nó một cách chính xác. 1290 00:59:14,740 --> 00:59:17,830 301 và 302, chúng ta hiếm khi nhìn thấy bằng mắt thường. 1291 00:59:17,830 --> 00:59:19,150 Nhưng họ có nghĩa là chuyển hướng. 1292 00:59:19,150 --> 00:59:21,650 Bất cứ lúc nào bạn đã đi đến một URL và bạn đã kỳ diệu 1293 00:59:21,650 --> 00:59:24,410 gửi ở một nơi khác, đó là vì trình duyệt đã được gửi trở lại 1294 00:59:24,410 --> 00:59:27,210 một phong bì có chứa số 301 hoặc 302, 1295 00:59:27,210 --> 00:59:30,790 và URL mà nó muốn trình duyệt của bạn để đi đến thay thế. 1296 00:59:30,790 --> 00:59:32,010 >> 500 là khủng khiếp. 1297 00:59:32,010 --> 00:59:34,842 Bạn sẽ nhìn thấy nó trước khi dài, có thể là trong P đặt sáu hoặc bảy P thiết. 1298 00:59:34,842 --> 00:59:37,050 Và nó thường có nghĩa có một số lỗi trong mã của bạn, 1299 00:59:37,050 --> 00:59:40,000 vì thực sự chúng ta sẽ viết mã mà đáp ứng các yêu cầu web. 1300 00:59:40,000 --> 00:59:42,110 Và bạn đã chỉ có một số lỗi trong logic hoặc cú pháp, 1301 00:59:42,110 --> 00:59:43,820 và các máy chủ không thể xử lý nó. 1302 00:59:43,820 --> 00:59:47,460 >> Vì vậy, chúng ta hãy xem làm thế nào bây giờ chúng ta có thể tận dụng và hiểu được những yêu cầu như sau. 1303 00:59:47,460 --> 00:59:50,716 Nếu tôi đi đến, chúng ta hãy nói, google.com. 1304 00:59:50,716 --> 00:59:55,240 Hãy để tôi đi đến www.google.com. 1305 00:59:55,240 --> 01:00:01,220 Và vì lợi ích của cuộc biểu tình, chúng ta hãy thấy, tôi cần phải đi vào Cài đặt ở đây. 1306 01:00:01,220 --> 01:00:03,180 Tôi sẽ đi tìm kiếm Settings. 1307 01:00:03,180 --> 01:00:08,236 Và Google đã ngày càng khó chịu tính năng, nhưng tính năng hữu ích. 1308 01:00:08,236 --> 01:00:11,110 Vì vậy, Google có điều này như ngay lập tức kết quả mà bạn bắt đầu gõ, 1309 01:00:11,110 --> 01:00:12,889 và tự động mọi thứ bắt đầu xuất hiện. 1310 01:00:12,889 --> 01:00:14,680 Và đó là tất cả tiền phạt và kỹ thuật hữu ích, 1311 01:00:14,680 --> 01:00:16,420 và chúng ta sẽ hiểu trước dài cách làm việc này. 1312 01:00:16,420 --> 01:00:18,429 Nhưng bây giờ, tôi đang quay tắt kết quả tức thì, 1313 01:00:18,429 --> 01:00:20,720 bởi vì tôi muốn trình duyệt của tôi để sắp xếp công việc học cũ nên 1314 01:00:20,720 --> 01:00:22,940 mà tôi có thể xem những gì đang xảy ra. 1315 01:00:22,940 --> 01:00:23,840 >> Vì vậy, bây giờ tôi lại ở đây. 1316 01:00:23,840 --> 01:00:25,090 Và tôi muốn tìm kiếm cho mèo. 1317 01:00:25,090 --> 01:00:30,351 Và nhận thấy tôi đang nhìn thấy một số gợi ý, một số gợi ý rất lành tính 1318 01:00:30,351 --> 01:00:30,850 may mắn. 1319 01:00:30,850 --> 01:00:34,730 Và bây giờ nếu tôi nhấn Enter, hãy xem những gì sẽ xảy ra. 1320 01:00:34,730 --> 01:00:35,850 >> Vì vậy, có một số mèo. 1321 01:00:35,850 --> 01:00:37,540 Và các hit đầu là trên Wikipedia. 1322 01:00:37,540 --> 01:00:39,820 Nhưng hôm nay chúng ta quan tâm công nghệ lên đây. 1323 01:00:39,820 --> 01:00:42,479 Vì vậy, các URL mà tôi đã được gửi lại ở đây. 1324 01:00:42,479 --> 01:00:44,520 Và có một số thứ tôi không thực sự hiểu. 1325 01:00:44,520 --> 01:00:47,430 >> Vì vậy, tôi sẽ đi trước, bởi vì Tôi loại biết cách hoạt động của Google, 1326 01:00:47,430 --> 01:00:50,700 và tôi sẽ để chưng cất này URL vào hình thức đơn giản của nó. 1327 01:00:50,700 --> 01:00:52,510 Và bây giờ tôi sẽ nhấn Enter lần nữa. 1328 01:00:52,510 --> 01:00:53,360 Và nó vẫn hoạt động. 1329 01:00:53,360 --> 01:00:55,800 Tôi có một trang kết quả của tất cả về con mèo. 1330 01:00:55,800 --> 01:00:58,460 >> Nhưng nhận thấy sự đơn giản của URL của tôi. 1331 01:00:58,460 --> 01:01:00,820 Hóa ra đây là cách nhiều công trình web. 1332 01:01:00,820 --> 01:01:03,500 Các web chỉ là một toàn bộ loạt các máy tính 1333 01:01:03,500 --> 01:01:05,320 chạy phần mềm mà lấy đầu vào. 1334 01:01:05,320 --> 01:01:07,480 Nó không có được phong cách chuỗi đầu vào. 1335 01:01:07,480 --> 01:01:09,670 Nó không phải dòng lệnh lập luận như chúng ta đang sử dụng để. 1336 01:01:09,670 --> 01:01:13,449 Họ lấy đầu vào, các máy chủ web, bằng cách của URL khá thường xuyên. 1337 01:01:13,449 --> 01:01:15,240 Và bất cứ lúc nào bạn đã tìm kiếm một cái gì đó, 1338 01:01:15,240 --> 01:01:17,448 bất kỳ thời gian bạn đã đăng nhập vào Facebook, bất kỳ thời gian bạn đã 1339 01:01:17,448 --> 01:01:20,090 thực hiện bất cứ điều gì tương tác với một trang web, những gì bạn đang làm 1340 01:01:20,090 --> 01:01:24,340 được hiệu quả nộp một mẫu đơn, vì vậy để speak-- hộp văn bản, hộp kiểm tra, 1341 01:01:24,340 --> 01:01:27,880 vòng tròn nhỏ, và không có điều gì mà gửi thông tin từ bạn đến máy chủ. 1342 01:01:27,880 --> 01:01:31,960 >> Và nó chỉ ra rằng các trang web máy chủ biết để nhìn vào URL 1343 01:01:31,960 --> 01:01:36,040 và phân tích nó, giống như nhìn vào nó nhân vật bởi nhân vật tìm kiếm bất cứ điều gì 1344 01:01:36,040 --> 01:01:38,000 thú vị sau một dấu chấm hỏi. 1345 01:01:38,000 --> 01:01:40,910 Bởi vì sau khi một dấu hỏi, nó quay ra, là sẽ đi 1346 01:01:40,910 --> 01:01:42,730 một loạt các cặp giá trị quan trọng. 1347 01:01:42,730 --> 01:01:44,570 Tôi có nghĩa là key = value. 1348 01:01:44,570 --> 01:01:48,130 Và sau đó nếu có thể multiple-- một dấu, một số khác key = giá trị, 1349 01:01:48,130 --> 01:01:50,200 ký hiệu, key = value. 1350 01:01:50,200 --> 01:01:54,560 >> Vì vậy, chúng tôi đã loại nhìn thấy ý tưởng này trước khi mà một cái gì đó có giá trị. 1351 01:01:54,560 --> 01:01:55,880 Nó chỉ là một định dạng mới đây. 1352 01:01:55,880 --> 01:01:59,040 Và tôi chỉ biết, theo quy ước, Google sử dụng cho truy vấn q. 1353 01:01:59,040 --> 01:02:02,670 Và sau đó nếu tôi muốn tìm kiếm cho chó, tôi có thể tự tìm kiếm cho chó như thế. 1354 01:02:02,670 --> 01:02:06,360 Và sau đó tôi nhận được rõ ràng một số kết quả tìm kiếm liên quan đến chó. 1355 01:02:06,360 --> 01:02:07,727 >> Vì vậy, điều đó có vẻ thú vị. 1356 01:02:07,727 --> 01:02:10,060 Và quả thực, những gì đang xảy ra bên dưới mui xe là điều này. 1357 01:02:10,060 --> 01:02:11,460 Hãy để tôi làm điều này. 1358 01:02:11,460 --> 01:02:13,620 Đây là a-- để xem nào. 1359 01:02:13,620 --> 01:02:16,320 Hãy để tôi nhìn lại ở đây chỉ một khoảnh khắc. 1360 01:02:16,320 --> 01:02:19,810 >> Chúng ta sẽ thấy rằng có khác cách để gửi thông tin. 1361 01:02:19,810 --> 01:02:25,340 Vì vậy, nếu tôi đăng nhập vào Facebook, hoặc Gmail, hoặc bất kỳ trang web phổ biến khác, 1362 01:02:25,340 --> 01:02:30,720 có vẻ như loại xấu nếu bất cứ điều gì tôi đã gõ vào hộp tìm kiếm kết thúc trong URL của tôi, 1363 01:02:30,720 --> 01:02:32,850 trong thanh địa chỉ của trình duyệt của tôi. 1364 01:02:32,850 --> 01:02:33,690 Tại sao? 1365 01:02:33,690 --> 01:02:35,395 Tại sao là nhẹ đáng lo ngại? 1366 01:02:35,395 --> 01:02:39,567 1367 01:02:39,567 --> 01:02:40,067 Yeah? 1368 01:02:40,067 --> 01:02:41,380 Đung Gõ vào một mật khẩu. 1369 01:02:41,380 --> 01:02:41,720 DAVID J. Malan: Yeah. 1370 01:02:41,720 --> 01:02:44,000 Vì vậy, nếu những gì tôi đã gì gõ vào là mật khẩu của tôi? 1371 01:02:44,000 --> 01:02:47,881 Tôi loại không muốn nó quá rõ ràng nhìn thấy trong thanh địa chỉ của trình duyệt của tôi. 1372 01:02:47,881 --> 01:02:50,630 Một, bởi vì bạn cùng phòng khó chịu của tôi có xu hướng xem qua vai tôi, 1373 01:02:50,630 --> 01:02:53,980 và anh ta hoặc cô ta có thể thấy, mặc dù nó là viên đạn khi tôi đang gõ nó trong, 1374 01:02:53,980 --> 01:02:54,810 vòng tròn nhỏ. 1375 01:02:54,810 --> 01:02:56,010 Bây giờ nó vào thanh địa chỉ của tôi. 1376 01:02:56,010 --> 01:02:59,270 >> Hơn nữa, những gì là sự thật về công cụ bạn có xu hướng nhập vào thanh địa chỉ. 1377 01:02:59,270 --> 01:03:00,230 >> Đung [Không nghe thấy] 1378 01:03:00,230 --> 01:03:01,505 >> DAVID J. Malan: Đó là gì? 1379 01:03:01,505 --> 01:03:02,630 Đung Nó được gửi ra ngoài. 1380 01:03:02,630 --> 01:03:03,510 DAVID J. Malan: Nó được gửi ra ngoài. 1381 01:03:03,510 --> 01:03:05,102 Và cũng có thể, nó được ghi nhớ. 1382 01:03:05,102 --> 01:03:07,060 Bởi vì trong thời gian tới bạn gõ lên những điều đó, 1383 01:03:07,060 --> 01:03:10,440 thường nó tự động hoàn và nó nhớ lại những gì bạn đã gõ trước. 1384 01:03:10,440 --> 01:03:13,850 Và do đó, có lịch sử thật sự này rằng anh chị em của bạn, hoặc bạn cùng phòng của bạn, 1385 01:03:13,850 --> 01:03:16,830 hoặc bất cứ ai có thể đi bộ qua để khá nhiều nhìn thấy tất cả các website 1386 01:03:16,830 --> 01:03:19,760 bạn đến thăm vì nó đăng nhập ở chỗ thanh địa chỉ. 1387 01:03:19,760 --> 01:03:22,790 >> Hơn nữa, giả sử bạn muốn tải lên một bức ảnh lên Facebook. 1388 01:03:22,790 --> 01:03:26,520 Làm thế nào trên thế giới là bạn sẽ đặt một bức ảnh trong một URL? 1389 01:03:26,520 --> 01:03:30,217 >> Vâng nó quay ra bạn có thể làm điều đó trong một số cách nào, nhưng chắc chắn là không rõ ràng. 1390 01:03:30,217 --> 01:03:33,050 Và do đó, có cách này khác gửi thông tin trong một phong bì, 1391 01:03:33,050 --> 01:03:35,680 không phải thông qua một GET, nhưng qua một cái gì đó gọi là POST. 1392 01:03:35,680 --> 01:03:38,060 Và trong lý thuyết, có vẻ khá giống nhau. 1393 01:03:38,060 --> 01:03:41,270 Thay vì từ GET, POST chúng ta nói, và sau đó cùng một loại định dạng. 1394 01:03:41,270 --> 01:03:43,310 >> Ví dụ, đây là một ảnh chụp màn hình của những gì 1395 01:03:43,310 --> 01:03:46,920 nó có thể trông như thế nào nếu tôi cố gắng khai thác gỗ vào Facebook, gửi tôi vào một tập tin 1396 01:03:46,920 --> 01:03:51,230 gọi là login.php, mà thực sự là vẫn còn cho đến ngày nay đặt tên như vậy. 1397 01:03:51,230 --> 01:03:53,910 Đó là cùng một tên tập tin Mark đã cung cấp cho nó nhiều năm trước đây. 1398 01:03:53,910 --> 01:03:58,520 Đây là chương trình mà ông đã viết trong PHP qua mà người dùng có thể đăng nhập vào trang web. 1399 01:03:58,520 --> 01:04:00,370 >> Nhưng bạn cần phải gửi một số đầu vào bổ sung. 1400 01:04:00,370 --> 01:04:05,170 Và thay vì nó đi sau tên file như trước đây với cats-- 1401 01:04:05,170 --> 01:04:09,720 q = cats-- nó có thể xuống thấp hơn trong yêu cầu, bên trong sâu sắc hơn về các phong bì nếu bạn 1402 01:04:09,720 --> 01:04:12,440 sẽ không ai có thể nhìn thấy nó, và nơi mà nó không kết thúc 1403 01:04:12,440 --> 01:04:15,670 trong thanh trình duyệt của người dùng, và do đó không nhớ để mọi người ăn trộm 1404 01:04:15,670 --> 01:04:16,290 xung quanh. 1405 01:04:16,290 --> 01:04:21,260 >> Và vì vậy ở đây địa chỉ email của tôi và fake mật khẩu của tôi thực sự đi. 1406 01:04:21,260 --> 01:04:27,400 Và nếu đang sử dụng Facebook không HTTP, HTTPS nhưng, 1407 01:04:27,400 --> 01:04:30,710 tất cả điều này sẽ được mã hóa, tranh giành, ala Caesar hoặc Vigenere, 1408 01:04:30,710 --> 01:04:34,960 nhưng fancily nhiều hơn như vậy mà không có ai thực sự có thể nhìn thấy yêu cầu này. 1409 01:04:34,960 --> 01:04:38,120 >> Và như vậy thực sự, bất cứ lúc nào bạn có một URL bắt đầu bằng HTTPS, 1410 01:04:38,120 --> 01:04:39,560 nó chỉ có nghĩa là nó được mã hóa. 1411 01:04:39,560 --> 01:04:42,710 Nhưng vào cuối ngày, có chuyện gì thực sự bên trong các phong bì? 1412 01:04:42,710 --> 01:04:44,070 Đây là mức siêu thấp. 1413 01:04:44,070 --> 01:04:46,240 Và may mắn thay, chúng tôi không sẽ nhất thiết phải có 1414 01:04:46,240 --> 01:04:49,310 đi mức thấp như vậy mỗi lần đến bắt đầu viết phần mềm thú vị. 1415 01:04:49,310 --> 01:04:51,060 Chúng tôi có thể bắt đầu để mất những ý tưởng của một tuần 1416 01:04:51,060 --> 01:04:54,020 đến năm, giả sử rằng có bây giờ là cơ sở hạ tầng này 1417 01:04:54,020 --> 01:04:57,160 cho phép chúng tôi viết phần mềm mà hoạt động trên web, 1418 01:04:57,160 --> 01:05:00,120 và nó sẽ cho phép chúng tôi này đến tuần để bắt đầu 1419 01:05:00,120 --> 01:05:01,840 nhìn vào một cái gì đó gọi là HTML. 1420 01:05:01,840 --> 01:05:04,750 Đây là những thứ mà thậm chí còn sâu hơn bên trong phong bì, 1421 01:05:04,750 --> 01:05:06,150 nhưng đó là công cụ chúng tôi sẽ bắt đầu viết. 1422 01:05:06,150 --> 01:05:08,020 Và đó là công cụ hơn thú vị, chúng tôi 1423 01:05:08,020 --> 01:05:11,420 sẽ viết chương trình bắt đầu tạo ra tự động 1424 01:05:11,420 --> 01:05:15,410 để các trang web của chúng tôi không được mã hóa cứng, nhưng có đầu vào và đầu ra sản xuất. 1425 01:05:15,410 --> 01:05:18,810 >> Đây có lẽ là đơn giản nhất web Trang bạn có thể thực hiện trên thế giới. 1426 01:05:18,810 --> 01:05:23,000 Tôi thực sự có thể mở lên một cái gì đó ngu ngốc như TextEdit 1427 01:05:23,000 --> 01:05:26,160 trên máy Mac của tôi, mà chỉ mang lại cho tôi một cửa sổ văn bản đơn giản như thế này. 1428 01:05:26,160 --> 01:05:29,510 Người dùng máy tính có Notepad.ext, mà là rất giống nhau trong tinh thần. 1429 01:05:29,510 --> 01:05:33,212 >> Và tôi theo nghĩa đen có thể gõ ra this-- DOCTYPE HTML, 1430 01:05:33,212 --> 01:05:34,420 mà có vẻ hơi khó hiểu. 1431 01:05:34,420 --> 01:05:35,850 Nhưng chúng tôi sẽ trở lại đó. 1432 01:05:35,850 --> 01:05:38,730 HTML, với những kỳ lạ dấu ngoặc góc cạnh và chém, 1433 01:05:38,730 --> 01:05:42,240 bên trong mà bây giờ tôi sẽ nói ở đây có người đứng đầu của trang web của tôi. 1434 01:05:42,240 --> 01:05:45,220 Bên trong đó, tôi chỉ biết, và bạn sẽ sớm biết, 1435 01:05:45,220 --> 01:05:47,850 mà tôi có thể đặt tiêu đề của trang web của tôi. 1436 01:05:47,850 --> 01:05:49,720 Và sau đó dưới đầu của trang web là 1437 01:05:49,720 --> 01:05:51,972 sẽ đi đến cái gọi là cơ thể của trang web. 1438 01:05:51,972 --> 01:05:54,180 Và tôi chỉ thụt chỉ giống như trong C để loại giữ 1439 01:05:54,180 --> 01:05:57,620 những điều độc đáo có thể đọc được văn phong. 1440 01:05:57,620 --> 01:06:04,745 Và bây giờ tôi sẽ tiết kiệm này là một tập tin trên máy tính để bàn, gọi hello.html của tôi. 1441 01:06:04,745 --> 01:06:06,770 >> Và tôi sẽ nói cho nó có, sử dụng HTML. 1442 01:06:06,770 --> 01:06:09,690 Không thay đổi nó để .txt, thậm chí mặc dù tất cả điều này là một tập tin văn bản, 1443 01:06:09,690 --> 01:06:12,130 giống như một chương trình C bằng văn bản với một trình soạn thảo văn bản. 1444 01:06:12,130 --> 01:06:15,080 Mặc dù không phải trong CS50 IDE tại thời điểm, chỉ ở đây trên Mac của tôi. 1445 01:06:15,080 --> 01:06:18,490 >> Và nếu bây giờ tôi đi đến máy tính để bàn của tôi, bạn sẽ thấy hello.html. 1446 01:06:18,490 --> 01:06:20,720 Nếu tôi nhấp đúp chuột này, nó sẽ mở Chrome. 1447 01:06:20,720 --> 01:06:23,260 Và mặc dù tập tin này xảy ra để sống trên máy tính để bàn của tôi, 1448 01:06:23,260 --> 01:06:26,550 đó có lẽ là đơn giản nhất Trang web của tôi có thể làm. 1449 01:06:26,550 --> 01:06:30,080 >> Chú ý rằng các tiêu đề của tab con đường lên đỉnh là hello world. 1450 01:06:30,080 --> 01:06:32,470 Cơ thể của trang web thực sự là hello world. 1451 01:06:32,470 --> 01:06:35,830 Và tất cả tôi đã làm để có được đến thời điểm này là thực hiện, 1452 01:06:35,830 --> 01:06:38,342 hay là viết một ngôn ngữ mới, được gọi là HTML. 1453 01:06:38,342 --> 01:06:40,300 Nó không phải là một lập trình ngôn ngữ như C. Có 1454 01:06:40,300 --> 01:06:42,508 sẽ không có điều kiện, và vòng lặp, và các chức năng. 1455 01:06:42,508 --> 01:06:46,560 Đó là một ngôn ngữ đánh dấu, trong đó trường hợp bạn chỉ cần nói cho nhận 1456 01:06:46,560 --> 01:06:48,410 Chương trình những gì bạn muốn làm. 1457 01:06:48,410 --> 01:06:51,195 Điều này có nghĩa hey trình duyệt, ở đây có một trang HTML. 1458 01:06:51,195 --> 01:06:53,040 Hey trình duyệt, ở đây có người đứng đầu trang của tôi. 1459 01:06:53,040 --> 01:06:55,130 Hey trình duyệt, ở đây có cơ thể của trang web của tôi. 1460 01:06:55,130 --> 01:06:57,100 Hey trình duyệt, đó là nó cho cơ thể. 1461 01:06:57,100 --> 01:06:59,350 Đó là nó cho các trang HTML. 1462 01:06:59,350 --> 01:07:03,560 >> Và với những định nghĩa đơn giản một mình, chúng ta sẽ sớm thấy rằng một trong, 1463 01:07:03,560 --> 01:07:05,122 chúng tôi có thể đại diện này như một cái cây. 1464 01:07:05,122 --> 01:07:06,080 Nhưng nhiều hơn về điều này sau. 1465 01:07:06,080 --> 01:07:08,788 Vì vậy, đây sẽ tất cả các kết nối đến cấu trúc dữ liệu gần đây nhất của chúng tôi. 1466 01:07:08,788 --> 01:07:12,460 Hai, chúng tôi sẽ giới thiệu trò đùa ngu ngốc này. 1467 01:07:12,460 --> 01:07:15,680 Đây là một hình xăm thật mà anh chàng này đã có trên cổ anh. 1468 01:07:15,680 --> 01:07:19,660 Đây có thể là hài hước trong tuần đầu tiên hai, và sau đó, có lẽ không quá nhiều. 1469 01:07:19,660 --> 01:07:22,960 >> Nhưng HTML, và thậm chí cả các trang web Trang tôi chỉ cần thực hiện, siêu tâm 1470 01:07:22,960 --> 01:07:25,670 numbingly disappointing-- chỉ nói hello world 1471 01:07:25,670 --> 01:07:27,210 trong văn bản màu đen trên nền trắng. 1472 01:07:27,210 --> 01:07:28,680 Chắc chắn chúng ta có thể làm tốt hơn nhiều. 1473 01:07:28,680 --> 01:07:31,552 Và chúng tôi sẽ làm như vậy bằng cách giới thiệu một ngôn ngữ được gọi là CSS. 1474 01:07:31,552 --> 01:07:34,760 Điều này cũng không phải là một lập trình language-- không có vòng, và điều kiện, hoặc cho các vòng, 1475 01:07:34,760 --> 01:07:38,470 nhưng thực sự, chỉ cần cú pháp mà theo đó chúng ta có thể nói, làm cho văn bản này lớn. 1476 01:07:38,470 --> 01:07:39,415 Làm cho văn bản này nhỏ. 1477 01:07:39,415 --> 01:07:40,040 Right align nó. 1478 01:07:40,040 --> 01:07:40,650 Trái align nó. 1479 01:07:40,650 --> 01:07:41,195 Làm cho nó màu hồng. 1480 01:07:41,195 --> 01:07:41,820 Làm cho nó màu tím. 1481 01:07:41,820 --> 01:07:42,650 Làm cho nó màu xanh. 1482 01:07:42,650 --> 01:07:44,860 Hoặc làm bất kỳ số lượng hiệu ứng hình ảnh khác. 1483 01:07:44,860 --> 01:07:48,590 Và vì vậy chúng tôi sẽ xem làm thế nào để bắt đầu stylizing các trang web để họ nhìn một cách 1484 01:07:48,590 --> 01:07:50,480 gần gũi hơn với những gì chúng ta muốn. 1485 01:07:50,480 --> 01:07:56,930 >> Và cuối cùng, chúng tôi đã thực sự bị hủy hoại có lẽ nhiều kênh truyền hình và phim cho bạn. 1486 01:07:56,930 --> 01:07:58,930 Tôi nghĩ chúng ta sẽ kết thúc ở đây với giây cuối cùng của chúng tôi 1487 01:07:58,930 --> 01:08:03,700 trên một đoạn phim cuối cùng mà bạn thấy cách hack vào các công trình internet. 1488 01:08:03,700 --> 01:08:06,250 Nếu chúng ta có thể làm mờ sáng một lần cuối cùng. 1489 01:08:06,250 --> 01:08:07,250 >> [VIDEO PLAYBACK] 1490 01:08:07,250 --> 01:08:09,520 >> -Không đời nào. 1491 01:08:09,520 --> 01:08:10,650 Tôi đang bị tấn công. 1492 01:08:10,650 --> 01:08:11,770 >> -Okorsky? 1493 01:08:11,770 --> 01:08:14,230 >> -No-- Không có, điều này là chính. 1494 01:08:14,230 --> 01:08:17,074 Họ đã đốt cháy thông qua các bức tường lửa công NCIS. 1495 01:08:17,074 --> 01:08:19,990 -Well, Cô lập các nút và bãi họ ở phía bên kia của router. 1496 01:08:19,990 --> 01:08:20,990 -Tôi đang cô. 1497 01:08:20,990 --> 01:08:23,990 Nó đang chuyển động quá nhanh. 1498 01:08:23,990 --> 01:08:25,179 >> -Oh, Điều này là không tốt. 1499 01:08:25,179 --> 01:08:27,470 Họ đang sử dụng kết nối của chúng tôi [Không nghe thấy] cơ sở dữ liệu này. 1500 01:08:27,470 --> 01:08:28,458 Sever nó. 1501 01:08:28,458 --> 01:08:28,958 -Tôi Không thể. 1502 01:08:28,958 --> 01:08:29,454 Đó là một cuộc tấn công điểm. 1503 01:08:29,454 --> 01:08:31,438 Anh ta hoặc cô ấy chỉ là đi sau khi máy tính của tôi. 1504 01:08:31,438 --> 01:08:32,430 >> -Điều đó là không thể. 1505 01:08:32,430 --> 01:08:33,847 Có mã hóa mỏ cấp của Bộ Quốc phòng. 1506 01:08:33,847 --> 01:08:35,055 Nó sẽ mất vài tháng để get-- 1507 01:08:35,055 --> 01:08:35,857 -Hey, Đó là những gì? 1508 01:08:35,857 --> 01:08:36,398 Một trò chơi video? 1509 01:08:36,398 --> 01:08:37,886 >> -Không Tony, chúng tôi đang bị tấn công. 1510 01:08:37,886 --> 01:08:40,795 >> -Nếu Họ nhận được trong máy tính của Abby, toàn bộ mạng NCIS là tới. 1511 01:08:40,795 --> 01:08:42,050 >> -Tôi Không thể ngăn chặn anh ta. 1512 01:08:42,050 --> 01:08:43,050 Làm điều gì đó McGee. 1513 01:08:43,050 --> 01:08:44,550 >> -I've Bao giờ thấy mã như thế này. 1514 01:08:44,550 --> 01:08:47,432 1515 01:08:47,432 --> 01:08:48,571 -Oh. 1516 01:08:48,571 --> 01:08:49,196 -Where Của nó đi? 1517 01:08:49,196 --> 01:08:50,604 Abby? 1518 01:08:50,604 --> 01:08:51,520 -Tôi Đã không làm bất cứ điều gì. 1519 01:08:51,520 --> 01:08:53,020 Tôi nghĩ bạn đã làm. 1520 01:08:53,020 --> 01:08:54,520 >> -Không. 1521 01:08:54,520 --> 01:08:57,232 >> -Tôi đã làm. 1522 01:08:57,232 --> 01:08:58,307 >> [END PLAYBACK] 1523 01:08:58,307 --> 01:09:00,390 DAVID J. Malan: The best một phần là hai người gõ 1524 01:09:00,390 --> 01:09:02,170 trên bàn phím cùng một lúc. 1525 01:09:02,170 --> 01:09:03,200 >> Vì vậy, đó là nó cho CS50. 1526 01:09:03,200 --> 01:09:04,700 Chúng tôi sẽ dính vào xung quanh cho giờ làm việc. 1527 01:09:04,700 --> 01:09:06,344 Và chúng ta sẽ thấy bạn thời gian tới. 1528 01:09:06,344 --> 01:09:07,760 [MUSIC CHƠI - "THEME Seinfeld"] 1529 01:09:07,760 --> 01:09:11,139 1530 01:09:11,139 --> 01:09:11,680 Đây là CS50. 1531 01:09:11,680 --> 01:09:17,960 1532 01:09:17,960 --> 01:09:20,854 Tôi không muốn trở thành một cướp biển. 1533 01:09:20,854 --> 01:09:21,770 SPEAKER 2: Yarr David. 1534 01:09:21,770 --> 01:09:23,700 Đó là một đôi bạn tốt được mặc. 1535 01:09:23,700 --> 01:09:26,450 Nhiều lái tàu theo chiều gió trong làn đó. 1536 01:09:26,450 --> 01:09:29,327