1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Tuần 7, Tiếp tục] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Đại học Harvard] 3 00:00:05,090 --> 00:00:07,780 [Đây là CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Được rồi. Welcome Back. Đây là CS50, 5 00:00:09,810 --> 00:00:12,100 và điều này là vào cuối tuần 7. 6 00:00:12,100 --> 00:00:15,460 Vì vậy, một trong những điều nhỏ ngu ngốc mà đi trên Internet 7 00:00:15,460 --> 00:00:24,080 và chúng tôi slurped lên, và nó bây giờ nên làm cho một ít ý nghĩa geeky cho bạn. 8 00:00:24,080 --> 00:00:28,330 Vâng, nó buồn cười với anh chàng này hơn là đến với bạn. 9 00:00:28,330 --> 00:00:32,619 Phát biểu, tốt, guys, 10 00:00:32,619 --> 00:00:42,550 hôm nay là ngày sinh nhật của Nate. 11 00:00:42,550 --> 00:00:46,630 Để cung cấp cho bạn một cảm giác như thế nào tốt Nate và tôi 12 00:00:46,630 --> 00:00:50,140 phát triển web dựa trên lớp hôm thứ hai và có trụ sở tại về điều này, 13 00:00:50,140 --> 00:00:53,170 Tôi nghĩ rằng tôi muốn kéo lên trang chủ của Nate, nếu bạn không nhìn thấy nó. 14 00:00:53,170 --> 00:00:57,020 Đây ia của Nate HTML. 15 00:00:57,020 --> 00:00:59,380 Vì vậy, xem mã nguồn của mình nếu bạn muốn xem làm thế nào để làm điều này, và Nate, 16 00:00:59,380 --> 00:01:02,250 nếu chúng ta có thể xấu hổ bạn chỉ cần một thời gian ngắn, các nhân viên có một chút gì đó 17 00:01:02,250 --> 00:01:06,080 nếu bạn muốn chia sẻ một số món tráng miệng với một số trẻ em trong các lớp học ở đây. 18 00:01:06,080 --> 00:01:10,150 Nếu bạn muốn đến trên xuống. 19 00:01:10,150 --> 00:01:14,350 Tất cả các bạn hoan nghênh và rất tốt đẹp, nhưng không có ai ngồi bất cứ nơi nào gần Nate, 20 00:01:14,350 --> 00:01:17,560 đối với một số lý do, trong đó khu vực trở lại. 21 00:01:17,560 --> 00:01:24,020 Vì vậy, có lẽ bạn có thể tìm thấy một số người để thưởng thức những việc này với. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Hellos thêm: Chúng tôi đã cho thấy một vài clip từ học sinh CS50x của chúng tôi. 24 00:01:37,660 --> 00:01:39,710 Nếu bạn muốn xem những người khác trên thế giới 25 00:01:39,710 --> 00:01:41,850 sau cùng, bạn có thể đến URL này, 26 00:01:41,850 --> 00:01:45,780 Joseph, một trong những TFs của chúng tôi, đã đặt cùng một montage của các loại 27 00:01:45,780 --> 00:01:50,290 của tất cả mọi người đã gửi những đoạn phim này, trong đó có Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Và nếu bạn di chuyển thông qua đó, nó thực sự khá truyền cảm hứng 29 00:01:53,010 --> 00:01:56,890 để thấy sự đa dạng của quốc gia và thành phố mà từ đó mọi người đang ca ngợi. 30 00:01:56,890 --> 00:02:00,830 Vì vậy, nếu bạn muốn có một cái nhìn ở đó, mà sẽ được thông qua vào cuối học kỳ. 31 00:02:00,830 --> 00:02:05,370 Hôm nay chúng ta tiếp tục xem xét của chúng tôi tại trang web, lập trình web, HTML và như thế, 32 00:02:05,370 --> 00:02:08,280 và chúng tôi cũng ăn trưa đến thứ sáu này 33 00:02:08,280 --> 00:02:11,360 nếu bạn muốn, và đặc biệt, không làm như vậy trước khi. 34 00:02:11,360 --> 00:02:13,630 Thứ Sáu trong này đề sẽ là ngày sinh nhật của Nate, 35 00:02:13,630 --> 00:02:15,700 vì vậy nếu bạn muốn có bữa ăn trưa sinh nhật với Nate 36 00:02:15,700 --> 00:02:17,500 và những người khác, một số bạn bè của chúng tôi các ngành công nghiệp, 37 00:02:17,500 --> 00:02:19,300 hãy đầu đến URL đó ở đó. 38 00:02:19,300 --> 00:02:22,510 Không gian, như mọi khi, là hạn chế. Ngoài ra, nếu bạn đã quên, 39 00:02:22,510 --> 00:02:26,460 nhận ra rằng tuần tới là thời hạn cuối cùng cho vấn đề thiết lập tìm kiếm thông 4, 40 00:02:26,460 --> 00:02:30,070 theo đó sau khi phục hồi tất cả của những người JPEG từ card.raw, 41 00:02:30,070 --> 00:02:32,880 bạn và bạn bè của bạn phần, nếu bạn muốn, có thể thử chụp ảnh 42 00:02:32,880 --> 00:02:36,100 như nhiều người trong số các nhà khoa học máy tính từ đó thẻ nhớ càng tốt, 43 00:02:36,100 --> 00:02:39,070 và bạn và trang web của bạn sau đó sẽ giành chiến thắng một giải thưởng tuyệt vời. 44 00:02:39,070 --> 00:02:44,470 Xem lại đặc điểm kỹ thuật pset 4 nộp và khi nào. 45 00:02:44,470 --> 00:02:47,650 Ngoài ra, nếu bạn muốn có công trình của bạn bất tử 46 00:02:47,650 --> 00:02:51,400 trên trang web của khóa học và lịch sử của nó may mặc, 47 00:02:51,400 --> 00:02:54,010 biết rằng bạn đang chào đón ngay bây giờ để bắt đầu trình thiết kế 48 00:02:54,010 --> 00:02:57,180 cho năm nay T-shirt và áo nỉ và các loại tương tự. 49 00:02:57,180 --> 00:02:59,200 Chúng tôi sẽ làm tốt nhất của chúng tôi bao gồm như nhiều như chúng ta có thể, 50 00:02:59,200 --> 00:03:01,440 nhưng chúng tôi sẽ có một số thành viên của việc xem xét nhân viên tất cả các mẫu thiết kế 51 00:03:01,440 --> 00:03:04,180 để đảm bảo rằng chúng phù hợp với các thông số kỹ thuật, 52 00:03:04,180 --> 00:03:07,500 và sau đó chúng tôi thường chọn một số ít trong số họ được trưng bày. 53 00:03:07,500 --> 00:03:10,620 Vì vậy, nếu bạn là loại thiết kế, chỉ biết rằng các yêu cầu 54 00:03:10,620 --> 00:03:14,030 cho đồ họa là PNG, ít nhất 200 DPI, 55 00:03:14,030 --> 00:03:16,520 họ không nên được hơn 4000 x 4000 pixels, 56 00:03:16,520 --> 00:03:19,010 và không nhiều hơn 10 MB, nhưng bạn đang chào đón để sử dụng những thứ như 57 00:03:19,010 --> 00:03:22,430 Photoshop hoặc GIMP hoặc các chương trình khác nhau của đồ họa, 58 00:03:22,430 --> 00:03:24,590 bất cứ điều gì bạn có theo ý của bạn. 59 00:03:24,590 --> 00:03:28,280 >> Ngoài ra trên đường chân trời là dự án cuối cùng. Dự án cuối cùng thực sự là đỉnh cao của 50 60 00:03:28,280 --> 00:03:30,560 theo đó tất cả các bài tập trong khóa học, 61 00:03:30,560 --> 00:03:33,170 đó là cơ hội của bạn thực sự làm việc của riêng của bạn. 62 00:03:33,170 --> 00:03:35,280 Và đó có thể đơn giản chỉ để làm một cái gì đó cho vui, 63 00:03:35,280 --> 00:03:38,160 nó có thể được giải quyết một số vấn đề bức xúc, nhóm học sinh của bạn có, 64 00:03:38,160 --> 00:03:40,980 cho một số trang web mới, một số cơ chế bộ sưu tập mới cho dữ liệu. 65 00:03:40,980 --> 00:03:43,420 Nó có thể là một ứng dụng di động cho Android, iOS. 66 00:03:43,420 --> 00:03:46,030 Thực sự, bầu trời là giới hạn, và trong vài tuần tới, 67 00:03:46,030 --> 00:03:50,900 khi chúng ta chuyển đổi từ C đến các ngôn ngữ cấp cao hơn như PHP và JavaScript, 68 00:03:50,900 --> 00:03:55,150 bạn sẽ thấy mình ngày càng quen với một số kỹ thuật thực tế, 69 00:03:55,150 --> 00:03:57,800 một số công cụ trong thế giới thực, và bổ sung thêm rằng, 70 00:03:57,800 --> 00:04:00,170 biết rằng khóa học có một lịch sử của các cuộc hội thảo, 71 00:04:00,170 --> 00:04:02,880 theo đó trong vài tuần tới, một số cán bộ giảng dạy 72 00:04:02,880 --> 00:04:06,160 và bạn bè của chúng ta từ trong khuôn viên của trường sẽ cung cấp các hội thảo tùy chọn 73 00:04:06,160 --> 00:04:08,540 mà đi ở trên và vượt ra ngoài những gì thường được thực hiện trong phần 74 00:04:08,540 --> 00:04:11,090 giới thiệu với bạn những thứ như Android lập trình, 75 00:04:11,090 --> 00:04:13,450 giới thiệu với bạn những điều như iOS lập trình 76 00:04:13,450 --> 00:04:15,950 hoặc cao cấp hơn các kỹ thuật phát triển web. 77 00:04:15,950 --> 00:04:17,970 Có cả một lịch sử này đã được trực tuyến. 78 00:04:17,970 --> 00:04:25,000 Nếu bạn đi đến cs50.net/seminars, chúng tôi đã làm điều này cho khá một vài năm, 79 00:04:25,000 --> 00:04:28,740 và bạn sẽ thấy rằng lưu trữ ở đây với các file PDF và video và các loại tương tự 80 00:04:28,740 --> 00:04:33,090 là hàng chục video các cuộc hội thảo. 81 00:04:33,090 --> 00:04:37,380 Năm ngoái, ví dụ, chúng tôi đã có một hội thảo về acing phỏng vấn kỹ thuật của bạn, 82 00:04:37,380 --> 00:04:40,980 nếu bạn đang thực sự tìm kiếm và làm một thực tập hoặc biểu diễn toàn thời gian. 83 00:04:40,980 --> 00:04:43,450 Phát triển Windows mobile, Android phát triển, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, phát triển cho BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Thực sự, bạn được chào đón để có một cái nhìn tại bất kỳ các hội thảo một cách thuận tiện. 86 00:04:52,610 --> 00:04:57,080 Và chúng tôi sẽ nắm giữ một số những cái mới trong học kỳ này, là tốt. 87 00:04:57,080 --> 00:04:59,020 >> Vì vậy, những gì trước với các dự án cuối cùng? 88 00:04:59,020 --> 00:05:01,090 Vâng, lần đầu tiên, mặc dù ngày này là phần nào sắp xảy ra, 89 00:05:01,090 --> 00:05:06,460 điều này thực sự chỉ là một cơ hội để bắt đầu suy nghĩ về dự án cuối cùng khá thực tế. 90 00:05:06,460 --> 00:05:10,550 Chúng tôi biết chỉ có sự khởi đầu của một số những gì chúng ta vẫn sẽ được bao gồm trong khóa học, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP và như thế, nhưng tất cả bạn quen thuộc với Web, 92 00:05:13,470 --> 00:05:16,270 và tôi thiên vị cuộc trò chuyện này đối với trang web chỉ vì 93 00:05:16,270 --> 00:05:18,380 hầu hết mọi người kết thúc thực hiện dự án chính thức dựa trên Web, 94 00:05:18,380 --> 00:05:20,260 nhưng điều đó không có nghĩa là điều kiện tiên quyết. 95 00:05:20,260 --> 00:05:22,260 Sử dụng C là tốt, mục tiêu C, Java, 96 00:05:22,260 --> 00:05:25,350 bất kỳ ngôn ngữ khác bạn có thể biết hoặc muốn biết là khá tốt. 97 00:05:25,350 --> 00:05:29,370 Nhưng để có được các loại nước chảy ban đầu, chúng tôi sẽ mong đợi việc nộp một preproposal 98 00:05:29,370 --> 00:05:33,520 đó, mỗi PDF trên trang web, hiện tại là cs50.net, 99 00:05:33,520 --> 00:05:36,080 và ở phía trên bên trái, bạn sẽ thấy dự án cuối cùng 100 00:05:36,080 --> 00:05:38,920 là các đặc điểm kỹ thuật cho các dự án cuối cùng, 101 00:05:38,920 --> 00:05:41,470 và trong đó là những thông tin chi tiết về các preproposal và muốn. 102 00:05:41,470 --> 00:05:44,760 Nó khá nhiều boils xuống một email cho giáo viên giảng dạy của bạn 103 00:05:44,760 --> 00:05:48,450 chỉ để bắt chuyện với anh ta hoặc cô ấy về những gì bạn đang suy nghĩ. 104 00:05:48,450 --> 00:05:52,510 Mở projects.cs50.net là một kho lưu trữ các ý tưởng từ folks trong khuôn viên trường 105 00:05:52,510 --> 00:05:54,480 nếu bạn đang đấu tranh để đến với một số ý tưởng, 106 00:05:54,480 --> 00:06:01,140 và manual.cs50.net/APIs là một kho lưu trữ các liên kết đến các API. 107 00:06:01,140 --> 00:06:06,710 >> , Mặc dù, là một API? 108 00:06:06,710 --> 00:06:09,790 Một API là gì? Tôi đã nói ít nhất hai lần, 109 00:06:09,790 --> 00:06:12,640 theo bảng điểm trong những tuần lễ vừa qua. 110 00:06:12,640 --> 00:06:17,050 Đó là những gì? [Sinh viên, không thể hiểu] 111 00:06:17,050 --> 00:06:19,340 >> Được rồi, tốt. Vì vậy, một cái gì đó giao diện lập trình. 112 00:06:19,340 --> 00:06:22,710 Giao diện lập trình ứng dụng, và điều này có thể mất nhiều hình thức, 113 00:06:22,710 --> 00:06:25,850 nhưng những gì điều này sôi thực sự xuống là mã 114 00:06:25,850 --> 00:06:29,660 mà người khác hs bằng văn bản hoặc dữ liệu mà người khác đã thu thập 115 00:06:29,660 --> 00:06:33,670 được tạo sẵn cho bạn trong một số cách chương trình. 116 00:06:33,670 --> 00:06:36,630 Bạn có thể viết mã trong C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 bất cứ điều gì ngôn ngữ của bạn lựa chọn thường là, 118 00:06:38,760 --> 00:06:42,240 và bằng cách nào đó có thể xây dựng dựa trên chức năng của người khác 119 00:06:42,240 --> 00:06:44,440 hoặc của người khác tập hợp dữ liệu. 120 00:06:44,440 --> 00:06:47,210 Ví dụ, nếu tôi đi đến liên kết này ở đây, 121 00:06:47,210 --> 00:06:50,750 và bạn sẽ thấy một cặp của các liên kết trên trang tiếp theo 122 00:06:50,750 --> 00:06:56,093 nhờ đó chúng ta có các API riêng của CS50 là rất Harvard-trung tâm, và sau đó các API của bên thứ ba. 123 00:06:56,930 --> 00:06:59,300 Trong số các API của bên thứ ba là những thứ thực sự hữu ích 124 00:06:59,300 --> 00:07:01,780 như có thể gửi tin nhắn SMS, 125 00:07:01,780 --> 00:07:04,690 có thể nhận tin nhắn văn bản SMS từ những người. 126 00:07:04,690 --> 00:07:08,160 Và vật như thế mà bạn có thể không có ý tưởng làm thế nào để thực hiện chính mình, 127 00:07:08,160 --> 00:07:10,440 nhưng nhờ đến các dịch vụ, một số, miễn phí và một số thương mại 128 00:07:10,440 --> 00:07:14,000 bạn có thể xây dựng trên đỉnh những người và làm điều gì đó quan tâm đến bạn. 129 00:07:14,000 --> 00:07:16,990 Trong số các API CS50 của những việc này trong khuôn viên trường trung tâm như 130 00:07:16,990 --> 00:07:21,480 Các khóa học Harvard, năng lượng, các sự kiện, thực phẩm, bản đồ, tin tức, tweet của quý vị và Shuttleboy của, 131 00:07:21,480 --> 00:07:23,940 và đây là những API mà nhìn một chút gì đó như thế này. 132 00:07:23,940 --> 00:07:26,990 >> Hãy để tôi kéo lên API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Nếu bạn đã từng được trang web của HUD, bạn đã có thể có 134 00:07:30,620 --> 00:07:35,410 chỉ nhìn thấy những gì cho bữa ăn tối hoặc để xem giờ cho một số d-hall. 135 00:07:35,410 --> 00:07:38,000 Vâng, đó là không phải là đặc biệt dễ dàng điều hướng, 136 00:07:38,000 --> 00:07:41,100 và do đó, những gì chúng tôi một số thời gian trước đây chúng tôi đã viết phần mềm, 137 00:07:41,100 --> 00:07:47,270 nó sẽ xảy ra trong PHP, mà trên thực tế màn hình scrapes toàn bộ trang web của HUD. 138 00:07:47,270 --> 00:07:51,400 Màn hình scrape một cái gì đó có nghĩa là viết một chương trình trong một ngôn ngữ như PHP 139 00:07:51,400 --> 00:07:55,270 mà giả vờ là một trình duyệt, mặc dù bạn có thể chạy nó tại dấu nhắc lệnh, 140 00:07:55,270 --> 00:07:58,180 mà giả vờ là một trình duyệt, kết nối đến một trang web, 141 00:07:58,180 --> 00:08:01,480 tải về HTML, ngôn ngữ mà nó được viết, 142 00:08:01,480 --> 00:08:04,300 và sau đó đọc nó, hoặc cụ thể hơn, phân tích nó 143 00:08:04,300 --> 00:08:06,140 trên xuống dưới, trái sang phải. 144 00:08:06,140 --> 00:08:08,870 Và những gì chúng tôi đã làm được, chúng tôi đã viết mã của chúng tôi trong một cách mà 145 00:08:08,870 --> 00:08:12,910 bất cứ lúc nào chúng ta đã thấy một cái gì đó trong HTML mà trông giống như một cái gì đó trên menu, 146 00:08:12,910 --> 00:08:16,470 như hamburger, sau đó chúng tôi sẽ nhập vào cơ sở dữ liệu của chúng ta. 147 00:08:16,470 --> 00:08:20,410 Và bất cứ lúc nào chúng ta đã thấy hàm lượng dinh dưỡng, chúng tôi sẽ nhập khẩu vào cơ sở dữ liệu của riêng của chúng tôi. 148 00:08:20,410 --> 00:08:23,090 Và những gì chúng tôi làm là tận dụng một thực tế rằng trang web của HUD, 149 00:08:23,090 --> 00:08:27,280 mặc dù nó có thể là một chút của một thách thức cho con người chúng ta để điều hướng 150 00:08:27,280 --> 00:08:32,559 bên dưới mui xe, tất cả các mã HTML được tạo ra bởi các chương trình máy tính của mình. 151 00:08:32,559 --> 00:08:35,159 Vì vậy, tất cả các HTML của họ, mặc dù nó có thể trông lộn xộn, 152 00:08:35,159 --> 00:08:38,026 giống như hầu hết các trang web bên dưới mui xe, sau một mô hình. 153 00:08:38,260 --> 00:08:40,799 Vì vậy, chúng tôi chỉ cần bỏ ra một vài giờ để tìm ra rằng mô hình 154 00:08:40,799 --> 00:08:44,240 để cuối cùng, chúng ta vứt đi tất cả của HTML lộn xộn, 155 00:08:44,240 --> 00:08:47,340 tất cả các tính thẩm mỹ phải đối mặt với đậm và in nghiêng và như thế, 156 00:08:47,340 --> 00:08:52,350 và những gì chúng tôi sau đó có thể làm là lộ rằng cùng một dữ liệu. 157 00:08:52,350 --> 00:08:54,870 Ví dụ, trong cách này. 158 00:08:54,870 --> 00:08:56,840 Vì vậy chúng tôi, theo các tài liệu hướng dẫn ở đây, 159 00:08:56,840 --> 00:08:59,190 đã thông báo với thế giới rằng nếu bạn yêu cầu một URL 160 00:08:59,190 --> 00:09:03,310 trông như thế này, food.cs50.net / một cái gì đó, 161 00:09:03,310 --> 00:09:07,220 và bạn cung cấp một số thông số, chúng ta sẽ nói về ngày hôm nay, 162 00:09:07,220 --> 00:09:11,780 như thời gian cuối ngày, ngày bắt đầu bữa ăn, thời gian và vv, 163 00:09:11,780 --> 00:09:14,090 các máy chủ của chúng tôi sẽ trở lại với bạn, ví dụ, 164 00:09:14,090 --> 00:09:18,740 là một tập tin CSV, dấu phẩy separted giá trị như một tập tin Excel, 165 00:09:18,740 --> 00:09:23,140 có chứa tất cả mọi thứ cho bữa ăn sáng vào ngày này cụ thể tháng ba năm ngoái 166 00:09:23,140 --> 00:09:25,450 khi tôi đã xảy ra để viết tài liệu này. 167 00:09:25,450 --> 00:09:27,870 >> Đối với những người quen thuộc, CSV không phải là định dạng tập tin duy nhất. 168 00:09:27,870 --> 00:09:30,610 Có một định dạng đó là tất cả linh hoạt hơn 169 00:09:30,610 --> 00:09:32,670 được gọi là JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Các dữ liệu có thể trở lại ở định dạng đó. 171 00:09:34,770 --> 00:09:38,110 Vì vậy, các takeaway đây là cho dù bạn nhảy vào API này 172 00:09:38,110 --> 00:09:41,170 hoặc bất kỳ khác của CS50 hoặc bất cứ điều gì có trên Internet, 173 00:09:41,170 --> 00:09:45,560 hoặc không gì cả, nhận ra rằng thế giới đã ngày càng bắt đầu để tiêu chuẩn hóa 174 00:09:45,560 --> 00:09:47,670 máy liên lạc như thế nào. 175 00:09:47,670 --> 00:09:50,660 Chúng tôi sử dụng dữ liệu tiêu chuẩn định dạng như CSV hay JSON. 176 00:09:50,660 --> 00:09:54,320 Và điều này có nghĩa là cho bạn là bạn có thể viết một phần thú vị của một chương trình 177 00:09:54,320 --> 00:09:56,580 cho phép người dùng của bạn tìm kiếm một thực đơn ăn uống-hall, 178 00:09:56,580 --> 00:10:00,010 cho phép họ tạo ra danh sách các mục yêu thích cho phép họ nhận được thông báo văn bản 179 00:10:00,010 --> 00:10:02,480 khi món ăn yêu thích của họ là về để được phục vụ trong một số d-hall 180 00:10:02,480 --> 00:10:07,090 bằng cách sử dụng các tập hợp dữ liệu và xây dựng của người khác trên đầu trang của các API của họ. 181 00:10:07,090 --> 00:10:13,600 Vì vậy, trong các hình thức hội thảo và các tài liệu hướng dẫn mà bạn có ở đây trực tuyến. 182 00:10:13,600 --> 00:10:16,450 Vì vậy, những người, sau đó, các API. 183 00:10:16,450 --> 00:10:18,900 >> Điều đó mang lại cho chúng ta trở về HTML. Nhanh chóng recap. 184 00:10:18,900 --> 00:10:22,920 HTML là gì? 185 00:10:22,920 --> 00:10:25,000 [Sinh viên, không thể hiểu] >> Tốt. HyperText Markup Language. 186 00:10:25,000 --> 00:10:31,300 Người khác, Hypertext Markup Language là gì? 187 00:10:31,300 --> 00:10:37,340 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Okay. Vì vậy, HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText chỉ đề cập đến trang web, đối với hầu hết các phần. 190 00:10:43,100 --> 00:10:45,730 Đánh dấu có nghĩa rằng nó không thực sự là một ngôn ngữ lập trình, HTML. 191 00:10:45,730 --> 00:10:48,120 Nó không phải là một ngôn ngữ mà bạn có thể thể hiện logic. 192 00:10:48,120 --> 00:10:50,710 Nó không có các vòng lặp. Nó không có điều kiện. 193 00:10:50,710 --> 00:10:52,820 Nó không có chức năng, cho mỗi gia nhập. 194 00:10:52,820 --> 00:10:56,680 Thay vào đó, có những điều được gọi là thẻ, hoặc đúng hơn, các yếu tố. 195 00:10:56,680 --> 00:10:59,970 Và những yếu tố có thẻ bắt đầu và thẻ kết thúc, 196 00:10:59,970 --> 00:11:04,300 hoặc thẻ mở và thẻ đóng, và những gì các thẻ thường có nghĩa là cho một trình duyệt, 197 00:11:04,300 --> 00:11:09,270 bắt đầu làm một cái gì đó và sau đó dừng lại làm một cái gì đó, mặc dù có những trường hợp ngoại lệ đó. 198 00:11:09,270 --> 00:11:12,480 Đôi khi nó chỉ là 'đặt một ngắt dòng ở đây, ví dụ. 199 00:11:12,480 --> 00:11:15,150 Và chúng ta đã thấy, giữa phải đối mặt với đậm, ví dụ trong ngày mà khác 200 00:11:15,150 --> 00:11:17,430 ngắt dòng, và sau đó một vài thẻ khác. 201 00:11:17,430 --> 00:11:19,880 Vì vậy, HTML là ngôn ngữ mà các trang web được viết. 202 00:11:19,880 --> 00:11:23,760 Vì vậy, nếu tôi đi đến một cái gì đó giống như Google.com 203 00:11:23,760 --> 00:11:26,180 và kéo lên chỉ trang chủ của họ, 204 00:11:26,180 --> 00:11:29,690 nhớ lại rằng nếu bạn nhấp chuột phải hoặc kiểm soát nhấp 205 00:11:29,690 --> 00:11:32,140 và nhìn vào xem mã nguồn của trang, thường 206 00:11:32,140 --> 00:11:34,420 đó là một mess đầy đủ những ngày này bên dưới mui xe, nhưng đó là bởi vì 207 00:11:34,420 --> 00:11:38,170 máy tính không quan tâm đến không gian màu trắng, do đó, điều này không phải để nhìn đẹp. 208 00:11:38,170 --> 00:11:40,240 Nhưng nếu chúng ta phóng to trên các phần của nó, 209 00:11:40,240 --> 00:11:43,460 thông báo rằng Chrome, chỉ để được tốt đẹp, đã mã hóa màu điều. 210 00:11:43,460 --> 00:11:48,460 Thật vậy, đây là thẻ đầu tiên mà chúng ta đã thấy trong một trang web. 211 00:11:48,460 --> 00:11:51,750 Và một lần nữa, HTML 5, phiên bản mới nhất của ngôn ngữ này, 212 00:11:51,750 --> 00:11:53,830 không có điều này ngay từ đầu, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 nhưng đó chỉ là loại một tiêu chuẩn nói rằng, hey thế giới, ở đây có một tập tin HTML trong phiên bản 5. 215 00:12:03,580 --> 00:12:08,920 >> Phần thú vị bắt đầu ở đây. Vì vậy, 00:12:11,640 các yếu tố HTML thời gian qua. 217 00:12:11,640 --> 00:12:14,630 Hai trẻ em chính là gì? 218 00:12:14,630 --> 00:12:17,170 Đầu và cơ thể, giống như người đàn ông với hình xăm một chút thời gian trước đây. 219 00:12:17,170 --> 00:12:19,640 Có hai phần của trang web, đầu và cơ thể, 220 00:12:19,640 --> 00:12:23,750 và thu hồi, sau đó, đó có lẽ trang web đơn giản nhất chúng ta có thể thực hiện trông như thế này. 221 00:12:23,750 --> 00:12:27,460 Và tôi đã thụt vào nó chỉ là loại gọn gàng và ngăn nắp với mã của tôi, 222 00:12:27,460 --> 00:12:30,710 nhưng những gì thực sự quan trọng ở đây là có một số hệ thống phân cấp này. 223 00:12:30,710 --> 00:12:35,420 Và bất kỳ thẻ mà tôi đã mở ra tôi đã phải đóng cửa và do đó sự đối xứng này 224 00:12:35,420 --> 00:12:38,300 cho tất cả các đánh dấu mà tôi đã tạo ra. 225 00:12:38,300 --> 00:12:41,620 Vì vậy, thời gian qua, chúng tôi bắt đầu viết các trang web trên máy tính xách tay của riêng tôi. 226 00:12:41,620 --> 00:12:45,470 Tôi mở chỉnh sửa văn bản, tôi đã lưu tập tin như hello.html, 227 00:12:45,470 --> 00:12:50,190 Sau đó tôi kéo tập tin vào trình duyệt của tôi, và thì đấy, tôi đã có một trang trên Internet. 228 00:12:50,190 --> 00:12:53,110 Bây giờ, nó không hoàn toàn là trường hợp, tôi đã có một trang trên ổ cứng của tôi, 229 00:12:53,110 --> 00:12:58,260 và tôi đã theo nghĩa đen là người duy nhất trên thế giới, những người sẽ thấy rằng trang web trong trình duyệt. 230 00:12:58,260 --> 00:13:00,670 >> Vì vậy, ngày hôm nay, chúng tôi giới thiệu một máy chủ web thực tế 231 00:13:00,670 --> 00:13:02,750 và khái niệm thực sự phục vụ nội dung trên Internet 232 00:13:02,750 --> 00:13:04,970 và làm thế nào điều này tất cả bắt đầu để phù hợp với nhau. 233 00:13:04,970 --> 00:13:08,350 Vì vậy, nó chỉ ra rằng tất cả những điều này trong thời gian thiết bị CS50 234 00:13:08,350 --> 00:13:11,590 bạn đã có một máy chủ web trên máy tính của bạn. 235 00:13:11,590 --> 00:13:16,560 Chúng tôi đã, trong sự công bằng, chỉ sử dụng nó cho gedit, Clang, GDB và các loại tương tự, 236 00:13:16,560 --> 00:13:21,000 nhưng cũng được cài đặt của chúng tôi cho bạn trong thiết bị là một máy chủ web, 237 00:13:21,000 --> 00:13:23,940 và rằng máy chủ web sẽ xảy ra là miễn phí, mã nguồn mở, 238 00:13:23,940 --> 00:13:26,580 một trong những người nổi tiếng nhất trên thế giới, gọi là Apache. 239 00:13:26,580 --> 00:13:31,340 Tên của nó kỹ thuật nhiều hơn là httpd, d cho daemon ở đây, 240 00:13:31,340 --> 00:13:34,110 là một từ kỹ thuật cho một máy chủ. 241 00:13:34,110 --> 00:13:38,690 Vì vậy, cài đặt trong thiết bị CS50 là một máy chủ web, và có nghĩa là gì? 242 00:13:38,690 --> 00:13:43,740 Vâng, một máy chủ web, khái niệm, một số máy chủ trên Internet phục vụ nội dung trang web. 243 00:13:43,740 --> 00:13:48,630 Khi được hỏi về một tập tin, nó spits ra HTML soạn tập tin đó, và thì đấy. 244 00:13:48,630 --> 00:13:51,370 Bạn thấy trang nhà của một số trang web. 245 00:13:51,370 --> 00:13:54,970 Tuy nhiên, một máy chủ, chính xác hơn, một phần của phần mềm. 246 00:13:54,970 --> 00:13:59,190 Nó không phải là trên một máy vật lý, nó chỉ có thể là một phần của phần mềm chạy. 247 00:13:59,190 --> 00:14:01,980 Vì vậy, các thiết bị CS50, tất nhiên, là một phần của phần mềm 248 00:14:01,980 --> 00:14:04,270 mặc dù nó giả vờ là một máy tính. 249 00:14:04,270 --> 00:14:06,960 Nó giả vờ là một bên trong máy tính của một máy tính, 250 00:14:06,960 --> 00:14:11,140 nhưng điều đó chỉ có nghĩa là thiết bị chắc chắn có thể chạy những thứ như máy chủ web. 251 00:14:11,140 --> 00:14:13,260 Nó thực sự có thể chạy các máy chủ email. 252 00:14:13,260 --> 00:14:16,440 Chúng ta có thể chạy một máy chủ tin nhắn tức thời trong thiết bị nếu chúng ta muốn, 253 00:14:16,440 --> 00:14:20,780 và quả thật, chúng tôi chạy một loại khác của máy chủ, được biết đến như một máy chủ cơ sở dữ liệu, mySQL. 254 00:14:20,780 --> 00:14:22,620 Nhưng nhiều hơn về tuần sau đó. 255 00:14:22,620 --> 00:14:26,400 Điều này có nghĩa là tôi thực sự có thể truy cập vào các trang web 256 00:14:26,400 --> 00:14:30,480 bên trong của thiết bị của tôi bằng cách sử dụng một trình duyệt bên trong thiết bị 257 00:14:30,480 --> 00:14:33,600 hoặc thậm chí trên máy tính xách tay của riêng tôi, Mac hoặc máy tính của tôi. 258 00:14:33,600 --> 00:14:37,780 Vì vậy, điều này có nghĩa gì? Nó chỉ ra rằng bất cứ lúc nào bạn đang chạy một máy tính Linux, 259 00:14:37,780 --> 00:14:40,910 biệt danh của nó là "nước chủ nhà." 260 00:14:40,910 --> 00:14:43,370 Nó không có một tên miền vì chúng ta đã không mua một tên miền 261 00:14:43,370 --> 00:14:46,590 cho một cái gì đó giống như thiết bị, do đó, tên mặc định của nó là nước chủ nhà. 262 00:14:46,590 --> 00:14:50,470 >> Nhưng để có được những thiết bị để bắt đầu phục vụ các trang web, 263 00:14:50,470 --> 00:14:52,270 chúng ta phải tạo cho họ đầu tiên. 264 00:14:52,270 --> 00:14:55,200 Vì vậy, chúng ta hãy làm điều đó. Hãy để tôi đi vào một cửa sổ thiết bị đầu cuối ở đây 265 00:14:55,200 --> 00:14:58,190 và nhận thấy rằng tôi đang ở Harvard John điển hình dấu nhắc của tôi. 266 00:14:58,190 --> 00:15:01,670 Hãy để tôi đi trước và gõ ls, và chúng ta sẽ thấy một số điều quen thuộc từ học kỳ này, 267 00:15:01,670 --> 00:15:04,580 máy tính để bàn, tải, Dropbox và vân vân, 268 00:15:04,580 --> 00:15:07,540 nhưng bây giờ chúng ta bắt đầu chuyển sự chú ý của chúng tôi để một cặp vợ chồng. 269 00:15:07,540 --> 00:15:11,530 Trên các máy chủ web nhiều Linux có thư mục này được gọi là public html, 270 00:15:11,530 --> 00:15:15,630 nhưng chúng ta sẽ bỏ qua cho bây giờ và tập trung này vhosts,. 271 00:15:15,630 --> 00:15:18,850 Bất cứ ai biết vhost là gì? 272 00:15:18,850 --> 00:15:21,110 Chỉ là ngu ngốc biệt ngữ cho máy chủ ảo, 273 00:15:21,110 --> 00:15:23,850 và điều này có nghĩa là trên một máy chủ điển hình 274 00:15:23,850 --> 00:15:26,810 bạn thực sự có thể lưu trữ nhiều trang web. 275 00:15:26,810 --> 00:15:31,500 Bạn có thể mua một tên miền như foo.com, và bạn có thể lưu trữ nó trên máy chủ. 276 00:15:31,500 --> 00:15:36,100 Nhưng bạn cũng có thể mua bar.com và lưu trữ nó trên cùng một máy chủ. 277 00:15:36,100 --> 00:15:40,250 Lý do là, các trình duyệt là đủ thông minh để thông báo cho máy chủ 278 00:15:40,250 --> 00:15:45,880 khi một người dùng đang yêu cầu một số trang web, những gì tên miền người dùng muốn trang chủ cho. 279 00:15:45,880 --> 00:15:48,760 Vì vậy, những gì đẹp về việc này là bạn không cần một máy chủ vật lý 280 00:15:48,760 --> 00:15:52,040 hoặc một CS50 thiết bị cho mỗi trang web, bạn có thể muốn tạo. 281 00:15:52,040 --> 00:15:55,520 Bạn có thể sử dụng cùng một máy chủ và phát triển hàng trăm trang web khác nhau. 282 00:15:55,520 --> 00:15:58,770 Và quả thực, nếu bạn là một người đang cố gắng để bắt đầu một trang web, 283 00:15:58,770 --> 00:16:02,100 dù cho vui hoặc cho doanh nghiệp, thông thường bạn sẽ đi trên Internet, 284 00:16:02,100 --> 00:16:04,650 và bạn sẽ trả một ai đó Bucks mười một tháng, một trăm đô la một tháng 285 00:16:04,650 --> 00:16:06,670 để lưu trữ trang web của bạn cho bạn. 286 00:16:06,670 --> 00:16:11,060 Và cách mà các công trình là họ đang tính phí những người khác 287 00:16:11,060 --> 00:16:13,160 Bucks mười một tháng hay một trăm đô la một tháng 288 00:16:13,160 --> 00:16:17,200 để lưu trữ các trang web của người khác trên cùng một máy chủ của họ. 289 00:16:17,200 --> 00:16:20,740 Lý do họ có thể làm điều đó là vì tính năng này được gọi là bhosts, 290 00:16:20,740 --> 00:16:23,790 nhưng thêm vào đó khi nói đến thời gian cho các dự án cuối cùng. 291 00:16:23,790 --> 00:16:28,360 >> Để bây giờ, chúng ta hãy chỉ lặn trong đó. Vì vậy, vhosts cd, và nếu tôi gõ ls bây giờ, 292 00:16:28,360 --> 00:16:31,370 nhận thấy rằng có một thư mục trong đó được gọi là nước chủ nhà. 293 00:16:31,370 --> 00:16:33,440 Đó là bởi vì, theo mặc định, các con số thiết bị 294 00:16:33,440 --> 00:16:36,160 bạn đã bao giờ để chạy một trang web trên một thiết bị. 295 00:16:36,160 --> 00:16:38,970 Điều này là không thực sự thế giới thực, nó không phải là một máy chủ web trong thế giới thực. 296 00:16:38,970 --> 00:16:41,690 Vì vậy, hãy để tôi đi vào máy chủ của địa phương, và bây giờ chúng ta sẽ thấy trong đó 297 00:16:41,690 --> 00:16:44,290 một thư mục gọi là HTML. 298 00:16:44,290 --> 00:16:47,080 Vì vậy, nó là một chút sâu, hệ thống phân cấp, nhưng nếu và khi 299 00:16:47,080 --> 00:16:51,230 bạn quyết định bắt đầu phát triển nhiều trang web trong những tháng n năm tiếp theo hoặc, 300 00:16:51,230 --> 00:16:54,370 loại cấu trúc thư mục có xu hướng trở nên có ích. 301 00:16:54,370 --> 00:16:56,560 Bây giờ chúng ta hãy đi vào HTML như tôi chỉ cần làm, 302 00:16:56,560 --> 00:16:59,010 loại ls, và không có gì là có. 303 00:16:59,010 --> 00:17:01,390 Vì vậy, bây giờ chúng ta hãy đi trước và làm điều này. Hãy để tôi mở Chrome 304 00:17:01,390 --> 00:17:07,300 bên trong của thiết bị, và để cho tôi đi để http://localhost. 305 00:17:07,300 --> 00:17:14,440 Vì vậy, theo nghĩa đen là tên cho các thiết bị của tôi, nhập vào, và tôi nhận được index of /. 306 00:17:14,440 --> 00:17:18,290 Điều này là không thực sự hiển thị cho tôi bất cứ điều gì quan tâm, 307 00:17:18,290 --> 00:17:23,400 nhưng nó quay ra rằng những gì chúng ta đang thấy là thư mục đó, HTML. 308 00:17:23,400 --> 00:17:25,770 Không có gì bên trong thư mục đó ngay bây giờ, 309 00:17:25,770 --> 00:17:28,750 thay vào đó, những gì tôi sẽ phải làm là lần đầu tiên tạo ra một tập tin. 310 00:17:28,750 --> 00:17:33,530 Tạo một file HTML như chúng tôi đã làm vào thứ hai, nhưng lần này đặt nó bên trong của thiết bị. 311 00:17:33,530 --> 00:17:36,830 Đối với những người bạn của những người đang cố gắng để làm theo cùng với máy tính xách tay, 312 00:17:36,830 --> 00:17:42,040 hãy để tôi làm một bên đó sẽ được bao phủ trong pset dựa trên web, 313 00:17:42,040 --> 00:17:44,280 nhưng để có được điều này để làm việc lần đầu tiên, 314 00:17:44,280 --> 00:17:49,830 bạn sẽ phải để chạy lệnh này: sudo dịch vụ httpd bắt đầu. 315 00:17:49,830 --> 00:17:52,670 Và điều này, một lần nữa, sẽ được lặp đi lặp lại trong pset cuối cùng, 316 00:17:52,670 --> 00:17:55,460 nhưng nếu bạn đang chơi cùng ở nhà bây giờ, máy chủ web 317 00:17:55,460 --> 00:17:58,660 được tắt trong thiết bị, và đó là để nó không sap lên RAM 318 00:17:58,660 --> 00:18:01,960 và bộ nhớ trong 7 tuần trong học kỳ khi chúng ta không cần nó. 319 00:18:01,960 --> 00:18:05,190 Vì vậy, bạn cần phải chạy lệnh này một lần, và bạn sẽ nhận được một đầu ra như thế. 320 00:18:05,190 --> 00:18:07,920 Sau đó, bạn sẽ có thể chơi cùng ở đây. 321 00:18:07,920 --> 00:18:10,330 Bây giờ chúng ta hãy quay trở lại vào thư mục này. 322 00:18:10,330 --> 00:18:12,770 Thư mục này là trống rỗng, vì vậy hãy để tôi bắt đầu tạo ra một tập tin, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Được rồi. Gedit mở cửa, như thường lệ. Hãy để tôi làm DOCTYPE, html, 325 00:18:20,930 --> 00:18:25,270 html, cho tôi có được trước bản thân mình và bắt đầu đóng thẻ của tôi trước. 326 00:18:25,270 --> 00:18:28,380 Bây giờ tôi có người đứng đầu. Hãy để tôi đi trước và đóng đầu, 327 00:18:28,380 --> 00:18:32,450 cho tôi bây giờ làm tiêu đề của trang, hello thế giới như thời gian qua, 328 00:18:32,450 --> 00:18:34,790 gần tiêu đề, bây giờ hãy để tôi làm một cơ thể. 329 00:18:34,790 --> 00:18:38,130 Ở đây tôi sẽ nói hello, thế giới với một số exclams 330 00:18:38,130 --> 00:18:40,550 để làm cho rõ ràng rằng đó là một chuỗi khác nhau. 331 00:18:40,550 --> 00:18:45,800 Đóng cơ thể, và bây giờ để tôi đi trước và nộp lưu. 332 00:18:45,800 --> 00:18:48,470 Hãy để tôi quay trở lại cửa sổ thiết bị đầu cuối của tôi, và nếu tôi gõ ls, 333 00:18:48,470 --> 00:18:51,830 Có lẽ, tôi nên xem hello.html. Và tôi làm. 334 00:18:51,830 --> 00:18:55,070 Vì vậy, bây giờ chúng ta hãy quay trở lại trình duyệt của tôi, bấm tải lại, 335 00:18:55,070 --> 00:18:58,930 và bạn có thể thấy chúng tôi thực sự bên trong thư mục này HTML. 336 00:18:58,930 --> 00:19:02,310 Tôi không nhìn thấy một trang web, điều này là Apache, máy chủ web, 337 00:19:02,310 --> 00:19:04,670 chỉ hiển thị danh sách các nội dung của thư mục này. 338 00:19:04,670 --> 00:19:08,260 Cũng giống như hệ điều hành Mac OS hoặc Windows thường sẽ làm gì trên ổ cứng của bạn địa phương. 339 00:19:08,260 --> 00:19:12,730 Vì vậy, nếu tôi muốn xem trang web này, tôi có thể nhấp vào liên kết nhỏ ở đây, hello.html, 340 00:19:12,730 --> 00:19:15,160 và quả thật, đó là những gì tôi đã mong đợi để xem. 341 00:19:15,160 --> 00:19:18,080 Bây giờ, một lần nữa, điều này không phải là một URL mà bất kỳ của bạn có thể truy cập ngay bây giờ, 342 00:19:18,080 --> 00:19:20,760 bởi vì cho bạn, tại nước chủ nhà, nếu bạn có một máy tính xách tay ở đây, 343 00:19:20,760 --> 00:19:23,050 nó là đề cập đến ví dụ của riêng thiết bị. 344 00:19:23,050 --> 00:19:25,900 Đây là thiết bị cá nhân của riêng tôi, 345 00:19:25,900 --> 00:19:29,080 nhưng đây là loại câm cho tôi để có, để có 346 00:19:29,080 --> 00:19:34,480 một người sử dụng như bản thân mình trên hello.html để thực sự thấy nội dung của trang này. 347 00:19:34,480 --> 00:19:42,590 Nó chỉ ra rằng máy chủ web như Apache cho phép bạn có một tập tin mặc định cho bất kỳ máy chủ web. 348 00:19:42,590 --> 00:19:44,640 Ý ở đây chúng tôi có hello.html. 349 00:19:44,640 --> 00:19:48,410 Các lệnh trong Linux để đổi tên một tập tin là gì? 350 00:19:48,410 --> 00:19:50,870 >> MV, để di chuyển. Vì vậy, hãy để tôi làm điều đó, 351 00:19:50,870 --> 00:19:55,870 và để cho tôi đổi tên hello.html để index.html. 352 00:19:55,870 --> 00:19:58,610 Hãy để tôi gõ ls để xác nhận nó bây giờ được đổi tên thành. 353 00:19:58,610 --> 00:20:03,250 Bây giờ điều này là có - nếu tôi đi đến máy chủ của địa phương, 354 00:20:03,250 --> 00:20:06,710 nhận thấy bây giờ mà tôi đang tự động nhìn thấy trang web đó. 355 00:20:06,710 --> 00:20:11,740 Này giống hệt / index.html của tôi thực sự làm, 356 00:20:11,740 --> 00:20:14,740 nhưng điều tốt đẹp hiện nay là máy chủ web của tìm, 357 00:20:14,740 --> 00:20:18,830 oh, nếu bạn có một tập tin, điều ước của con người, được gọi là index.html, 358 00:20:18,830 --> 00:20:21,200 hãy để tôi chỉ cho người sử dụng tập tin theo mặc định 359 00:20:21,200 --> 00:20:25,290 hơn là một số danh sách thư mục ngu ngốc mà không phải là ở tất cả các thân thiện với người sử dụng. 360 00:20:25,290 --> 00:20:28,900 Thật vậy, hầu hết các trang web mà bạn truy cập trên Internet không có một danh sách các tập tin cần nhấp chuột vào nút, 361 00:20:28,900 --> 00:20:34,040 họ chỉ cho bạn thấy nội dung. Vì vậy, đó là làm thế nào chúng ta có thể làm điều đó, index.html. 362 00:20:34,040 --> 00:20:37,000 Vì vậy, đây là tất cả niềm vui và tốt, nhưng đây là một trang web khá đơn giản. 363 00:20:37,000 --> 00:20:41,640 Hãy để tôi đi trước và mở index.htm trong vhosts của tôi, 364 00:20:41,640 --> 00:20:47,620 máy chủ địa phương, thư mục html, và chúng ta hãy thêm một cái gì đó quan tâm hơn. 365 00:20:47,620 --> 00:20:56,120 Vì vậy, có hello thế giới, thay vì nói "Đây là CS50, Harvard College. . ". 366 00:20:56,120 --> 00:21:00,000 Vì vậy, đầu của mô tả danh mục khóa học của một số loại có. 367 00:21:00,000 --> 00:21:03,780 Bây giờ nếu tôi lại, tôi sẽ thấy điều này trong trang chủ của tôi. 368 00:21:03,780 --> 00:21:09,560 Được rồi, và tôi thấy rằng, nhưng giả sử rằng tôi muốn liệt kê nội dung một số chi tiết trong tập tin này. 369 00:21:09,560 --> 00:21:15,160 Tôi có thể đi xuống đây và nói, không có điều kiện tiên quyết, 370 00:21:15,160 --> 00:21:18,740 mặc dù một số bạn có thể thích, "Ha ha ha, không có điều kiện tiên quyết. 371 00:21:18,740 --> 00:21:24,320 Nhưng chính thức. Vì vậy, tải lại, và bây giờ chúng tôi có những đứa mà chúng ta thấy thời gian qua. 372 00:21:24,320 --> 00:21:26,240 Nhưng tại sao vậy? Đó là một sửa chữa đơn giản. 373 00:21:26,240 --> 00:21:31,440 Tại sao trang này bị phá vỡ? 374 00:21:31,440 --> 00:21:34,170 [Sinh viên, không thể hiểu] >> Yeah, chúng tôi đã giải quyết được điều này trước khi 375 00:21:34,170 --> 00:21:37,440 bằng cách rõ ràng nói với trình duyệt đặt một ngắt dòng ở đây. ' 376 00:21:37,440 --> 00:21:39,440 Và đó là bởi vì, một lần nữa, một trình duyệt chỉ sẽ làm 377 00:21:39,440 --> 00:21:42,610 dứt khoát những gì ngôn ngữ đánh dấu cho nó để làm, 378 00:21:42,610 --> 00:21:45,730 do đó, ngay cả khi bạn có thể nhấn Enter một lần hoặc hai lần, thậm chí mười lần, 379 00:21:45,730 --> 00:21:49,870 nó sẽ kết hợp tất cả vào một không gian duy nhất, chỉ cần theo quy ước. 380 00:21:49,870 --> 00:21:52,770 Vì vậy, nếu bạn thực sự muốn một ngắt dòng, bạn phải sử dụng thẻ br, 381 00:21:52,770 --> 00:21:56,840 và bây giờ thông báo, như thứ hai, tôi đặt bên trong / thẻ này, 382 00:21:56,840 --> 00:22:00,090 chỉ vì điều này chỉ không cảm thấy phải 383 00:22:00,090 --> 00:22:02,990 để bắt đầu một ngắt dòng sau đó dừng lại với không có gì ở giữa. 384 00:22:02,990 --> 00:22:07,740 >> Vì vậy, các quy ước trong HTML để mở và đóng một thẻ cùng một lúc. 385 00:22:07,740 --> 00:22:11,050 Một sang một bên, bạn sẽ thấy rất nhiều trang web trong cuốn sách không làm điều đó. 386 00:22:11,050 --> 00:22:14,240 Nó là chính xác để làm hoặc không làm điều đó, nhưng chúng tôi sẽ tranh luận 387 00:22:14,240 --> 00:22:17,430 rằng thiết kế khôn ngoan và phong cách, điều này chỉ tốt hơn 388 00:22:17,430 --> 00:22:20,540 bởi vì sau đó mỗi thẻ là cả hai mở và đóng cửa bằng cách nào đó. 389 00:22:20,540 --> 00:22:23,370 Vì vậy, bây giờ chúng ta hãy lưu và tải lại. Quay trở lại trình duyệt, okay. 390 00:22:23,370 --> 00:22:26,680 Bây giờ chúng tôi đang làm cho một số tiến bộ, nhưng nó không phải là khá đủ. 391 00:22:26,680 --> 00:22:33,210 Hãy cho đi trước và bắt đầu gõ vào một số cơ thể của văn bản. 392 00:22:33,210 --> 00:22:40,610 Vì vậy, chúng ta hãy nói, 'Một con cáo nâu nhanh chóng nhảy qua một con chó lười biếng ". 393 00:22:40,610 --> 00:22:42,700 Và bây giờ tôi chỉ cần sao chép và dán này một vài lần 394 00:22:42,700 --> 00:22:45,040 để chúng tôi có một đoạn văn bản. 395 00:22:45,040 --> 00:22:47,780 Hãy để tôi quay trở lại ở đây. Vì vậy, nó không phải tìm kiếm rất tốt. 396 00:22:47,780 --> 00:22:50,000 Tôi có một ngắt dòng, do đó, nó không sao, 397 00:22:50,000 --> 00:22:52,140 nhưng bây giờ, khi chúng tôi đang nhận được điểm của việc có một trang web 398 00:22:52,140 --> 00:22:55,640 có rất nhiều nội dung và đường dây không chỉ duy nhất để chứng minh HTML, 399 00:22:55,640 --> 00:22:58,570 chúng ta có thể bắt đầu nghĩ về những điều như đoạn thực tế. 400 00:22:58,570 --> 00:23:01,590 Và chúng ta có thể bắt đầu để cấu trúc trang web của chúng tôi nhiều hơn một chút sạch. 401 00:23:01,590 --> 00:23:05,120 Và quả thực, những gì tôi có thể làm là đi lên ở đây, trong thẻ cơ thể của tôi, 402 00:23:05,120 --> 00:23:09,400 và bạn biết những gì, nếu "Đây là CS50. . ". thực sự demarks sự khởi đầu của một đoạn, 403 00:23:09,400 --> 00:23:11,310 tốt, cho thẻ nó như vậy. 404 00:23:11,310 --> 00:23:13,570 Hãy để tôi thụt lề văn bản, chỉ cần theo quy ước, hãy để tôi nói 405 00:23:13,570 --> 00:23:15,710 đoạn này kết thúc ở đây, 406 00:23:15,710 --> 00:23:18,320 và sau đó thay vì làm điều này ngắt dòng, hãy để tôi chỉ cần nói 407 00:23:18,320 --> 00:23:23,300 này thuộc đó, và như là một đoạn mới, 408 00:23:23,300 --> 00:23:27,610 và tôi sẽ chỉ nhanh chóng thụt lề bằng cách chỉ clobbering tất cả các công cụ này. 409 00:23:27,610 --> 00:23:30,660 >> Vì vậy, bây giờ chúng tôi có một đoạn thụt vào đó, 410 00:23:30,660 --> 00:23:33,510 và bây giờ đánh dấu của chúng tôi bắt đầu để có được một ít hơn 411 00:23:33,510 --> 00:23:37,070 ngữ nghĩa phù hợp với những gì chúng tôi đang cố gắng làm. 412 00:23:37,070 --> 00:23:40,130 Chúng tôi có một đoạn văn, vì vậy chúng ta hãy gọi nó một đoạn văn với thẻ p. 413 00:23:40,130 --> 00:23:43,370 Chúng tôi có một đoạn thứ hai, do đó, chúng ta hãy gọi nó một đoạn văn với thẻ p. 414 00:23:43,370 --> 00:23:45,850 Và bây giờ, những gì trình duyệt thông thường sẽ làm 415 00:23:45,850 --> 00:23:48,490 giống như trong một cuốn sách tiếng Anh hoặc bài luận, 416 00:23:48,490 --> 00:23:51,280 nơi mà bạn thường thấy một số ngắt dòng giữa các đoạn. 417 00:23:51,280 --> 00:23:53,720 Trình duyệt sẽ làm điều đó cho bạn tự động. 418 00:23:53,720 --> 00:23:56,680 Vì vậy, bây giờ chúng tôi có hai đoạn văn và chúng ta có thể tiếp tục điều này. 419 00:23:56,680 --> 00:23:58,770 Nhưng, tất nhiên, trên trang web, khi bạn có cơ thể của văn bản 420 00:23:58,770 --> 00:24:01,370 nó không phải là thường chỉ các đốm màu lớn của văn bản. 421 00:24:01,370 --> 00:24:04,040 Thường có những siêu liên kết trong đó. 422 00:24:04,040 --> 00:24:07,250 Vì vậy, nếu chúng ta muốn, ví dụ, bao gồm một số liên kết có, 423 00:24:07,250 --> 00:24:10,760 giả sử những gì có thể quan tâm đến bất cứ điều gì trang web tôi là tạo ra ở đây là - 424 00:24:10,760 --> 00:24:12,780 hãy để tôi đi đến Google.com, 425 00:24:12,780 --> 00:24:16,540 và cho tôi tìm kiếm cho một con cáo nâu nhanh chóng. 426 00:24:16,540 --> 00:24:22,150 Google, hình ảnh, và làm thế nào về điều này là dễ thương. 427 00:24:22,150 --> 00:24:27,420 Chúng tôi sẽ đi với điều này. Vì vậy, ở đây chúng tôi có một màu nâu lanh lẹ nhảy qua một con chó lười biếng. 428 00:24:27,420 --> 00:24:30,560 Vì vậy, những gì tôi đang làm ở đây, chỉ vì lợi ích của cuộc biểu tình, 429 00:24:30,560 --> 00:24:32,950 là giả sử rằng hình ảnh này trên máy chủ của tôi, 430 00:24:32,950 --> 00:24:35,240 và tôi đã tạo ra những hình ảnh này. 431 00:24:35,240 --> 00:24:38,720 Những gì tôi đã làm là click chuột phải hoặc kiểm soát nhấp chuột vào hình ảnh, 432 00:24:38,720 --> 00:24:42,370 và những gì bạn sẽ thấy trong hầu hết các trình duyệt là một menu nhỏ - 433 00:24:42,370 --> 00:24:48,800 ngừng làm điều đó một menu nhỏ mà cho phép bạn chọn vị trí liên kết bản sao hoặc bản sao URL. 434 00:24:48,800 --> 00:24:52,750 Vì vậy, hãy để tôi quay lại ngay bây giờ để HTML của tôi, và giả sử rằng tôi muốn 435 00:24:52,750 --> 00:24:56,420 siêu liên kết đến một trang web khác. 436 00:24:56,420 --> 00:24:58,640 >> Thẻ gọi cho điều đó là gì? 437 00:24:58,640 --> 00:25:01,650 [Sinh viên, không thể hiểu] >> Vâng. Vì vậy, a href để tham khảo siêu. 438 00:25:01,650 --> 00:25:04,660 Hãy để tôi đi trước và dán. 439 00:25:04,660 --> 00:25:07,290 Đó là một URL khá dài, vì vậy hãy để tôi thu nhỏ trở lại. 440 00:25:07,290 --> 00:25:09,950 Dấu ngoặc Close, vì vậy bây giờ nhận thấy tôi ở đây 441 00:25:09,950 --> 00:25:11,960 bởi vì URL đó xảy ra được khá lâu. 442 00:25:11,960 --> 00:25:15,180 Hãy để tôi di chuyển trên đây để kết thúc của con cáo nâu nhanh chóng, 443 00:25:15,180 --> 00:25:18,830 và sau đó cho phép tôi đóng thẻ này 00:25:21,280 nơi mà tôi chỉ đóng tên của thẻ. 445 00:25:21,280 --> 00:25:24,470 Bây giờ để tôi đi trước và lưu tập tin đó, tải lại trang web, 446 00:25:24,470 --> 00:25:27,880 và bây giờ, theo mặc định, đó là sẽ được gạch chân màu xanh lam cho tôi, 447 00:25:27,880 --> 00:25:31,980 nhưng thực sự, tôi bây giờ có thể click vào và thì đấy. Có hình ảnh đó. 448 00:25:31,980 --> 00:25:33,990 Và nó không phải là một hình ảnh, nó có thể liên kết 449 00:25:33,990 --> 00:25:36,270 ngẫu nhiên một số trang web khác trên Internet. 450 00:25:36,270 --> 00:25:39,610 Tôi có thể làm điều này, ví dụ, với CS50, do đó, cuối cùng ví dụ ở đây. 451 00:25:39,610 --> 00:25:42,730 'Đây là CS50 có thể làm cho tinh thần để đi một href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, quote gần, gần neo. 453 00:25:50,340 --> 00:25:53,990 Vì vậy, bây giờ đó là một URL ngắn hơn nữa, và lần này chúng tôi sẽ không liên kết đến một hình ảnh. 454 00:25:53,990 --> 00:25:57,880 Thay vào đó, chúng tôi đang liên kết đến một trang khác. 455 00:25:57,880 --> 00:25:59,840 Bây giờ, chúng tôi có một hình ảnh ở đây. 456 00:25:59,840 --> 00:26:02,970 Tôi cảm thấy như chúng tôi có thể làm tốt hơn một chút hơn là chỉ liên kết đến một hình ảnh. 457 00:26:02,970 --> 00:26:05,760 Điều gì sẽ xảy ra nếu chúng ta muốn thực sự thể hiện nó trong trang web của chúng tôi? 458 00:26:05,760 --> 00:26:09,290 >> Vâng, những gì tôi có thể làm ở đây là, hơn là liên kết đến đồ họa này, 459 00:26:09,290 --> 00:26:14,690 hãy để tôi thay vì cắt giảm các URL, và chúng tôi sẽ loại bỏ các siêu liên kết và làm sạch này lên. 460 00:26:14,690 --> 00:26:17,190 Và chúng tôi sẽ đi xuống ở đây và thoát khỏi điều này. 461 00:26:17,190 --> 00:26:20,910 Chúng tôi không thực sự cần tất cả những câu này, vì vậy hãy để tôi rút ngắn thời trang một chút. 462 00:26:20,910 --> 00:26:24,530 Và sau đó xuống đây cho tôi đi trước trong một đoạn mới, 463 00:26:24,530 --> 00:26:30,100 nói rằng tôi không muốn văn bản bây giờ, tôi muốn có một hình ảnh có nguồn là có được URL đó. 464 00:26:30,100 --> 00:26:33,100 Một hình ảnh, giống như một ngắt dòng, hoặc là có hoặc nó không phải. 465 00:26:33,100 --> 00:26:35,900 Vì vậy, cho tôi ngay lập tức đóng tag. 466 00:26:35,900 --> 00:26:39,440 Hãy để tôi đi trước và đóng những đoạn mà tôi là bên trong, 467 00:26:39,440 --> 00:26:43,010 và nếu mọi việc suôn sẻ với hello, thế giới, nếu tôi tải lại bây giờ, 468 00:26:43,010 --> 00:26:45,520 , Quả thật vậy, tôi nhìn thấy ngay bên trong trang web của riêng tôi một hình ảnh. 469 00:26:45,520 --> 00:26:48,570 Vì vậy, bây giờ chúng tôi có một thẻ hình ảnh, một thẻ neo và như thế, 470 00:26:48,570 --> 00:26:51,320 và biện pháp tốt, hãy để tôi làm một điều khác thường bị bỏ quên 471 00:26:51,320 --> 00:26:55,900 trên các trang web những ngày này: Hãy cung cấp một số văn bản mô tả cho hình ảnh này 472 00:26:55,900 --> 00:26:58,090 cho những người trên một thiết bị di động 473 00:26:58,090 --> 00:27:00,640 và do đó có thể không được có thể tải về hình ảnh này rất nhanh chóng, 474 00:27:00,640 --> 00:27:03,310 cho người mù và có thể không được có thể xem các hình ảnh 475 00:27:03,310 --> 00:27:06,480 nhưng họ có thể có một trình đọc màn hình có thể nói cho họ biết những gì hình ảnh này là. 476 00:27:06,480 --> 00:27:09,100 Và để làm điều đó, còn có một thuộc tính cho các thẻ hình ảnh 477 00:27:09,100 --> 00:27:11,290 gọi là alt, cho văn bản thay thế. 478 00:27:11,290 --> 00:27:14,650 Và những gì tôi có thể làm ở đây là nói, 'Đây là một con cáo nâu nhanh chóng. 479 00:27:14,650 --> 00:27:17,650 Vì vậy, ngay cả khi con người không thể nhìn thấy hình ảnh trên màn hình, 480 00:27:17,650 --> 00:27:20,560 người đó ít nhất có thể nghe thấy, như với một số phần của phần mềm, 481 00:27:20,560 --> 00:27:23,080 những gì thực sự là có trên màn hình. 482 00:27:23,080 --> 00:27:25,040 >> Điều đó sẽ không thay đổi tính thẩm mỹ của trang, 483 00:27:25,040 --> 00:27:27,640 nhưng nó chắc chắn là thực hành tốt cho người sử dụng. 484 00:27:27,640 --> 00:27:31,760 Được rồi, chúng ta hãy rời khỏi trang web này trong hình thức hiện tại của nó, 485 00:27:31,760 --> 00:27:33,890 nhưng chúng ta hãy xem nếu chúng ta có thể không phải bây giờ giới thiệu 486 00:27:33,890 --> 00:27:36,210 một số phương pháp tiếp cận tốt hơn để viết các trang web này, 487 00:27:36,210 --> 00:27:39,980 một số bài học được sẽ phục vụ chúng tôi cũng như các trang web của chúng tôi nhận được nhiều hơn và phức tạp hơn. 488 00:27:39,980 --> 00:27:42,220 Những gì chúng tôi sẽ làm trong vài tuần tới 489 00:27:42,220 --> 00:27:46,810 được hướng dẫn bạn thông qua tất cả các của hàng chục thẻ HTML có. 490 00:27:46,810 --> 00:27:49,800 Nhiều như trong đầu trở lại trong tuần 0, nó có thể sẽ không đủ 491 00:27:49,800 --> 00:27:52,120 để cung cấp cho một cái nhìn tổng quan cấp cao của một số khái niệm, 492 00:27:52,120 --> 00:27:54,530 một tour du lịch nhanh chóng của một số khối bạn có thể có thể, 493 00:27:54,530 --> 00:27:58,240 khá thoải mái, để điều hướng trên của riêng bạn, các mảnh ghép khác nhau. 494 00:27:58,240 --> 00:28:00,460 Và điều đó sẽ xảy ra một lần nữa trong HTML, rất có thể, 495 00:28:00,460 --> 00:28:04,320 theo đó có nguồn tài nguyên phong phú trên web mà chúng tôi sẽ chỉ cho bạn, 496 00:28:04,320 --> 00:28:06,920 sách giáo khoa khác nhau, nếu bạn thích để đọc một cuốn sách giáo khoa, 497 00:28:06,920 --> 00:28:10,560 mà sẽ hướng dẫn bạn thông qua tất cả những điều khác nhau mà bạn có thể làm với HTML, 498 00:28:10,560 --> 00:28:16,100 nhưng thực sự, chúng tôi đã nhìn thấy vậy, đến nay trong HTML hầu hết các khái niệm cơ bản. 499 00:28:16,100 --> 00:28:19,900 Chúng tôi có khái niệm về thẻ được mở ra, thẻ bị đóng cửa. 500 00:28:19,900 --> 00:28:22,100 Một số thẻ được mở và đóng cửa 501 00:28:22,100 --> 00:28:24,620 trong ý nghĩa rằng chúng trống rỗng, có nên không có gì bên trong của họ 502 00:28:24,620 --> 00:28:27,490 giống như một thẻ hình ảnh hoặc nghỉ ngơi một dòng, chỉ là có. 503 00:28:27,490 --> 00:28:32,330 Chúng tôi cũng đã có khái niệm về một thuộc tính, giống như alt hoặc nguồn. 504 00:28:32,330 --> 00:28:36,410 Chú ý rằng những từ này có xu hướng, theo quy ước, ngắn và gọn gàng. 505 00:28:36,410 --> 00:28:39,140 >> Chúng tôi không có quyền tự quyết hơn những gì những điều này được gọi là, 506 00:28:39,140 --> 00:28:42,060 người khác đã phát minh ra HTML đến với các tên này. 507 00:28:42,060 --> 00:28:44,710 Vì vậy, bạn chỉ cần có để bắt đầu biết hoặc nhìn lên, bất cứ lúc nào bạn cần đến chúng, 508 00:28:44,710 --> 00:28:47,160 những gì các tên cho các thẻ và các thuộc tính. 509 00:28:47,160 --> 00:28:49,510 Trong trường hợp của các thuộc tính, thuộc tính nói chung 510 00:28:49,510 --> 00:28:52,900 sửa đổi hành vi của một số tag. 511 00:28:52,900 --> 00:28:55,710 Trong trường hợp này, thuộc tính nguồn cho các thẻ hình ảnh 512 00:28:55,710 --> 00:28:57,940 những gì các nguồn của hình ảnh nên được. 513 00:28:57,940 --> 00:29:04,460 Thuộc tính href cho thẻ neo những gì nó thực sự cần phải được liên kết đến. 514 00:29:04,460 --> 00:29:06,800 Nhưng về cấu trúc của một trang web, mặc dù Facebook 515 00:29:06,800 --> 00:29:09,680 và Google và tìm như thế giống như một mớ hỗn độn đầy đủ 516 00:29:09,680 --> 00:29:12,560 bên dưới mui xe ở cái nhìn đầu tiên, nếu bạn bắt đầu đọc qua nó 517 00:29:12,560 --> 00:29:16,950 có phương pháp, tất cả họ đều theo cấu trúc này, cơ bản cơ bản. 518 00:29:16,950 --> 00:29:19,660 Nhưng chúng ta có thể cải thiện cách điệu của những việc này. 519 00:29:19,660 --> 00:29:24,180 Vì vậy, hãy để tôi đi đến một số ví dụ mà tôi đã chuẩn bị trước. 520 00:29:24,180 --> 00:29:27,280 Hãy để tôi đi trước và sao chép chúng từ một thư mục khác ở đây 521 00:29:27,280 --> 00:29:29,380 và đặt chúng vào thư mục này. 522 00:29:29,380 --> 00:29:32,210 Trước, những gì tôi đã làm là chuẩn bị một vài tập tin: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2, và search3 và 4. 524 00:29:35,670 --> 00:29:38,740 Hãy để tôi đi trước và mở đầu tiên của các tập tin, 525 00:29:38,740 --> 00:29:42,570 và chúng ta hãy xem nếu chúng ta không có thể bắt đầu tạo ra công cụ tìm kiếm của riêng của chúng tôi. 526 00:29:42,570 --> 00:29:46,530 Ở phía trên cùng của tập tin này, như thường là trường hợp trong lớp học, chỉ là một loạt các ý kiến. 527 00:29:46,530 --> 00:29:49,760 Trong HTML, tuy nhiên, những phương tiện mà bạn bắt đầu một lời nhận xét 528 00:29:49,760 --> 00:29:55,640 <- và sau đó bạn đang ở trong bình luận, bình luận nhiều đường. 529 00:29:55,640 --> 00:29:59,800 Khi bạn đã sẵn sàng để ngăn chặn mà, bạn có thể làm ->. 530 00:29:59,800 --> 00:30:02,380 Vì vậy, tất cả mọi thứ ở phía trên màu xanh lam chỉ là một lời nhận xét. 531 00:30:02,380 --> 00:30:04,620 >> Đây là khai báo DOCTYPE của tôi, mà một lần nữa, 532 00:30:04,620 --> 00:30:07,080 bạn chỉ có thể sao chép và dán trên đức tin, cho bây giờ. 533 00:30:07,080 --> 00:30:10,410 Điều này chỉ cho các trình duyệt, "Ở đây có một số HTML 5. 534 00:30:10,410 --> 00:30:13,600 Dưới mức đó, trên dòng 14 là lần đầu tiên các thẻ thực tế của tôi, 535 00:30:13,600 --> 00:30:16,900 và điều này chỉ nói, như trước, ở đây có một số HTML, 536 00:30:16,900 --> 00:30:19,460 ở đây có người đứng đầu của trang của tôi, ở đây có tiêu đề, 537 00:30:19,460 --> 00:30:23,900 và sau đó, ngược lại, đó là nó cho tiêu đề, đó là nó cho người đứng đầu. 538 00:30:23,900 --> 00:30:26,460 Ở đây bây giờ đến cơ thể của trang của tôi. 539 00:30:26,460 --> 00:30:31,040 Vì vậy, một vài thẻ mới bây giờ là: h1 là viết tắt của tiêu đề 1. 540 00:30:31,040 --> 00:30:33,850 Có một truyền thống trong HTML trong nhiều năm trở lại 541 00:30:33,850 --> 00:30:37,990 có kích cỡ khác nhau của văn bản. 542 00:30:37,990 --> 00:30:41,980 Và trở lại trong ngày, mỗi một người có nghĩa là, nói chung, chỉ cần lớn và đậm. 543 00:30:41,980 --> 00:30:45,860 Nhưng cũng có h2, đó là lớn, nhưng không phải là khá lớn và đậm. 544 00:30:45,860 --> 00:30:49,320 Có h3, đó là loại lớn, nhưng gần như không lớn và đậm, 545 00:30:49,320 --> 00:30:52,380 và vv, tất cả các con đường xuống h6. 546 00:30:52,380 --> 00:30:55,550 Những ngày này, mặc dù, h1, h2 và h3 thực sự có nghĩa là 547 00:30:55,550 --> 00:30:57,980 có ý nghĩa nhiều ngữ nghĩa cho họ, 548 00:30:57,980 --> 00:31:01,100 theo đó h1 thực sự là một nhóm: tiêu đề của một trang web, 549 00:31:01,100 --> 00:31:04,210 tiêu đề của một cột hoặc một cái gì đó tương tự như văn bản. 550 00:31:04,210 --> 00:31:09,030 Vì vậy, tôi đã cố tình nói h1 CS50 tìm kiếm> h1 551 00:31:09,030 --> 00:31:12,640 specifiy rằng đây thực sự là tiêu đề, tiêu đề của trang của tôi. 552 00:31:12,640 --> 00:31:14,850 Không danh hiệu trong ý nghĩa thanh tiêu đề, 553 00:31:14,850 --> 00:31:18,960 nhưng tiêu đề mà bạn thực sự nhìn thấy trong trang web riêng của mình, trong cơ thể. 554 00:31:18,960 --> 00:31:20,990 Bây giờ điều này, bạn có thể đoán nó là gì, 555 00:31:20,990 --> 00:31:23,110 mặc dù chúng ta có một vài phần mới của cú pháp. 556 00:31:23,110 --> 00:31:25,930 Đây là một hình thức. Vì vậy, các trang web thực sự được thú vị 557 00:31:25,930 --> 00:31:28,770 khi các trang web có đầu vào từ người dùng. 558 00:31:28,770 --> 00:31:31,700 Trong lớp học này, các vấn đề về lập trình web, 559 00:31:31,700 --> 00:31:33,880 chúng tôi sẽ không để làm cho một trang web, cho mỗi gia nhập, 560 00:31:33,880 --> 00:31:37,570 với nội dung tĩnh cho thấy các bức ảnh mà bạn đã thực hiện, 561 00:31:37,570 --> 00:31:40,010 hoặc đây là hồ sơ của tôi, và những thứ về tôi, 562 00:31:40,010 --> 00:31:42,450 bởi vì những điều này là tương đối dễ dàng để đặt lại với nhau. 563 00:31:42,450 --> 00:31:44,400 Thật khó để làm những điều đẹp trên Web, 564 00:31:44,400 --> 00:31:46,390 nhưng ít nhất việc xây dựng nội dung là khá nhỏ. 565 00:31:46,390 --> 00:31:49,380 Nhưng nhận được những điều thực sự thú vị khi một ai đó có thể truy cập vào trang web của bạn 566 00:31:49,380 --> 00:31:52,260 và cung cấp đầu vào và có thể điền vào các mẫu đơn, 567 00:31:52,260 --> 00:31:55,800 có thể kiểm tra hộp kiểm tra và có thể tương tác với trang web của bạn. 568 00:31:55,800 --> 00:31:57,780 Và thực tế, có thể là mỗi trang web bạn quan tâm 569 00:31:57,780 --> 00:32:00,710 những ngày này, bất cứ chi tiết nào, bằng cách nào đó là tương tác. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, và như thế, người dùng nhập vào 571 00:32:03,110 --> 00:32:05,100 và sản xuất ra tùy chỉnh. 572 00:32:05,100 --> 00:32:07,780 >> Vì vậy, chúng ta hãy bắt đầu để làm điều đó bây giờ. Hãy chuyển tiếp tại 573 00:32:07,780 --> 00:32:11,150 chỉ sử dụng HTML để đánh dấu nội dung tĩnh 574 00:32:11,150 --> 00:32:14,790 như thay vì một cơ chế giao hàng cho các nội dung động. 575 00:32:14,790 --> 00:32:17,350 Và hướng tới mục đích đó, chúng ta hãy thực hiện các công cụ tìm kiếm của riêng của chúng tôi. 576 00:32:17,350 --> 00:32:20,820 Hãy làm điều đó như sau. Đây là thẻ hình thức. 577 00:32:20,820 --> 00:32:24,090 Các thuộc tính action xác định rằng khi người dùng điền vào biểu mẫu này 578 00:32:24,090 --> 00:32:28,400 với bàn phím của họ, nó sẽ được gửi đến URL này ở đây. 579 00:32:28,400 --> 00:32:31,230 Vì vậy, tôi là loại gian lận. Nó sẽ đưa chúng ta lâu hơn một chút 580 00:32:31,230 --> 00:32:33,780 hơn một lớp để thực hiện toàn bộ các công cụ tìm kiếm, 581 00:32:33,780 --> 00:32:35,880 vì vậy chỉ cần làm cuối phía trước, do đó, để nói chuyện. 582 00:32:35,880 --> 00:32:38,650 Chúng tôi sẽ làm một phần cho phép tìm kiếm của người dùng, và chúng tôi sẽ sắp xếp của punt Google 583 00:32:38,650 --> 00:32:40,950 phần khó nhất của việc tìm kiếm các kết quả tìm kiếm, 584 00:32:40,950 --> 00:32:43,520 nhưng, cụ thể, tôi sẽ nói chuyện với máy chủ web của Google 585 00:32:43,520 --> 00:32:46,710 bằng cách sử dụng một trong hai phương pháp rất phổ biến. 586 00:32:46,710 --> 00:32:50,000 Một được nhận được, khác, rằng chúng ta sẽ thấy, là bài, 587 00:32:50,000 --> 00:32:52,660 mặc dù có những người khác được sử dụng ít thường xuyên hơn. 588 00:32:52,660 --> 00:32:56,440 Vì vậy, nhận được chỉ gợi lên ý tưởng, tôi muốn có được một số nội dung, nhận được một số kết quả tìm kiếm. 589 00:32:56,440 --> 00:32:58,440 Này, bạn có lẽ có thể đoán điều này không. 590 00:32:58,440 --> 00:33:01,900 Đây là một số loại đầu vào, nó, trên thực tế, để trông giống như một trường văn bản, 591 00:33:01,900 --> 00:33:05,200 và tên của đầu vào, tên của biến đó, có thể nói, 592 00:33:05,200 --> 00:33:08,610 sẽ được Q cho truy vấn theo quy ước. 593 00:33:08,610 --> 00:33:11,700 Và một lần nữa, các loại đầu vào này sẽ không là một hộp kiểm; 594 00:33:11,700 --> 00:33:13,890 nó sẽ không là một menu, nó sẽ là một lĩnh vực văn bản 595 00:33:13,890 --> 00:33:18,060 biểu hiện bằng các thuộc tính này ở đây, và hộp văn bản này, 596 00:33:18,060 --> 00:33:20,680 giống như một ngắt dòng, hoặc là có hay không. 597 00:33:20,680 --> 00:33:24,480 Vì vậy, chúng tôi có một phần tử trống rỗng, với các dấu gạch chéo bên trong từ khóa đó. 598 00:33:24,480 --> 00:33:28,050 Sau đó, tôi sẽ đặt một ngắt dòng, và bạn có thể, có lẽ, đoán những gì sẽ làm. 599 00:33:28,050 --> 00:33:30,210 Đây là một loại hình thức đầu vào. 600 00:33:30,210 --> 00:33:32,350 >> Điều này một sẽ được sử dụng để nộp mẫu đơn. 601 00:33:32,350 --> 00:33:36,140 Vì vậy, đây sẽ là nút lớn mà người dùng có thể nhấp vào để gửi biểu mẫu, 602 00:33:36,140 --> 00:33:40,800 và nhãn vào nút đó là có được "CS50 Tìm kiếm '. 603 00:33:40,800 --> 00:33:44,170 Đóng hình thức, cơ thể gần, gần HTML. 604 00:33:44,170 --> 00:33:46,280 Hãy xem những gì chúng tôi có trong các hình thức của trang web này. 605 00:33:46,280 --> 00:33:48,260 Vì vậy, hãy để tôi đi đến trình duyệt của tôi, 606 00:33:48,260 --> 00:33:50,360 cho tôi đi, vẫn còn, để máy chủ của địa phương. 607 00:33:50,360 --> 00:33:54,650 Điều này vẫn còn index.html, vì vậy nếu tôi muốn nhìn thấy tập tin này được gọi là search0, 608 00:33:54,650 --> 00:33:59,710 Tôi chỉ đơn giản là có thể làm / search0.html, nhập 609 00:33:59,710 --> 00:34:01,880 và lần đầu tiên của những sai lầm của tôi. 610 00:34:01,880 --> 00:34:04,400 Chuyện gì đang xảy ra? Rõ ràng là không có sự cho phép 611 00:34:04,400 --> 00:34:06,430 để truy cập tập tin này, vì một lý do nào đó. 612 00:34:06,430 --> 00:34:10,170 Nhưng đó là bởi vì, không giống như công việc chúng tôi đã làm vậy, đến nay trong C, 613 00:34:10,170 --> 00:34:14,340 các chương trình bạn viết được giả định là runable của bạn, 614 00:34:14,340 --> 00:34:17,590 bạn thực hiện được, đó là không thực sự là trường hợp trên Web, 615 00:34:17,590 --> 00:34:21,010 theo đó đôi khi bạn có thể muốn để tạo ra các tập tin trên máy chủ, 616 00:34:21,010 --> 00:34:23,310 nhưng bạn không muốn cả thế giới có thể nhìn thấy chúng. 617 00:34:23,310 --> 00:34:25,469 Thay vào đó, bạn muốn thế giới thấy một số tập tin 618 00:34:25,469 --> 00:34:27,730 nhưng không phải những người khác, chỉ vì lợi ích riêng tư của. 619 00:34:27,730 --> 00:34:30,730 Vì vậy, nó nhiều hơn một cơ sở lựa chọn trong khi bạn đang làm việc trên Web. 620 00:34:30,730 --> 00:34:32,810 Và để cho tôi thực sự gõ ls đây, 621 00:34:32,810 --> 00:34:37,440 và bạn thấy các tập tin tôi có, nhưng nhớ lại rằng nếu tôi làm ls-l cho lâu dài, 622 00:34:37,440 --> 00:34:41,520 Tôi sẽ nhận được một danh sách dài mang lại cho tôi một số chi tiết về những tập tin 623 00:34:41,520 --> 00:34:45,139 mà bây giờ, thực sự, lần đầu tiên có liên quan đến chúng tôi. 624 00:34:45,139 --> 00:34:47,840 Chú ý rằng về phía bên phải là tên của tập tin của tôi, 625 00:34:47,840 --> 00:34:50,690 và sau đó là thời gian mà họ đã được sửa đổi lần cuối hoặc sao chép. 626 00:34:50,690 --> 00:34:54,370 Con số này ở đây là gì? Bạn có nhớ không? 627 00:34:54,370 --> 00:34:56,400 Kích thước theo byte, các tập tin lớn như thế nào. 628 00:34:56,400 --> 00:34:59,520 >> Vì vậy, tôi dường như có một số loại logo ở đây đó là lớn hơn so với tất cả các tập tin khác. 629 00:34:59,520 --> 00:35:03,610 Điều này là tôi là ai, đây là những gì tôi và những gì nhóm của tôi. 630 00:35:03,610 --> 00:35:07,430 Nhưng sau đó, ở đây bên trái là một chút của chuỗi khó hiểu, 631 00:35:07,430 --> 00:35:10,040 và chúng tôi nói chuyện, tôi nghĩ rằng, một thời gian ngắn về điều này trong quá khứ, 632 00:35:10,040 --> 00:35:12,050 nhưng điều này đã làm với các điều khoản. 633 00:35:12,050 --> 00:35:14,020 Và thậm chí nếu đó là một chút mơ hồ, 634 00:35:14,020 --> 00:35:17,270 RW có thể có nghĩa là đọc và viết. 635 00:35:17,270 --> 00:35:22,560 Vì vậy, nó quay ra rằng những dấu gạch ngang biểu thị tập hợp các điều khoản khác nhau cho những người khác nhau. 636 00:35:22,560 --> 00:35:24,730 Và mô hình, về cơ bản, như sau. 637 00:35:24,730 --> 00:35:27,650 Khi bạn nhìn thấy một chuỗi các dấu gạch ngang ở đây, họ xem xét như sau. 638 00:35:27,650 --> 00:35:30,450 Có một dấu gạch ngang, sau đó có thêm ba dấu gạch ngang, 639 00:35:30,450 --> 00:35:33,390 sau đó có thêm ba, sau đó có thêm ba. 640 00:35:33,390 --> 00:35:36,800 Người đầu tiên hoặc là một dấu gạch ngang hay quảng cáo nó cho thư mục. 641 00:35:36,800 --> 00:35:40,220 Vì vậy, mà người ta khá dễ dàng. Nếu đó là một thư mục, nó nói d, nếu không nó là một dấu nối. 642 00:35:40,220 --> 00:35:44,080 Có một vài trường hợp khác, nhưng bây giờ chúng tôi sẽ chỉ quan tâm đến các tập tin và thư mục. 643 00:35:44,080 --> 00:35:48,090 Ba dấu gạch ngang tiếp theo và tôi đã nhân tạo đưa vào các không gian. 644 00:35:48,090 --> 00:35:50,490 Họ, rõ ràng, không có ở đó khi chúng tôi thấy họ một chút thời gian trước đây. 645 00:35:50,490 --> 00:35:52,900 Đây là những quyền của chủ sở hữu tập tin, 646 00:35:52,900 --> 00:35:55,840 và nhớ lại từ trước thứ hai rằng nó đã được đọc và viết. 647 00:35:55,840 --> 00:35:58,560 Đó là bởi vì tôi là người tạo ra tập tin này một chút thời gian trước đây, 648 00:35:58,560 --> 00:36:01,250 I, theo mặc định, trên một máy tính Linux, 649 00:36:01,250 --> 00:36:03,910 có khả năng tiếp tục đọc và viết các tập tin đó. 650 00:36:03,910 --> 00:36:07,170 >> Vì vậy, hệ điều hành chỉ cho tôi RW tự động. 651 00:36:07,170 --> 00:36:10,840 Những người trung lưu liên quan đến nhóm của tôi, của sinh viên, 652 00:36:10,840 --> 00:36:14,590 được sắp xếp của vô nghĩa may vì tôi là người duy nhất bằng cách sử dụng thiết bị. 653 00:36:14,590 --> 00:36:16,620 Vì vậy, hãy để tôi chỉ vẫy tay của tôi bây giờ. 654 00:36:16,620 --> 00:36:19,190 Tuy nhiên, những người cuối cùng là quan trọng nhất cho Web. 655 00:36:19,190 --> 00:36:21,580 Đây là tất cả mọi người khác trên thế giới, và thực tế 656 00:36:21,580 --> 00:36:24,600 rằng đó là --- có nghĩa là không có ai khác trên thế giới 657 00:36:24,600 --> 00:36:26,680 có bất kỳ quyền truy cập đến tập tin này. 658 00:36:26,680 --> 00:36:29,180 Rõ ràng là một vấn đề, vì vậy tôi cần phải sửa chữa 659 00:36:29,180 --> 00:36:33,830 bằng cách nào đó cho thế giới những gì? Đọc và viết? 660 00:36:33,830 --> 00:36:35,850 Đó có thể là ngu ngốc, phải không? Tôi không muốn bất cứ ai trên Web 661 00:36:35,850 --> 00:36:38,530 để đi đến thăm trang của tôi và bằng cách nào đó thay đổi tập tin đó, 662 00:36:38,530 --> 00:36:40,800 mặc dù họ thực sự không thể với một tập tin HTML, 663 00:36:40,800 --> 00:36:44,110 nhưng về nguyên tắc, có lẽ chỉ muốn họ có thể đọc nó. 664 00:36:44,110 --> 00:36:47,910 Để đọc nó có nghĩa là gì? Nó không có nghĩa là họ sẽ quan tâm về HTML thực tế, 665 00:36:47,910 --> 00:36:51,820 nhưng trình duyệt cần để có thể phân tích rằng ngôn ngữ đánh dấu, 666 00:36:51,820 --> 00:36:53,720 trên xuống dưới, trái sang phải. 667 00:36:53,720 --> 00:36:57,990 Vì vậy, một người nào đó trên Web cần để có thể đọc nó, vì vậy tôi tối thiểu cần để cho nó r. 668 00:36:57,990 --> 00:37:00,240 Tôi có thể làm điều này trong một vài cách khác nhau, nhưng có lẽ 669 00:37:00,240 --> 00:37:03,080 đơn giản nhất là để chạy lệnh này ở đây. 670 00:37:03,080 --> 00:37:10,860 Chmod, thay đổi chế độ, sau đó r + vì vậy tất cả mọi người, trong thế giới + đọc, 671 00:37:10,860 --> 00:37:13,830 và sau đó là tên của các tập tin, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Bây giờ nếu tôi làm ls-l một lần nữa, nhận thấy rằng tập tin đó đã thay đổi, 673 00:37:18,310 --> 00:37:21,440 và quả thật, tôi đã bật trên r cho tất cả mọi người. 674 00:37:21,440 --> 00:37:23,350 Tôi cũng đã biến nó cho nhóm của tôi, nhưng đó là tốt, 675 00:37:23,350 --> 00:37:27,150 bởi vì nếu tôi ở trên cho tất cả mọi người, nhóm của tôi là một tập hợp con đó. 676 00:37:27,150 --> 00:37:31,480 Vì vậy, đó là tốt quá. Điều này chỉ có nghĩa là máy tính đã làm cho nó có thể đọc được. 677 00:37:31,480 --> 00:37:34,430 Bây giờ hãy để tôi quay trở lại để trình duyệt của tôi, hãy nhấp vào tải lại. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Bây giờ chúng ta có CS50 Tìm kiếm. 679 00:37:36,330 --> 00:37:39,830 Tôi đã phóng to một chút nhân tạo - công cụ tìm kiếm khá gớm guốc. 680 00:37:39,830 --> 00:37:41,930 Nhưng chúng ta hãy xem nếu nó thực sự hoạt động. 681 00:37:41,930 --> 00:37:45,880 Đầu tiên, hãy để tôi làm một kiểm tra sanity nhanh chóng, hãy để tôi kiểm soát bấm vào và xem mã nguồn của trang. 682 00:37:45,880 --> 00:37:50,780 Chú ý rằng trong Chrome bây giờ chúng ta đang nhìn thấy HTML rằng bản thân tôi tạo ra. 683 00:37:50,780 --> 00:37:55,420 Đừng nhầm lẫn ở đây, mặc dù. Tôi không thể bắt đầu thay đổi mã ở đây, 684 00:37:55,420 --> 00:37:59,420 vì trình duyệt có một cái nhìn chỉ đọc của mã này. 685 00:37:59,420 --> 00:38:06,060 Các trình duyệt vừa hỏi máy chủ lưu trữ địa phương cho một tập tin gọi là search0.html. 686 00:38:06,060 --> 00:38:09,490 Nó bây giờ là tinh khiết trùng hợp ngẫu nhiên mà thiết bị 687 00:38:09,490 --> 00:38:13,480 sẽ xảy ra là trên cùng một máy tính như trình duyệt của tôi. 688 00:38:13,480 --> 00:38:20,470 Tôi chỉ có thể có, tương đương, đã gõ vào www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 và nếu Facebook đã có một tập tin gọi là, Sau đó tôi sẽ được nhìn thấy HTML của họ. 690 00:38:23,830 --> 00:38:27,360 Và, tất nhiên, tôi không thể thay đổi các tập tin trở lại từ Facebook, hoặc. 691 00:38:27,360 --> 00:38:29,360 Vì vậy, bây giờ chúng tôi đang sắp xếp làm mờ các dòng. 692 00:38:29,360 --> 00:38:32,130 Thiết bị này là cả một máy chủ, phục vụ lên các trang web, 693 00:38:32,130 --> 00:38:34,870 nhưng nó cũng là một khách hàng trong ý nghĩa mà tôi đang sử dụng một trình duyệt 694 00:38:34,870 --> 00:38:37,630 để thực sự nói chuyện với máy chủ đó. 695 00:38:37,630 --> 00:38:39,610 Vì vậy, chúng ta hãy xem nếu công cụ tìm kiếm của Google của tôi làm việc. 696 00:38:39,610 --> 00:38:44,930 Hãy để tôi đi trước và tìm kiếm cho con cáo nâu nhanh chóng, nhập. 697 00:38:44,930 --> 00:38:47,540 Và thì đấy, tôi bây giờ có công cụ tìm kiếm của riêng tôi. 698 00:38:47,540 --> 00:38:51,460 >> Nhưng làm thế nào để làm việc này? 699 00:38:51,460 --> 00:38:55,380 Bit rộng, nhưng - và bây giờ bạn không thể nhìn thấy, chính xác, một phần đó là quan tâm. 700 00:38:55,380 --> 00:38:57,370 Chú ý những gì xảy ra. 701 00:38:57,370 --> 00:39:00,430 Chú ý URL. Nó chỉ ra rằng phương pháp đó, 702 00:39:00,430 --> 00:39:02,780 gọi là nhận được, là siêu đơn giản. 703 00:39:02,780 --> 00:39:10,270 Khi bạn chỉ định trong một hình thức mà bạn muốn 'get' kết quả từ một số máy chủ, 704 00:39:10,270 --> 00:39:13,200 những gì nó sẽ làm là lấy bất cứ điều gì bạn gõ vào mẫu 705 00:39:13,200 --> 00:39:15,290 và đặt nó trong URL. 706 00:39:15,290 --> 00:39:18,580 Nó sẽ làm thế nào để tiêu chuẩn hóa nó được đưa vào URL như sau. 707 00:39:18,580 --> 00:39:22,290 Chú ý rằng đây là URL đó là giá trị của thuộc tính hành động của tôi. 708 00:39:22,290 --> 00:39:24,730 Đó là nơi tôi muốn hình thức để kết thúc. 709 00:39:24,730 --> 00:39:26,950 Nhưng sau đó nhận thấy dấu chấm hỏi. 710 00:39:26,950 --> 00:39:30,230 Đây là một quy ước trên Web, theo đó cung cấp cho người sử dụng đầu vào 711 00:39:30,230 --> 00:39:35,320 một trang web, bạn nối thêm vào URL một dấu hỏi, 712 00:39:35,320 --> 00:39:38,330 và sau đó bạn có một bó toàn bộ các cặp khóa-giá trị. 713 00:39:38,330 --> 00:39:42,380 Tên của một phím, nếu không được biết đến như một tham số trong trang web, 714 00:39:42,380 --> 00:39:46,380 sau đó bạn có một dấu bằng, sau đó bạn có giá trị của tham số đó. 715 00:39:46,380 --> 00:39:49,810 Vì vậy, đó là bản chất là một tên biến và giá trị một biến, 716 00:39:49,810 --> 00:39:54,250 nhưng những tên biến và giá trị đến từ hình thức HTML. 717 00:39:54,250 --> 00:39:56,250 Tại sao các ưu điểm đó, bạn có nghĩ? 718 00:39:56,250 --> 00:39:59,340 Bởi vì tôi không gõ + ở giữa lời nói của tôi. 719 00:39:59,340 --> 00:40:01,430 [Sinh viên, không thể hiểu] 720 00:40:01,430 --> 00:40:05,080 >> Yeah, đó là chỉ cho khoảng cách. Tỷ lệ cược là, bất cứ khi nào bạn đã nhìn thấy một URL, 721 00:40:05,080 --> 00:40:07,320 không bao giờ có bất kỳ khoảng trống trong nó, nếu chỉ vì 722 00:40:07,320 --> 00:40:09,440 nếu có, bạn có thể không thực sự sao chép và dán 723 00:40:09,440 --> 00:40:12,700 vào một tin nhắn hoặc vào một email vì nó sẽ phá vỡ. 724 00:40:12,700 --> 00:40:15,420 Bạn muốn toàn bộ điều là một tiếp giáp chuỗi ký tự. 725 00:40:15,450 --> 00:40:18,450 >> Vì vậy, trình duyệt là đủ thông minh để nhận ra, uh-uh. 726 00:40:18,450 --> 00:40:22,610 Đừng chỉ đặt một không gian ở đó. Hãy để tôi mã hóa không gian trong một số cách tiêu chuẩn. 727 00:40:22,610 --> 00:40:25,170 Một trong những quy ước để làm như vậy là để có trình duyệt 728 00:40:25,170 --> 00:40:29,350 tự động đặt một + bạn nếu không sẽ có một không gian. 729 00:40:29,350 --> 00:40:32,140 Vì vậy, bây giờ, Google thông báo đã loại thân thiện với người sử dụng. 730 00:40:32,140 --> 00:40:34,380 Tôi chắc chắn không tạo ra trang web này, 731 00:40:34,380 --> 00:40:37,200 nhưng họ đã prepopulated lĩnh vực văn bản của riêng của họ 732 00:40:37,200 --> 00:40:39,490 gì, chính xác, tôi đã gõ. 733 00:40:39,490 --> 00:40:43,090 Giả sử tôi muốn tìm kiếm một cái gì đó khác, như một con chó lười biếng. 734 00:40:43,090 --> 00:40:45,340 Tôi chỉ có thể loại này ở đây, lại tìm kiếm. 735 00:40:45,340 --> 00:40:47,730 Chú ý rằng URL thay đổi ở đây, 736 00:40:47,730 --> 00:40:51,390 nhưng sau đó nhận thấy rằng tôi thực sự có thể tìm kiếm bất cứ điều gì tôi muốn 737 00:40:51,390 --> 00:40:53,610 chỉ bằng sự hiểu biết làm thế nào URL công việc. 738 00:40:53,610 --> 00:40:56,840 Tôi có thể làm con mèo lười, nhập, 739 00:40:56,840 --> 00:41:01,370 và chú ý bây giờ tôi đang rất lười biếng nên chúng tôi? Tôi cảm thấy như chúng ta nên làm. 740 00:41:01,370 --> 00:41:09,900 Tôi nhận được một con mèo rất lười biếng. 741 00:41:09,900 --> 00:41:11,930 Được rồi. Đây là một trong những điều ngu ngốc nhất mà chúng tôi đã thực hiện. 742 00:41:11,930 --> 00:41:17,160 Nhưng đó là một con mèo lười biếng. 743 00:41:17,160 --> 00:41:19,730 Nhưng dù sao, takeaway chính là những gì ở đây? 744 00:41:19,730 --> 00:41:22,830 Bây giờ chúng tôi đang sắp xếp chơi trong thế giới của HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML đang chỉ này ngôn ngữ đánh dấu, mở thẻ, close tag, 746 00:41:26,050 --> 00:41:29,490 mà nói với một trình duyệt làm thế nào để làm cho nội dung trên một trang web. 747 00:41:29,490 --> 00:41:32,850 Nhưng khi bạn bắt đầu truyền dữ liệu qua mạng Internet 748 00:41:32,850 --> 00:41:36,290 giữa trình duyệt web và máy chủ, đó là nơi giao thức này 749 00:41:36,290 --> 00:41:39,370 được gọi là HyperText Transfer Protocol mất hơn. 750 00:41:39,370 --> 00:41:42,630 Đây là loại quy ước của con người, khi Sam và tôi bắt tay vào hôm thứ Hai, 751 00:41:42,630 --> 00:41:48,300 bắt đầu một kết nối và sau đó đóng một kết nối, cùng một ý tưởng ở đây. 752 00:41:48,300 --> 00:41:53,100 Làm thế nào để kết quả của Google trở lại với tôi? 753 00:41:53,100 --> 00:41:55,290 Làm thế nào là hình thức trình của tôi cho Google? 754 00:41:55,290 --> 00:41:58,160 Vâng, nhớ lại những ngày khác rằng những gì thực sự xảy ra 755 00:41:58,160 --> 00:42:02,150 bên dưới mui xe khi bạn yêu cầu một trang web là, 756 00:42:02,150 --> 00:42:04,860 trình duyệt của bạn gửi một tin nhắn hơi khó hiểu như 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 cho trang chủ mặc định. 758 00:42:09,510 --> 00:42:13,000 >> Hoặc, trong trường hợp này, bởi vì tôi đặc biệt yêu cầu trước đó 759 00:42:13,000 --> 00:42:17,340 search0.html, điều này sau đó sẽ là tin nhắn hơi khó hiểu 760 00:42:17,340 --> 00:42:20,040 trình duyệt của tôi gửi vào thiết bị. 761 00:42:20,040 --> 00:42:23,090 Hoặc, trong trường hợp này của Google, những gì đang thực sự được gửi 762 00:42:23,090 --> 00:42:33,740 là một yêu cầu / tìm kiếm, và sau đó con mèo q = lười biếng, với một cộng có. 763 00:42:33,740 --> 00:42:36,790 Vì vậy, thông báo này, mà tôi, con người, đang không bao giờ đánh máy, 764 00:42:36,790 --> 00:42:40,620 nhưng đang được gửi đi bởi trình duyệt của tôi, đây là HTTP xảy ra như thế nào. 765 00:42:40,620 --> 00:42:43,240 Đây là tương đương với bàn tay của chúng tôi đã rung động. 766 00:42:43,240 --> 00:42:46,320 Đây là yêu cầu, và máy chủ để gửi một phản ứng. 767 00:42:46,320 --> 00:42:48,560 Vì vậy, chúng ta hãy xem này bên dưới mui xe. 768 00:42:48,560 --> 00:42:55,320 Như trước đây, chúng ta có thể mở ra lĩnh vực đặc biệt này trong trình duyệt. 769 00:42:55,320 --> 00:42:58,720 Xem trang, kiểm tra các yếu tố. 770 00:42:58,720 --> 00:43:01,550 Vì vậy, theo kiểm tra nguyên tố, nhận thấy rằng những gì đang xảy ra trong Chrome, 771 00:43:01,550 --> 00:43:04,160 và trình duyệt IE và Firefox có cơ chế tương tự, 772 00:43:04,160 --> 00:43:07,370 chúng tôi có những công cụ nhà phát triển tiếp cận với chúng tôi. 773 00:43:07,370 --> 00:43:09,630 Những người bình thường không sử dụng những tab. 774 00:43:09,630 --> 00:43:11,940 Nhưng chúng ta, bây giờ, quan tâm đến những gì đang xảy ra 775 00:43:11,940 --> 00:43:13,890 bên dưới mui xe ở cấp độ mạng. 776 00:43:13,890 --> 00:43:16,130 Vì vậy, nếu tôi kéo lên cấp độ mạng ở đây, 777 00:43:16,130 --> 00:43:18,510 hãy để tôi đi trước và mở rộng cửa sổ này, 778 00:43:18,510 --> 00:43:21,840 mở ra mục này ở đây, và nhìn vào các tiêu đề. 779 00:43:21,840 --> 00:43:26,010 Vì vậy, những gì sẽ xảy ra khi tôi yêu cầu một tập tin từ một máy chủ web 780 00:43:26,010 --> 00:43:29,410 là trình duyệt của tôi sẽ gửi một bó toàn bộ vật. 781 00:43:29,410 --> 00:43:32,390 Và hãy để tôi xem mã nguồn. Vì vậy, theo tiêu đề yêu cầu, 782 00:43:32,390 --> 00:43:35,250 và điều này chỉ là Chrome hiển thị cho tôi một số chẩn đoán sản lượng, 783 00:43:35,250 --> 00:43:37,340 loại giống như một trình gỡ lỗi của một số loại, 784 00:43:37,340 --> 00:43:40,500 nhận thấy rằng những gì tôi đã nêu bật ở đây chính xác là những gì 785 00:43:40,500 --> 00:43:47,060 Chrome được gửi đến máy chủ để yêu cầu một tập tin gọi là search0.html. 786 00:43:47,060 --> 00:43:50,160 Đó là nói cho máy chủ những gì nó nghĩ tên của nó là, 787 00:43:50,160 --> 00:43:52,210 nhờ vào lĩnh vực này đại tràng chủ, sau đó có một số 788 00:43:52,210 --> 00:43:56,950 các công cụ khá bí truyền ở đây, giống như một cái gì đó để làm với ngày tháng và thời gian, 789 00:43:56,950 --> 00:43:59,720 một cái gì đó để làm với các ngôn ngữ mà trình duyệt hiểu, 790 00:43:59,720 --> 00:44:02,850 nhưng các dòng thực sự quan trọng là những đầu tiên hai ở đây. 791 00:44:02,850 --> 00:44:05,490 >> Các máy chủ đáp ứng với điều gì? Vâng, nếu chúng ta di chuyển xuống đây 792 00:44:05,490 --> 00:44:08,510 và xem nguồn gốc của điều này, nhận thấy rằng các máy chủ 793 00:44:08,510 --> 00:44:13,700 đã phản ứng với một tin nhắn hơi khó hiểu là, 304 không được sửa đổi. 794 00:44:13,700 --> 00:44:16,030 Đó là một chút lạ cho tôi thực sự cố gắng để sửa lỗi này. 795 00:44:16,030 --> 00:44:18,670 Hãy để tôi giữ phím Shift và nhấp vào tải lại ở đây 796 00:44:18,670 --> 00:44:22,460 để buộc các trình duyệt để thực sự làm cho yêu cầu này cho lần đầu tiên. 797 00:44:22,460 --> 00:44:25,700 Sau đó, hãy để tôi phóng to, và chúng ta sẽ thấy rằng phản ứng của máy chủ, 798 00:44:25,700 --> 00:44:28,950 bởi vì tôi thay đổi được tổ chức, là 200 OK. 799 00:44:28,950 --> 00:44:31,170 Vì vậy, bạn đã có thể không bao giờ nhìn thấy số 200 800 00:44:31,170 --> 00:44:33,300 trong bối cảnh của Web, nhưng những gì 801 00:44:33,300 --> 00:44:36,760 đôi khi bạn thấy bất ngờ từ một máy chủ? 802 00:44:36,760 --> 00:44:42,010 404, không tìm thấy file, 403, cấm; 500, lỗi máy chủ. 803 00:44:42,010 --> 00:44:44,890 Vì vậy, có các mã số thế giới sử dụng trong trang web 804 00:44:44,890 --> 00:44:47,870 để biểu thị lỗi, giống như chức năng C 805 00:44:47,870 --> 00:44:51,030 có thể quay trở lại các lỗi và chính có thể quay trở lại mã lối ra. 806 00:44:51,030 --> 00:44:54,160 200, mặc dù, bạn hiếm khi thấy bởi vì nó có nghĩa là tất cả là tốt. 807 00:44:54,160 --> 00:44:59,000 Và 304 bạn có thể không bao giờ nhìn thấy bởi vì nó là nghĩa gì? 808 00:44:59,000 --> 00:45:03,330 Rằng không có gì có - để xem liệu chúng ta có thể mô phỏng này một lần nữa - 809 00:45:03,330 --> 00:45:07,170 Oh, bây giờ nó không hợp tác. 304 cho biết không được sửa đổi, 810 00:45:07,170 --> 00:45:09,170 vậy tại sao các máy chủ thậm chí còn xử? 811 00:45:09,170 --> 00:45:12,550 Vâng, cho hiệu quả, một máy chủ web tự động cho bạn, 812 00:45:12,550 --> 00:45:16,570 nếu các tập tin không thay đổi, nó sẽ không truyền lại toàn bộ tập tin HTML. 813 00:45:16,570 --> 00:45:19,150 Nó sẽ chỉ cho trình duyệt nó đã không thay đổi. 814 00:45:19,150 --> 00:45:21,220 Chỉ cần sử dụng bản sao bạn đã có. 815 00:45:21,220 --> 00:45:22,650 Vì vậy, có khái niệm của bộ nhớ đệm trên Web 816 00:45:22,650 --> 00:45:25,840 cho hiệu suất, vì vậy mà bạn không lãng phí thời gian và lãng phí băng thông 817 00:45:25,840 --> 00:45:29,160 tải các tập tin một lần nữa và một lần nữa không cần thiết. 818 00:45:29,160 --> 00:45:31,460 >> Nhưng, bây giờ, trang web này là siêu đơn giản, 819 00:45:31,460 --> 00:45:34,980 và nó chỉ cho tôi thấy HTML trở lại. 820 00:45:34,980 --> 00:45:40,940 Hãy để thực sự sử dụng tab mạng bây giờ để làm một tìm kiếm Google như con cáo nâu nhanh chóng. 821 00:45:40,940 --> 00:45:43,010 Chúng tôi sau đó nhấn CS50 tìm kiếm, 822 00:45:43,010 --> 00:45:46,950 và bây giờ, chú ý ở phía dưới một bó toàn bộ công cụ đã trở lại 823 00:45:46,950 --> 00:45:49,900 bởi vì khi tôi ghé thăm một trang web thực sự như Google.com, 824 00:45:49,900 --> 00:45:53,520 họ có hình ảnh, họ có văn bản, họ có một ngôn ngữ được gọi là JavaScript có. 825 00:45:53,520 --> 00:45:55,940 Vì vậy, mỗi dòng trong bảng này xuống đây 826 00:45:55,940 --> 00:46:01,490 đại diện cho một cái gì đó mà Google nhổ ra để đáp ứng với yêu cầu duy nhất của tôi. 827 00:46:01,490 --> 00:46:04,160 , Mặc dù, là một trong tôi quan tâm đầu tiên. 828 00:46:04,160 --> 00:46:08,420 Và nếu tôi đi đến tìm kiếm, yêu cầu, nhấp vào xem mã nguồn ở đây, 829 00:46:08,420 --> 00:46:11,300 nhận thấy rằng, thực tế, các thông điệp bí ẩn mà trình duyệt của tôi gửi 830 00:46:11,300 --> 00:46:15,010 Google là hai dòng ở đây, 831 00:46:15,010 --> 00:46:18,420 tiếp theo là một số thông tin phức tạp xuống đây mà chúng ta sẽ bỏ qua cho bây giờ. 832 00:46:18,420 --> 00:46:20,890 Nhưng chú ý, quá, những gì Chrome là khá tiện dụng với, 833 00:46:20,890 --> 00:46:24,540 nó cũng hiển thị cho tôi chuỗi truy vấn đã được gửi. 834 00:46:24,540 --> 00:46:27,410 Vì thế thay vì chỉ cho tôi điều này, nghĩa là gửi, 835 00:46:27,410 --> 00:46:30,800 nếu tôi xem nó giải mã, Chrome, chỉ cần cho các mục đích gỡ lỗi, 836 00:46:30,800 --> 00:46:34,270 cho các nhà phát triển như chúng ta, nó chỉ hiển thị một phiên bản con người thân thiện - 837 00:46:34,270 --> 00:46:36,390 đó không phải là cách bạn đánh vần cáo, rõ ràng. 838 00:46:36,390 --> 00:46:40,520 Tôi chỉ nhận thấy điều này ngay bây giờ, nhưng nó hiển thị cho bạn những gì tôi, rõ ràng, đánh máy. 839 00:46:40,520 --> 00:46:45,340 Trong khi đó, phản ứng trở lại từ máy chủ là một lần nữa 200 OK. 840 00:46:45,340 --> 00:46:47,930 Tuy nhiên, bao gồm phản ứng đó, tất nhiên, 841 00:46:47,930 --> 00:46:51,920 nếu chúng ta thực sự xem HTML của trang - 842 00:46:51,920 --> 00:46:55,440 xin lỗi, đây là một ít phím tắt như mong muốn ngày hôm nay. 843 00:46:55,440 --> 00:46:59,020 >> Tôi sẽ đối phó với điều này sau đó. Vì vậy, nếu chúng ta thực sự xem mã nguồn của trang, 844 00:46:59,020 --> 00:47:02,990 mà tôi có thể làm lại bằng cách nhấn vào phản ứng, 845 00:47:02,990 --> 00:47:10,080 đây là những gì đã thực sự nhổ trở lại, trong đó thông điệp bí ẩn OK 200 từ máy chủ. 846 00:47:10,080 --> 00:47:12,520 Một chút khó hiểu, nhưng mà là tất cả những điều này đến từ? 847 00:47:12,520 --> 00:47:15,570 Vâng, chúng ta hãy làm một việc khác ở đây. Một lệnh hơi khó hiểu, 848 00:47:15,570 --> 00:47:20,530 nhưng này một loại gọn gàng trong đó nó cho chúng ta thấy chính xác những gì đang xảy ra bên dưới mui xe. 849 00:47:20,530 --> 00:47:22,530 Vì vậy, tôi trở lại trên máy Mac của tôi ở đây, tôi đã kết nối 850 00:47:22,530 --> 00:47:25,980 thông qua một chương trình được gọi là SSH, Secure Shell, đến máy chủ khác 851 00:47:25,980 --> 00:47:28,940 bởi vì hầu hết các máy tính của Đại học Harvard chặn các lệnh chúng tôi về để chạy 852 00:47:28,940 --> 00:47:31,640 bởi vì có lệnh này trên một số máy chủ gọi là traceroute 853 00:47:31,640 --> 00:47:34,810 cho phép bạn theo dõi các tuyến đường giữa các điểm a, b, 854 00:47:34,810 --> 00:47:37,020 và do đó đến nay chúng tôi đã được tham gia hoàn toàn cho các cấp 855 00:47:37,020 --> 00:47:40,170 mà tôi có thể nhập vào Google.com và bằng cách nào đó nhận được dữ liệu trở lại 856 00:47:40,170 --> 00:47:43,530 từ nửa trên khắp đất nước hoặc nửa trên khắp thế giới. 857 00:47:43,530 --> 00:47:45,810 Với traceroute chúng tôi thực sự có thể lặn sâu hơn một chút 858 00:47:45,810 --> 00:47:49,370 Internet hoạt động như thế nào, và xem những gì đang xảy ra bên dưới mui xe. 859 00:47:49,370 --> 00:47:54,440 Vì vậy, chúng ta hãy đi trước và tùy tiện theo dõi một tuyến đường, nói, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 mà là trên đất nước, và nhấn Enter. 861 00:47:57,150 --> 00:47:59,380 Lệnh này có thể được siêu nhanh hoặc siêu chậm, 862 00:47:59,380 --> 00:48:02,010 nhưng những gì chúng ta đang thấy bây giờ, từng dòng một, 863 00:48:02,010 --> 00:48:08,060 là mỗi một trong các bước hoặc bước nhảy giữa chúng tôi và Palo Alto, hoặc Stanford, 864 00:48:08,060 --> 00:48:11,010 nơi họ có máy chủ web của họ. 865 00:48:11,010 --> 00:48:16,600 Vì vậy, mỗi dòng những gì đại diện cụ thể, mặc dù? 866 00:48:16,600 --> 00:48:19,100 Một phần của thuật ngữ từ Internet? [Sinh viên, không thể hiểu] 867 00:48:19,100 --> 00:48:21,570 >> Cái gì thế? [Sinh viên, không thể hiểu] 868 00:48:21,570 --> 00:48:25,390 >> Oh, do đó, có lần, nhưng những gì hiện mỗi hàng - những gì có nghĩa là do hop? 869 00:48:25,390 --> 00:48:29,140 >> Vâng, có những điều này trên Internet được gọi là bộ định tuyến. 870 00:48:29,140 --> 00:48:33,020 Và thiết bị định tuyến, như tên cho thấy, tuyến đường thông tin từ điểm a đến điểm b. 871 00:48:33,020 --> 00:48:36,920 Nhưng có một số điểm vượt quá a và b. 872 00:48:36,920 --> 00:48:40,010 Có c, d, đ và e giữa dòng 1, 873 00:48:40,010 --> 00:48:43,480 mà xảy ra được địa chỉ IP của máy tính của tôi, 874 00:48:43,480 --> 00:48:46,890 hoặc địa chỉ số của tôi, trong đó xác định duy nhất máy tính của tôi, 875 00:48:46,890 --> 00:48:50,300 và bước 15, mà thực sự là máy chủ web thứ sáu, 876 00:48:50,300 --> 00:48:54,640 rõ ràng, tôi suy luận này, hoặc phiên bản 6 của máy chủ web của họ tại Đại học Stanford. 877 00:48:54,640 --> 00:48:56,680 Tuy nhiên, loại gọn gàng là những gì, chúng ta có thể nhìn thấy đường dẫn 878 00:48:56,680 --> 00:49:00,480 là 0 và 1 được lấy từ máy tính của tôi Stanford. 879 00:49:00,480 --> 00:49:02,500 Vì vậy, bước 1 là địa chỉ của máy tính của riêng tôi. 880 00:49:02,500 --> 00:49:05,760 Mỗi máy tính trên Internet có một định danh duy nhất trông như thế này. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Nơi nào đó trên khuôn viên trường này, có thể là trong các trung tâm khoa học, 883 00:49:10,370 --> 00:49:16,780 một bộ định tuyến được gọi là lõi Cổng 2-te83, bất cứ điều gì đó có nghĩa là, 884 00:49:16,780 --> 00:49:20,590 vì vậy đây là một trong những lớn của Harvard router ưa thích mà các tuyến đường rất nhiều lưu lượng truy cập của họ. 885 00:49:20,590 --> 00:49:24,640 Đây là một thiết bị định tuyến của Harvard, một trong những điều này là Border Gateway, 886 00:49:24,640 --> 00:49:28,310 biên giới có nghĩa là nó có thể là một nơi nào đó trên vùng ngoại vi của khuôn viên trường. 887 00:49:28,480 --> 00:49:32,790 Sau đó, có một nox, hàng 4, đó là Crossroads phía Bắc, 888 00:49:32,790 --> 00:49:35,070 đó là một ISP lớn, nhà cung cấp dịch vụ Internet, 889 00:49:35,070 --> 00:49:37,740 rằng những nơi như Harvard kết nối lên đến. 890 00:49:37,740 --> 00:49:40,760 Nhưng sau đó những thứ có được một chút thú vị trong dòng 6. 891 00:49:40,760 --> 00:49:45,960 Là bit của tôi tất cả các của một bất ngờ? Kansas. 892 00:49:45,960 --> 00:49:49,300 Thế giới có một thói quen sử dụng các mã sân bay trong rất nhiều những điều này, 893 00:49:49,300 --> 00:49:52,900 hoặc ít nhất là các chữ viết tắt cho các tiểu bang, thành phố, 894 00:49:52,900 --> 00:49:56,490 do đó, nó trông giống như, chỉ trong 60 ms, 895 00:49:56,490 --> 00:49:59,420 một gói thông tin, 0 và 1 từ máy tính xách tay của tôi 896 00:49:59,420 --> 00:50:03,210 có tất cả các cách Kansas, và một lần nữa, trong 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Hơn nữa, sau khi Kansas, họ lấy một tour du lịch thông qua Houston, có lẽ, 898 00:50:08,180 --> 00:50:10,140 theo đề nghị của tên của máy chủ này. 899 00:50:10,140 --> 00:50:13,310 Vì vậy, cũng giống như một máy chủ trên Internet phải có một địa chỉ số, 900 00:50:13,310 --> 00:50:18,360 nó cũng có thể, tùy chọn, có một địa chỉ con người thân thiện hơn một chút mà con người đã đưa ra. 901 00:50:18,360 --> 00:50:20,510 Bây giờ, ở bước 8, chúng tôi không biết đó là gì. 902 00:50:20,510 --> 00:50:22,550 Đôi khi router chỉ loại bỏ qua bạn, 903 00:50:22,550 --> 00:50:25,010 và họ chỉ cần không trả lời các câu hỏi, vì vậy đó là tốt. 904 00:50:25,010 --> 00:50:29,290 Sau khi một bước 8 rõ ràng là nơi? L.A. 905 00:50:29,290 --> 00:50:35,290 Chú ý trong chỉ 78 ms, những gì cần có con người chúng ta, như 6 + giờ để làm vật lý, 906 00:50:35,290 --> 00:50:40,110 có các gói thông tin Internet trên 78 ms để đi du lịch xa. 907 00:50:40,110 --> 00:50:45,890 Bước 10 ở LA là tốt, và bước 11 dường như đã đi về phía bắc, gần Stanford. 908 00:50:45,890 --> 00:50:48,750 Đây là ranh giới, router của họ hoặc router biên giới. 909 00:50:48,750 --> 00:50:51,240 Một vài bước tại Stanford đang bỏ qua chúng tôi, 910 00:50:51,240 --> 00:50:55,610 và cuối cùng, chúng tôi đến được máy chủ web chỉ trong 87 ms. 911 00:50:55,610 --> 00:50:57,760 Bây giờ, tất cả những con số này, như một sang một bên, 912 00:50:57,760 --> 00:51:00,640 chỉ cho bạn biết phải mất bao lâu cho dữ liệu nhận được từ tôi 913 00:51:00,640 --> 00:51:03,530 mỗi của các thiết bị định tuyến, và nó không phải là tích lũy. 914 00:51:03,530 --> 00:51:06,960 Chương trình này, đầu tiên gửi một tin nhắn, về cơ bản, các bộ định tuyến đầu tiên. 915 00:51:06,960 --> 00:51:09,490 Sau đó, một router thứ hai, sau đó một trong các bộ định tuyến thứ ba, 916 00:51:09,490 --> 00:51:12,610 đo mỗi lần. Vì vậy, trong lý thuyết, những thời gian này sẽ được phát triển 917 00:51:12,610 --> 00:51:14,860 hoặc ít nhất là khá gần gũi với nhau, 918 00:51:14,860 --> 00:51:18,090 và, quả thật vậy, những người ở ngay tại đây trong khuôn viên trường là siêu nhỏ. 919 00:51:18,090 --> 00:51:20,820 Ngay sau khi bạn bắt đầu đi trên khắp đất nước, phải mất dữ liệu 920 00:51:20,820 --> 00:51:24,830 lâu hơn một chút để đi du lịch, gần gũi hơn với 100 ms, cho hoặc mất. 921 00:51:24,830 --> 00:51:28,330 Nhưng chúng ta hãy đi theo một hướng khác. Làm thế nào về trường Đại học Cambridge ở Anh? 922 00:51:28,330 --> 00:51:32,540 Hãy để tôi thay vì chạy traceroute của www.cam cho Cambridge, 923 00:51:32,540 --> 00:51:36,710 Ac cho học tập., Uk, và nhấn vào đây. 924 00:51:36,710 --> 00:51:38,830 Đó là khá damn nhanh. 925 00:51:38,830 --> 00:51:43,300 Dữ liệu của tôi theo nghĩa đen đi Cambridge, Anh, trong đó phân chia thứ hai của thời gian. 926 00:51:43,300 --> 00:51:45,340 >> Vì vậy, chúng ta hãy xem con đường mà nó đã. 927 00:51:45,340 --> 00:51:47,520 Đại học Harvard, Đại học Harvard, Đại học Harvard, Bắc Crossroads, 928 00:51:47,520 --> 00:51:52,690 đó là một ISP, và sau đó này Crossroads Bắc, và sau đó bam. 929 00:51:52,690 --> 00:51:58,320 Là gì giữa bước 6 và 7, router 6 và 7? 930 00:51:58,320 --> 00:52:02,040 Đại Tây Dương. Và chúng ta đang suy luận điều này từ thực tế là 931 00:52:02,040 --> 00:52:06,530 chúng tôi đi từ 20 ms ở đây đến 80 ms. 932 00:52:06,530 --> 00:52:10,050 Vì vậy, một cái gì đó mất 60 ms, cho hay phải mất, để vượt qua. 933 00:52:10,050 --> 00:52:12,910 Và đó có thể là một cơ thể lớn của nước. 934 00:52:12,910 --> 00:52:15,250 Những gì diễn ra sau đó? Vâng, ở đây chúng ta đang ở London, 935 00:52:15,250 --> 00:52:18,860 chỉ 88 ms sau đó. More London, London, 936 00:52:18,860 --> 00:52:21,730 không chắc chắn nơi này, nhưng chúng tôi sẽ giả định nó ở bên ngoài của London, 937 00:52:21,730 --> 00:52:26,390 Cambridge ở đây, và cuối cùng chúng tôi - theo nghĩa đen, Đại học Cambridge 938 00:52:26,390 --> 00:52:29,500 Something.net, và sau đó, cuối cùng, trong dòng 16, 939 00:52:29,500 --> 00:52:31,720 máy chủ web của họ rõ ràng là đã được gọi là Scorpius 940 00:52:31,720 --> 00:52:35,500 bên dưới mui xe, mặc dù chúng tôi biết nó như www. 941 00:52:35,500 --> 00:52:38,790 Loại tâm-thổi, tôi nghĩ. Lần đầu tiên tôi đã làm điều này, nó hoàn toàn thổi tâm trí của tôi. 942 00:52:38,790 --> 00:52:41,670 Thật không may, Harvard ngăn chặn loại hình giao thông, thông thường, trên mạng. 943 00:52:41,670 --> 00:52:44,340 Vì vậy, bạn không thể làm cho nó siêu dễ dàng. 944 00:52:44,340 --> 00:52:48,500 Nhận ra, mặc dù, điều này ở đây là có thể. 945 00:52:48,500 --> 00:52:53,630 Được rồi. Chúng ta hãy nghỉ 5-phút của chúng tôi ở đây. Chúng tôi sẽ trở lại và nhảy vào sâu hơn. 946 00:52:53,630 --> 00:53:00,850 Vì vậy, chúng tôi trở lại, và chúng tôi đã loại đi thong thả trong một vài hướng khác nhau ở đây. 947 00:53:00,850 --> 00:53:03,700 Vì vậy, chúng ta hãy tóm tắt chính xác những gì đã xảy ra ở đây. 948 00:53:03,700 --> 00:53:07,990 Chúng tôi bắt đầu cuộc trò chuyện nói về ngôn ngữ này được gọi là HTML. 949 00:53:07,990 --> 00:53:10,680 Một lần nữa, không phải là một ngôn ngữ lập trình. Nó chỉ là một ngôn ngữ đánh dấu 950 00:53:10,680 --> 00:53:15,490 mà phần lớn là về tính thẩm mỹ và cấu trúc nội dung trong các hình thức của một trang web. 951 00:53:15,490 --> 00:53:19,220 Nhưng HTML, do đó, nhu cầu của một số loại cơ chế 952 00:53:19,220 --> 00:53:22,870 để đi du lịch giữa các trình duyệt và máy chủ web. 953 00:53:22,870 --> 00:53:28,360 HTML do đó loại cưỡi trên đầu trang của ngôn ngữ này khác, 954 00:53:28,360 --> 00:53:31,280 hay đúng hơn, một giao thức, được biết đến như HTTP. 955 00:53:31,280 --> 00:53:33,730 >> Và HTTP, như chúng ta đã nhìn thấy nó vậy, đến nay, 956 00:53:33,730 --> 00:53:37,140 là loại tương tự quy ước của con người bắt tay. 957 00:53:37,140 --> 00:53:39,940 Khi một trình duyệt muốn yêu cầu một trang từ một máy chủ, 958 00:53:39,940 --> 00:53:43,450 nó sẽ gửi "nhận được" yêu cầu từ trình duyệt đến máy chủ, 959 00:53:43,450 --> 00:53:48,040 và sau đó máy chủ đáp ứng với một số như 200, tất cả là okay, 960 00:53:48,040 --> 00:53:53,290 cũng như HTML hoặc một số xấu số như 404, tập tin không tìm thấy. 961 00:53:53,290 --> 00:53:58,220 Nhưng trong khi đó, HTTP chính nó không phải là Internet, cho mỗi gia nhập. 962 00:53:58,220 --> 00:54:01,550 HTTP chỉ là một dịch vụ, một tính năng của Internet 963 00:54:01,550 --> 00:54:05,530 nhiều như G chat là một dịch vụ, giống như email là một dịch vụ. 964 00:54:05,530 --> 00:54:09,180 Có tất cả các loại điều chúng ta có thể làm trên Internet. 965 00:54:09,180 --> 00:54:12,670 HTTP chỉ là một trong những ứng dụng. 966 00:54:12,670 --> 00:54:17,210 Vì vậy, trên đầu trang của HTTP là trên đỉnh của cái gì khác 967 00:54:17,210 --> 00:54:21,750 mà chúng tôi không đề cập đến tên, bạn có thể đã nghe nói về theo tên, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Vì vậy, câu chuyện, chúng tôi chỉ nói là tất cả về 969 00:54:25,160 --> 00:54:28,720 làm thế nào dữ liệu đi từ một điểm đến điểm b. 970 00:54:28,720 --> 00:54:30,950 Và trong trường hợp này, chúng ta đã thấy ở một mức độ rất thấp 971 00:54:30,950 --> 00:54:33,060 router với router với router với router, 972 00:54:33,060 --> 00:54:35,390 cách dữ liệu được thực sự được truyền đi. 973 00:54:35,390 --> 00:54:40,510 Nhưng trên đường đi, nó sẽ gặp phải những trở ngại khác nhau. 974 00:54:40,510 --> 00:54:43,770 Bên cạnh những thiết bị định tuyến, có những điều được gọi là bức tường lửa trên mạng Internet, 975 00:54:43,770 --> 00:54:46,680 và vì vậy dữ liệu, chẳng hạn như chúng tôi đã chỉ truyền 976 00:54:46,680 --> 00:54:49,720 từ tôi để Stanford, tôi Cambridge, 977 00:54:49,720 --> 00:54:54,560 được gửi đến, ở cấp độ này, một cái gì đó được gọi là một địa chỉ IP. 978 00:54:54,560 --> 00:54:57,340 Chúng tôi thấy điều này một chút thời gian trước đây, và một địa chỉ IP 979 00:54:57,340 --> 00:55:02,480 chỉ là một địa chỉ số của w.x.y.z hình thức, 980 00:55:02,480 --> 00:55:08,070 nơi mà mỗi trong số này là giữa, cho hay phải mất, 0 và 255, 981 00:55:08,070 --> 00:55:10,080 mặc dù bạn có thể không hoàn toàn sử dụng tất cả những con số. 982 00:55:10,080 --> 00:55:14,220 Nhưng mỗi của các chủ sở hữu diễn ra là một số từ 0 đến 255. 983 00:55:14,220 --> 00:55:16,820 Vì vậy, một địa chỉ IP những ngày này là 32 bit. 984 00:55:16,820 --> 00:55:20,780 >> Bây giờ, cung cấp cho chúng tôi địa chỉ IP có thể trên thế giới? 985 00:55:20,780 --> 00:55:24,420 Khoảng 4 tỷ, bởi vì bất cứ lúc nào chúng tôi đang kể trong quyền hạn của 2 986 00:55:24,420 --> 00:55:27,760 tất cả các cách lên đến 32 của một cái gì đó, mà thường cho chúng ta 4 tỷ. 987 00:55:27,760 --> 00:55:30,160 Vì vậy, đó là rất nhiều địa chỉ IP, nhưng bạn có thể đã đọc, 988 00:55:30,160 --> 00:55:32,410 bây giờ bạn có thể nhận thấy trên báo chí phổ biến, 989 00:55:32,410 --> 00:55:36,020 một sự thúc đẩy hướng tới một phiên bản mới của IP được gọi là IPv6. 990 00:55:36,020 --> 00:55:38,290 Ngay bây giờ, chúng tôi đang sử dụng phiên bản 4. 991 00:55:38,290 --> 00:55:41,060 Có thật sự không phải là một phiên bản 5, chúng tôi chỉ nhảy ngay đến 6. 992 00:55:41,060 --> 00:55:46,760 Phiên bản 6 sẽ sử dụng 128 bit cho địa chỉ IP, mà là sợ rất lớn. 993 00:55:46,760 --> 00:55:49,430 Chúng ta không nên chạy ra ngoài trong một thời gian bây giờ, 994 00:55:49,430 --> 00:55:52,980 nhưng chúng tôi đã bắt đầu để chạy phiên bản 4 địa chỉ IP, 995 00:55:52,980 --> 00:55:56,110 bởi vì tất cả chúng ta không chỉ có những thứ như máy tính xách tay và máy tính để bàn, 996 00:55:56,110 --> 00:55:58,700 rất nhiều người trong chúng ta có điện thoại, rất nhiều người trong chúng ta có các thiết bị khác 997 00:55:58,700 --> 00:56:01,600 như TiVo và như thế có địa chỉ IP. 998 00:56:01,600 --> 00:56:03,720 Harvard chính nó có hàng chục ngàn máy tính. 999 00:56:03,720 --> 00:56:07,970 Vì vậy, thế giới đang thực sự chạy ra khỏi địa chỉ IP, ít nhất là của mẫu đơn này. 1000 00:56:07,970 --> 00:56:10,340 Vì vậy, trong vài năm tới, bạn sẽ thấy các địa chỉ 1001 00:56:10,340 --> 00:56:12,870 trên máy tính của bạn có thể từ từ thay đổi 1002 00:56:12,870 --> 00:56:16,740 như các công ty nhiều hơn và nhiều hơn nữa và các trường đại học bắt đầu để hỗ trợ các phiên bản mới hơn. 1003 00:56:16,740 --> 00:56:22,770 Tuy nhiên, một địa chỉ IP là không đủ cho một máy tính để yêu cầu dữ liệu từ máy tính b. 1004 00:56:22,770 --> 00:56:24,950 Bởi vì máy tính b có thể là một máy chủ, 1005 00:56:24,950 --> 00:56:27,600 và một máy chủ, như tôi đã đề cập trước đó, có thể làm chùm thứ. 1006 00:56:27,600 --> 00:56:29,940 Nó có thể lưu trữ các trang web, nó có thể là một máy chủ email, 1007 00:56:29,940 --> 00:56:32,310 nó có thể là một máy chủ Skype, nó có thể là một cuộc trò chuyện G máy chủ. 1008 00:56:32,310 --> 00:56:35,870 >> Tất cả những dịch vụ khác nhau có thể được cung cấp trên một máy chủ 1009 00:56:35,870 --> 00:56:38,330 có thể tất cả, vật lý, trên cùng một máy. 1010 00:56:38,330 --> 00:56:40,380 Vì vậy, ngoài các địa chỉ IP, 1011 00:56:40,380 --> 00:56:43,250 trên thế giới có những điều được gọi là các cảng trên Internet. 1012 00:56:43,250 --> 00:56:47,830 Cổng chỉ là một số, do đó, có một số duy nhất cho HTTP. 1013 00:56:47,830 --> 00:56:50,280 Số của nó là 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP cũng sử dụng số 443, nhưng cụ thể hơn, cho HTTPS mã hóa. 1015 00:56:55,870 --> 00:57:00,030 Bất cứ khi nào bạn thấy s, cho an toàn, đó là sử dụng một số khác nhau. 1016 00:57:00,030 --> 00:57:06,580 Có những con số khác, như 25, được sử dụng cho một cái gì đó gọi là SMTP, nếu không được biết đến như email. 1017 00:57:06,580 --> 00:57:09,620 Có một cái gì đó gọi là 22 cho SSH, 1018 00:57:09,620 --> 00:57:11,850 và có một bó toàn bộ các cảng khác ra khỏi đó. 1019 00:57:11,850 --> 00:57:14,460 Bây giờ, con người chúng ta hiếm khi nhìn thấy những con số này. 1020 00:57:14,460 --> 00:57:21,970 Tuy nhiên, khi bạn gõ vào một địa chỉ như http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 trình duyệt đang bí mật chèn 80, bởi vì bạn đang sử dụng HTTP. 1022 00:57:26,560 --> 00:57:30,630 Nếu bạn, thay vào đó, HTTPS loại, nó bí mật chèn 443. 1023 00:57:30,630 --> 00:57:35,180 Và chúng ta có thể thấy điều này bằng tay nếu tôi kéo lên một Brower 1024 00:57:35,180 --> 00:57:41,850 và đi đến http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Do đó một cách rõ ràng với lý do không chỉ là tên của trang web 1026 00:57:44,550 --> 00:57:47,650 nhưng cổng mà tôi muốn nói chuyện với, và nhấn Enter. 1027 00:57:47,650 --> 00:57:50,170 Chú ý nó biến mất, bởi vì trình duyệt giả định, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, tôi thậm chí không bận tâm cho thấy cho bạn. 1029 00:57:53,360 --> 00:57:56,400 Nhưng lý do cho điều này là rằng nếu tôi thực sự muốn gửi cho ai đó một email, 1030 00:57:56,400 --> 00:58:02,340 Tôi sẽ thực sự được gửi cho họ trên cổng 25, đó là SMTP. 1031 00:58:02,340 --> 00:58:04,890 Một chút của một sự đơn giản hóa, nhưng một số bạn có bạn bè 1032 00:58:04,890 --> 00:58:09,290 những người thực sự làm việc tại Facebook, và họ, tương tự như vậy, có máy chủ nhận email. 1033 00:58:09,290 --> 00:58:12,610 >> Bất cứ lúc nào bạn gửi một email, gmail làm cho bạn 1034 00:58:12,610 --> 00:58:14,960 hoặc Outlook hoặc bất cứ chương trình bạn sử dụng, 1035 00:58:14,960 --> 00:58:19,270 nó là loại bí mật chèn con số đó là tốt, 25, trong trường hợp đó. 1036 00:58:19,270 --> 00:58:24,490 Đó là sự kết hợp của địa chỉ IP và số nhận dạng duy nhất 1037 00:58:24,490 --> 00:58:29,190 một máy tính trên mạng Internet và dịch vụ cụ thể trên máy tính đó. 1038 00:58:29,190 --> 00:58:33,460 Bây giờ, tất nhiên, hầu hết chúng ta đã có lẽ không bao giờ gõ tay một địa chỉ IP. 1039 00:58:33,460 --> 00:58:37,340 Có thể bạn có trong thiết bị, nhưng trong thế giới thực, không quá nhiều. 1040 00:58:37,340 --> 00:58:42,750 Tại sao chúng ta không gõ địa chỉ IP vào trình duyệt? 1041 00:58:42,750 --> 00:58:45,860 Nó sẽ làm việc, trên thực tế, chúng ta có thể thấy điều này, hãy để tôi chỉ cho bạn 1042 00:58:45,860 --> 00:58:50,000 một lệnh khác mà nên làm việc bất cứ nơi nào trên khuôn viên của Đại học Harvard trên máy Mac hoặc máy PC. 1043 00:58:50,000 --> 00:58:53,970 Có lệnh này được gọi là nslookup, tra cứu tên máy chủ. 1044 00:58:53,970 --> 00:58:59,960 Nếu tôi nhìn lên www.cnn.com, nó quay ra mà CNN có - oh, thú vị. 1045 00:58:59,960 --> 00:59:03,180 CNN đã bắt đầu sử dụng các dịch vụ của Amazon web. 1046 00:59:03,180 --> 00:59:06,380 Bạn có thể biết điện toán đám mây, một trong những cầu thủ lớn trong điện toán đám mây của Amazon. 1047 00:59:06,380 --> 00:59:10,240 Những gì tôi đã làm được, tôi nói, 'Hãy cho tôi địa chỉ của máy chủ web của CNN, 1048 00:59:10,240 --> 00:59:14,090 nhưng nó quay ra rằng máy chủ web của CNN được quản lý bởi Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon web dịch vụ, điều này cho thấy. 1050 00:59:16,030 --> 00:59:19,680 Và địa chỉ của máy chủ đó là ở đây. 1051 00:59:19,680 --> 00:59:22,350 Vì vậy, tôi không chắc chắn nếu điều này sẽ làm việc, bởi vì họ không được sử dụng để sử dụng Amazon. 1052 00:59:22,350 --> 00:59:32,830 Nhưng chúng ta hãy thử này; http://, địa chỉ IP, nhập, và - 1053 00:59:32,830 --> 00:59:35,690 là nó đi làm à? 1054 00:59:35,690 --> 00:59:39,280 Vâng. Nó được đi làm việc. Internet là siêu chậm ngày hôm nay. 1055 00:59:39,280 --> 00:59:43,680 Tuy nhiên, trong một thời điểm, bạn sẽ thấy một số câu chuyện tin tức. 1056 00:59:43,680 --> 00:59:48,360 Hiện chúng tôi đi. Bank of America bị kiện. Được rồi. 1057 00:59:48,360 --> 00:59:54,000 >> Điều này là bởi vì địa chỉ IP này chỉ xảy ra đồng nghĩa với www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Tất nhiên, nó sẽ là khủng khiếp tiếp thị nói, ghé thăm chúng tôi trên web tại 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Bạn không bao giờ muốn nhớ. Vì vậy, ngay cả những ngày này bạn có thể nhớ lại những điều 1060 01:00:02,370 --> 01:00:07,210 như 1-800-COLLECT hoặc mnemonics thế giới đã đưa ra các số điện thoại. 1061 01:00:07,210 --> 01:00:09,540 Trong đó, trước khi điện thoại di động, khá khó khăn để nhớ 1062 01:00:09,540 --> 01:00:11,800 cho đến khi bạn có thể chỉ cần gõ nó và quên nó. 1063 01:00:11,800 --> 01:00:15,730 Vì vậy, các trang web, cũng có những quy ước tên và địa chỉ IP, 1064 01:00:15,730 --> 01:00:17,770 và có những điều này ra có được gọi là máy chủ DNS, 1065 01:00:17,770 --> 01:00:23,870 hệ thống tên miền máy chủ, dịch địa chỉ IP thành tên và ngược lại. 1066 01:00:23,870 --> 01:00:26,340 Vì vậy, đó là những gì đang xảy ra bên dưới mui xe. 1067 01:00:26,340 --> 01:00:29,540 Cuối cùng, chúng tôi có giao thức TCP / IP, giao thức này rất thấp cấp 1068 01:00:29,540 --> 01:00:32,570 rằng, thực sự, chỉ cần nhận được 0 và 1 qua mạng Internet, 1069 01:00:32,570 --> 01:00:36,030 và nó làm như vậy bằng cách đặt chúng vào một phong bì ảo, 1070 01:00:36,030 --> 01:00:38,820 nếu bạn sẽ, và viết trên bên ngoài của phong bì 1071 01:00:38,820 --> 01:00:43,930 địa chỉ IP của đích đến, cũng như cổng số số 1072 01:00:43,930 --> 01:00:47,520 của các dịch vụ trên đó điểm đến mà nó muốn nói chuyện với. 1073 01:00:47,520 --> 01:00:51,060 Trong khi đó, trên phong bì cũng có một cái gì đó được biết đến như là một địa chỉ trả lại, 1074 01:00:51,060 --> 01:00:55,600 đó là địa chỉ IP của bạn, để khi CNN được một gói thông tin từ bạn, 1075 01:00:55,600 --> 01:00:58,710 mở phong bì ảo này, thấy rằng bạn muốn trang chủ, 1076 01:00:58,710 --> 01:01:04,630 nó biết từ phần người gửi phong bì ảo mà để gửi trở lại HTML. 1077 01:01:04,630 --> 01:01:07,470 Vì vậy, chúng ta hãy có một cái nhìn chi tiết hơn một chút. 1078 01:01:07,470 --> 01:01:11,370 Này là từ một công ty được gọi là Ericson, từ một vài năm trở lại. 1079 01:01:11,370 --> 01:01:14,780 Và họ lấy một số quyền tự do với Internet như thế nào thực sự hoạt động, 1080 01:01:14,780 --> 01:01:18,920 nhưng nó vẽ nên một hình ảnh trực quan hơn so với phấn chỉ ở đây. 1081 01:01:18,920 --> 01:01:26,690 Vì vậy, tôi cung cấp cho bạn "A Bit của Internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Người kể chuyện lần đầu tiên trong lịch sử, 1083 01:02:29,840 --> 01:02:35,260 con người và máy móc đang làm việc với nhau, thực hiện một giấc mơ. 1084 01:02:35,260 --> 01:02:38,910 Một lực lượng thống nhất biết không có ranh giới địa lý. 1085 01:02:38,910 --> 01:02:43,230 Nếu không có liên quan đến chủng tộc, tín ngưỡng, màu hoặc. 1086 01:02:43,230 --> 01:02:47,770 Một kỷ nguyên mới, nơi giao tiếp thật sự mang mọi người lại với nhau. 1087 01:02:47,770 --> 01:02:50,070 Đây là 1088 01:02:50,070 --> 01:02:54,980 Bình minh của mạng Internet. 1089 01:02:54,980 --> 01:03:04,640 Bạn muốn biết nó hoạt động như thế nào? Click vào đây để bắt đầu cuộc hành trình của bạn vào Net. 1090 01:03:04,640 --> 01:03:07,890 Bây giờ, chính xác những gì xảy ra khi bạn nhấp vào liên kết đó? 1091 01:03:07,890 --> 01:03:10,150 Bạn bắt đầu một dòng chảy của thông tin. 1092 01:03:10,150 --> 01:03:13,310 Thông tin này đi vào phòng thư tín cá nhân của riêng bạn 1093 01:03:13,310 --> 01:03:18,500 Ông gói IP, nhãn, và gửi nó trên đường. 1094 01:03:18,500 --> 01:03:20,960 Mỗi gói tin được giới hạn trong kích thước của nó. 1095 01:03:20,960 --> 01:03:23,880 Phòng thư phải quyết định làm thế nào để phân chia các thông tin 1096 01:03:23,880 --> 01:03:26,070 và làm thế nào để gói nó. 1097 01:03:26,070 --> 01:03:29,550 Bây giờ, gói cần một nhãn hiệu có chứa thông tin quan trọng 1098 01:03:29,550 --> 01:03:35,570 chẳng hạn như địa chỉ người gửi, địa chỉ người nhận, và loại của gói tin nó là. 1099 01:03:51,700 --> 01:03:54,980 Bởi vì điều này gói tin cụ thể được đi ra ngoài lên mạng Internet, 1100 01:03:54,980 --> 01:03:57,720 nó cũng có được một địa chỉ cho máy chủ proxy, 1101 01:03:57,720 --> 01:04:01,520 trong đó có một chức năng đặc biệt, như chúng ta sẽ thấy sau này. 1102 01:04:01,520 --> 01:04:06,650 Gói tin được tung ra mạng lưới khu vực địa phương của bạn, hoặc mạng LAN. 1103 01:04:06,650 --> 01:04:10,160 Mạng này được sử dụng để kết nối tất cả các máy tính địa phương ' 1104 01:04:10,160 --> 01:04:15,900 router, máy in, Etcetera, trao đổi thông tin trong các bức tường vật chất của tòa nhà. 1105 01:04:15,900 --> 01:04:20,290 LAN là một nơi khá không kiểm soát được, và, không may, 1106 01:04:20,290 --> 01:04:23,950 tai nạn có thể xảy ra. 1107 01:04:31,190 --> 01:04:34,710 Đường cao tốc của mạng LAN được đóng gói với tất cả các loại thông tin. 1108 01:04:34,710 --> 01:04:38,900 Đây là những gói tin IP, Novell gói, AppleTalk gói. 1109 01:04:38,900 --> 01:04:41,270 Họ đang đi ngược lại giao thông, như thường lệ. 1110 01:04:41,270 --> 01:04:44,260 Các bộ định tuyến địa phương đọc địa chỉ và, nếu cần thiết, 1111 01:04:44,260 --> 01:04:48,520 nâng các gói tin trên một mạng khác. 1112 01:04:48,520 --> 01:04:54,270 Ah, các bộ định tuyến. Một biểu tượng của kiểm soát trong một thế giới dường như vô tổ chức. 1113 01:04:54,270 --> 01:05:05,480 [Router lầm bầm và nói chuyện với bản thân] 1114 01:05:05,480 --> 01:05:10,030 >> [Người kể chuyện] Có anh, có hệ thống, không quan tâm, có phương pháp, 1115 01:05:10,030 --> 01:05:14,150 bảo thủ, và đôi khi không khá lên đến tốc độ. 1116 01:05:14,150 --> 01:05:17,680 Nhưng ít nhất ông là chính xác, cho hầu hết các phần. 1117 01:05:32,270 --> 01:05:36,820 Khi các gói tin để các bộ định tuyến, họ làm theo cách của họ vào Internet của công ty 1118 01:05:36,820 --> 01:05:40,830 và người đứng đầu cho việc chuyển đổi router. 1119 01:05:40,830 --> 01:05:46,250 Một chút hiệu quả hơn so với các bộ định tuyến, chuyển đổi router đóng nhanh chóng và lỏng lẻo với các gói tin IP, 1120 01:05:46,250 --> 01:05:48,920 khéo léo định tuyến chúng trên đường đi của họ. 1121 01:05:48,920 --> 01:05:52,130 Một pinball, 'phù thủy' kỹ thuật số nếu bạn sẽ. 1122 01:05:52,130 --> 01:06:04,270 [Router chuyển đổi nói chuyện với chính nó] 1123 01:06:09,830 --> 01:06:12,150 [Người kể chuyện] các gói tin đến nơi của họ, 1124 01:06:12,150 --> 01:06:14,740 họ đang chọn của giao diện mạng, 1125 01:06:14,740 --> 01:06:18,040 sẵn sàng để được gửi đến cấp độ tiếp theo. 1126 01:06:18,040 --> 01:06:21,010 Trong trường hợp này, các proxy. 1127 01:06:21,010 --> 01:06:25,040 Các proxy được sử dụng bởi nhiều công ty như là sắp xếp của một người đàn ông trung 1128 01:06:25,040 --> 01:06:27,630 để giảm bớt tải trên các kết nối Internet 1129 01:06:27,630 --> 01:06:32,240 và vì lý do an ninh, là tốt. 1130 01:06:32,240 --> 01:06:38,750 Như bạn có thể thấy, các gói tin được tất cả các kích cỡ khác nhau tùy thuộc vào nội dung của họ. 1131 01:06:55,210 --> 01:07:01,890 Proxy mở gói dữ liệu và tìm kiếm các địa chỉ trang web hoặc URL. 1132 01:07:01,890 --> 01:07:04,950 Tùy thuộc vào xem địa chỉ đó là có thể chấp nhận được, 1133 01:07:04,950 --> 01:07:08,000 gói tin được gửi trên Internet. 1134 01:07:13,890 --> 01:07:19,630 Tuy nhiên, một số địa chỉ mà không đáp ứng với sự chấp thuận của proxy. 1135 01:07:19,630 --> 01:07:25,680 Đó là để nói, hướng dẫn doanh nghiệp hoặc quản lý. 1136 01:07:25,680 --> 01:07:30,580 Đây là những tóm lược xử lý. 1137 01:07:30,580 --> 01:07:32,410 Chúng tôi sẽ không có điều đó. 1138 01:07:32,410 --> 01:07:36,350 Đối với những người làm cho nó, đó là trên đường một lần nữa. 1139 01:07:46,850 --> 01:07:53,310 >> Tiếp theo, các bức tường lửa. 1140 01:07:53,310 --> 01:07:57,410 Các bức tường lửa của công ty phục vụ hai mục đích. 1141 01:07:57,410 --> 01:08:02,420 Nó ngăn ngừa một số điều khá khó chịu từ Internet vào mạng nội bộ, 1142 01:08:02,420 --> 01:08:10,280 và nó cũng có thể ngăn chặn các thông tin nhạy cảm của công ty khi được gửi lên mạng Internet. 1143 01:08:10,280 --> 01:08:12,980 Sau khi thông qua tường lửa, router chọn lên các gói tin 1144 01:08:12,980 --> 01:08:18,180 và đặt nó vào một con đường hẹp hơn rất nhiều, hoặc băng thông, như chúng ta nói. 1145 01:08:18,180 --> 01:08:23,720 Rõ ràng, con đường không đủ rộng để mất tất cả. 1146 01:08:23,720 --> 01:08:29,319 Bây giờ, bạn có thể tự hỏi điều gì sẽ xảy ra cho tất cả những gói dữ liệu mà không làm cho nó trên đường đi. 1147 01:08:29,319 --> 01:08:32,270 Vâng, khi ông IP không nhận được một sự thừa nhận 1148 01:08:32,270 --> 01:08:35,000 một gói tin đã được nhận trong thời gian do, 1149 01:08:35,000 --> 01:08:39,890 ông chỉ đơn giản là gửi một gói tin thay thế. 1150 01:08:39,890 --> 01:08:44,760 Chúng tôi đã sẵn sàng để bước vào thế giới của Internet. 1151 01:08:44,760 --> 01:08:49,370 Một mạng nhện của các mạng liên kết với nhau trải dài trên toàn bộ thế giới của chúng tôi. 1152 01:08:49,370 --> 01:08:56,050 Ở đây, thiết bị định tuyến và chuyển mạch thiết lập các liên kết giữa các mạng. 1153 01:08:56,050 --> 01:08:59,200 Bây giờ, Net là một môi trường hoàn toàn khác nhau hơn bạn sẽ tìm thấy 1154 01:08:59,200 --> 01:09:01,569 trong các bức tường bảo vệ của mạng LAN của bạn. 1155 01:09:01,569 --> 01:09:04,060 Ra ở đây, đó là miền Tây hoang dã. 1156 01:09:04,060 --> 01:09:06,359 Nhiều không gian, nhiều cơ hội, 1157 01:09:06,359 --> 01:09:09,760 rất nhiều điều để khám phá và những nơi để đi. 1158 01:09:09,760 --> 01:09:12,760 Nhờ kiểm soát rất ít và các quy định, 1159 01:09:12,760 --> 01:09:18,300 những ý tưởng mới tìm thấy đất đai màu mỡ để thúc đẩy các phong bì khả năng của họ. 1160 01:09:18,300 --> 01:09:22,330 Nhưng vì sự tự do này, nguy hiểm nhất định cũng lurk. 1161 01:09:22,330 --> 01:09:27,000 Bạn sẽ không bao giờ biết khi nào bạn sẽ đáp ứng các ping sợ hãi của cái chết, 1162 01:09:27,000 --> 01:09:29,890 một phiên bản đặc biệt của một ping yêu cầu bình thường, 1163 01:09:29,890 --> 01:09:35,720 một số thằng ngốc nghĩ ra để mess up host không nghi ngờ. 1164 01:09:35,720 --> 01:09:39,130 Các đường dẫn các gói tin của chúng tôi có thể được qua vệ tinh, 1165 01:09:39,130 --> 01:09:43,090 đường dây điện thoại, không dây, hoặc cáp thậm chí vượt đại dương. 1166 01:09:43,090 --> 01:09:46,520 Họ không luôn luôn có con đường nhanh nhất hoặc ngắn nhất có thể, 1167 01:09:46,520 --> 01:09:50,290 nhưng họ sẽ nhận được cuối cùng. 1168 01:09:50,290 --> 01:09:55,230 Có lẽ đó là lý do tại sao nó đôi khi được gọi là "The Wait World Wide." 1169 01:09:55,230 --> 01:09:57,980 Nhưng khi tất cả mọi thứ đang làm việc thuận lợi, 1170 01:09:57,980 --> 01:10:03,800 bạn có thể phá vỡ toàn cầu năm lần so với thả của một chiếc mũ, theo nghĩa đen. 1171 01:10:03,800 --> 01:10:08,230 Và tất cả các chi phí của một cuộc gọi địa phương hoặc ít hơn. 1172 01:10:08,230 --> 01:10:15,070 Gần cuối của điểm đến của chúng tôi, chúng tôi sẽ tìm thấy một bức tường lửa khác. 1173 01:10:15,070 --> 01:10:18,420 >> Tùy thuộc vào quan điểm của bạn như là một gói dữ liệu, 1174 01:10:18,420 --> 01:10:23,730 các bức tường lửa có thể là một pháo đài an ninh hay một kẻ thù đáng sợ. 1175 01:10:23,730 --> 01:10:28,530 Tất cả phụ thuộc vào bên bạn và ý định của bạn là gì. 1176 01:10:28,530 --> 01:10:34,990 Các bức tường lửa được thiết kế để chỉ những gói đáp ứng tiêu chí của nó. 1177 01:10:34,990 --> 01:10:39,360 Tường lửa đang hoạt động trên các cổng 80 và 25. 1178 01:10:39,360 --> 01:10:46,630 Mọi nỗ lực để thông qua các cảng khác được đóng cửa để kinh doanh. 1179 01:10:57,660 --> 01:11:03,480 Cổng 25 được sử dụng cho các gói tin mail, 1180 01:11:03,480 --> 01:11:10,720 trong khi cổng 80 là lối vào cho các gói tin từ Internet đến các máy chủ web. 1181 01:11:10,720 --> 01:11:15,080 Bên trong tường lửa, các gói tin được kiểm tra kỹ lưỡng hơn. 1182 01:11:15,080 --> 01:11:17,970 Một số gói dữ liệu làm cho nó một cách dễ dàng thông qua hải quan, 1183 01:11:17,970 --> 01:11:21,420 trong khi những người khác nhìn chỉ là một chút không rõ ràng. 1184 01:11:21,420 --> 01:11:24,060 Bây giờ, nhân viên bức tường lửa không phải là dễ dàng bị lừa, 1185 01:11:24,060 --> 01:11:32,120 như khi ping này của gói tử cố gắng để che giấu chính nó như là một gói ping bình thường. 1186 01:11:32,120 --> 01:11:37,520 [Firewall viên nói chuyện với các gói tin] 1187 01:11:37,520 --> 01:11:40,510 [Người kể chuyện] Đối với những gói may mắn, đủ để làm cho nó xa này, 1188 01:11:40,510 --> 01:11:45,730 cuộc hành trình là hầu như trên. 1189 01:11:45,730 --> 01:11:52,130 Nó chỉ là một dòng lên trên giao diện được đưa lên máy chủ web. 1190 01:11:52,130 --> 01:11:55,440 Ngày nay, một máy chủ web có thể chạy trên nhiều điều, 1191 01:11:55,440 --> 01:11:59,230 từ một máy tính lớn đến một cam web máy tính trên bàn làm việc của bạn. 1192 01:11:59,230 --> 01:12:01,720 Tại sao không phải là của bạn tủ lạnh? 1193 01:12:01,720 --> 01:12:04,870 Với các thiết lập thích hợp, bạn có thể tìm ra nếu bạn có tạo ra 1194 01:12:04,870 --> 01:12:08,390 cho Chicken Cacciatore, hoặc nếu bạn có để đi mua sắm. 1195 01:12:08,390 --> 01:12:11,760 Hãy nhớ rằng, đây là buổi bình minh của Net. 1196 01:12:11,760 --> 01:12:17,310 Hầu như bất cứ điều gì là có thể. 1197 01:12:17,310 --> 01:12:20,440 Từng người một, các gói tin nhận được, 1198 01:12:20,440 --> 01:12:26,320 mở ra, và giải nén. 1199 01:12:26,320 --> 01:12:31,200 Các thông tin mà họ có, có nghĩa là, yêu cầu của bạn để biết thêm thông tin, 1200 01:12:31,200 --> 01:12:34,830 được gửi vào ứng dụng máy chủ web. 1201 01:12:41,540 --> 01:12:47,140 Các gói tin chính nó là tái chế, 1202 01:12:47,140 --> 01:12:57,570 sẵn sàng để được sử dụng một lần nữa, và đầy với thông tin được yêu cầu của bạn, 1203 01:12:57,570 --> 01:13:03,340 giải quyết, và gửi đi trên đường trở lại với bạn. 1204 01:13:03,340 --> 01:13:13,250 Lại qua các bức tường lửa, thiết bị định tuyến, và thông qua Internet. 1205 01:13:13,250 --> 01:13:21,020 Trở lại thông qua tường lửa doanh nghiệp của bạn 1206 01:13:21,020 --> 01:13:24,180 và vào giao diện của bạn, 1207 01:13:24,180 --> 01:13:31,180 sẵn sàng cung cấp trình duyệt web của bạn với thông tin mà bạn đã yêu cầu. 1208 01:13:31,180 --> 01:13:39,840 Đó là, bộ phim này. 1209 01:13:39,840 --> 01:13:43,550 Hài lòng với những nỗ lực của họ, và tin tưởng vào thế giới tốt đẹp hơn, 1210 01:13:43,550 --> 01:13:50,250 các gói dữ liệu đáng tin cậy của chúng tôi đi xe blissfully vào hoàng hôn của một ngày khác, 1211 01:13:50,250 --> 01:13:56,880 biết đầy đủ họ đã phục vụ tốt chủ của họ. 1212 01:13:56,880 --> 01:14:02,560 Bây giờ, không phải là một kết thúc có hậu? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Được rồi, đủ rồi. Chúng ta sẽ thấy bạn vào tuần tới. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]