1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Week 7, Sambungan] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Universiti Harvard] 3 00:00:05,090 --> 00:00:07,780 [Ini adalah CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Semua hak. Selamat Balik. Ini adalah CS50, 5 00:00:09,810 --> 00:00:12,100 dan ini adalah akhir 7 minggu. 6 00:00:12,100 --> 00:00:15,460 Jadi salah satu daripada perkara-perkara ini bodoh sedikit yang berlaku di sekeliling Internet 7 00:00:15,460 --> 00:00:24,080 dan kita slurped, dan ia kini perlu membuat sedikit rasa geeky kepada anda. 8 00:00:24,080 --> 00:00:28,330 Nah, ia adalah funnier kepada lelaki ini daripada ia adalah untuk anda semua. 9 00:00:28,330 --> 00:00:32,619 Bercakap, baik, lelaki, 10 00:00:32,619 --> 00:00:42,550 hari ini adalah hari jadi Nate. 11 00:00:42,550 --> 00:00:46,630 Untuk memberi anda rasa Nate betapa baik dan saya 12 00:00:46,630 --> 00:00:50,140 pada pembangunan web berdasarkan kelas Isnin dan berdasarkan sekarang ini, 13 00:00:50,140 --> 00:00:53,170 Saya fikir saya akan tarik sehingga halaman rumah Nate, jika anda tidak pernah melihat lagi. 14 00:00:53,170 --> 00:00:57,020 Ini HTML di sini ia Nate. 15 00:00:57,020 --> 00:00:59,380 Jadi melihat kod sumber beliau jika anda ingin melihat bagaimana untuk melakukan ini, dan Nate, 16 00:00:59,380 --> 00:01:02,250 jika kita boleh memalukan anda hanya secara ringkas, kakitangan mendapat anda sesuatu yang sedikit 17 00:01:02,250 --> 00:01:06,080 jika anda ingin berkongsi beberapa pencuci mulut dengan beberapa kanak-kanak di dalam kelas di sini. 18 00:01:06,080 --> 00:01:10,150 Jika anda ingin datang atas ke bawah. 19 00:01:10,150 --> 00:01:14,350 Anda semua memuji dan sangat bagus, tetapi tiada siapa yang duduk di mana-mana sahaja berhampiran Nate, 20 00:01:14,350 --> 00:01:17,560 untuk sebab-sebab tertentu, dalam zon belakang itu. 21 00:01:17,560 --> 00:01:24,020 Jadi mungkin anda boleh mencari beberapa orang untuk menikmati ini dengan. 22 00:01:24,020 --> 00:01:33,380 Happy Birthday, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Hellos tambahan: Kami menunjukkan klip beberapa daripada pelajar CS50x kami. 24 00:01:37,660 --> 00:01:39,710 Jika anda mahu untuk melihat siapa lagi ia adalah di dunia 25 00:01:39,710 --> 00:01:41,850 yang berikut bersama-sama, anda boleh pergi ke URL ini, 26 00:01:41,850 --> 00:01:45,780 di mana Yusuf, salah satu TFS kami, telah meletakkan bersama montaj pelbagai 27 00:01:45,780 --> 00:01:50,290 semua orang yang telah mengemukakan video ini, di kalangan mereka Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Dan jika anda menatal ini, ia adalah benar-benar agak inspirasi 29 00:01:53,010 --> 00:01:56,890 untuk melihat kepelbagaian negara-negara dan bandar-bandar dari mana orang yang memuji. 30 00:01:56,890 --> 00:02:00,830 Jadi jika anda ingin mengambil melihat pada itu, yang akan melalui akhir semester. 31 00:02:00,830 --> 00:02:05,370 Hari ini kita terus melihat kami di Web, pengaturcaraan web, HTML dan sebagainya, 32 00:02:05,370 --> 00:02:08,280 dan kita juga telah makan tengah hari yang akan datang Jumaat ini 33 00:02:08,280 --> 00:02:11,360 jika anda ingin, dan khususnya, telah tidak berbuat demikian sebelum. 34 00:02:11,360 --> 00:02:13,630 Tema Jumaat ini akan menjadi hari jadi Nate, 35 00:02:13,630 --> 00:02:15,700 jadi jika anda ingin mempunyai makan tengah hari ulang tahun dengan Nate 36 00:02:15,700 --> 00:02:17,500 dan lain-lain, beberapa rakan-rakan kami dari Industri, 37 00:02:17,500 --> 00:02:19,300 sila menuju ke URL yang sana. 38 00:02:19,300 --> 00:02:22,510 Angkasa, seperti biasa, adalah terhad. Juga, jika anda terlupa, 39 00:02:22,510 --> 00:02:26,460 menyedari bahawa minggu depan adalah tarikh akhir untuk masalah menetapkan memburu penyapu jalan 4, 40 00:02:26,460 --> 00:02:30,070 mana selepas pulih semua mereka JPEG dari card.raw, 41 00:02:30,070 --> 00:02:32,880 anda dan rakan-rakan seksyen anda, jika anda mahu, boleh cuba gambar 42 00:02:32,880 --> 00:02:36,100 sebagai banyak saintis komputer dari kad memori yang mungkin, 43 00:02:36,100 --> 00:02:39,070 dan anda dan seksyen anda kemudian akan memenangi hadiah yang hebat. 44 00:02:39,070 --> 00:02:44,470 Merujuk kembali kepada spesifikasi pset 4 sebagai apa yang mengemukakan dan apabila. 45 00:02:44,470 --> 00:02:47,650 Juga, jika anda ingin mempunyai perbuatan anda diabadikan 46 00:02:47,650 --> 00:02:51,400 di laman web dan kursus sejarah pakaian, 47 00:02:51,400 --> 00:02:54,010 tahu bahawa anda dialu-alukan sekarang untuk mula mengemukakan reka bentuk 48 00:02:54,010 --> 00:02:57,180 bagi tahun ini T-shirt dan sweatshirts dan sebagainya. 49 00:02:57,180 --> 00:02:59,200 Kami akan melakukan yang terbaik untuk memasukkan seberapa banyak yang kita boleh, 50 00:02:59,200 --> 00:03:01,440 tetapi kita akan mempunyai beberapa ahli kajian kakitangan semua reka bentuk 51 00:03:01,440 --> 00:03:04,180 untuk memastikan mereka selaras dengan spesifikasi, 52 00:03:04,180 --> 00:03:07,500 dan kita kemudian memilih umumnya segelintir daripada mereka hendaklah dipamerkan. 53 00:03:07,500 --> 00:03:10,620 Jadi jika anda adalah jenis reka bentuk, hanya tahu bahawa keperluan 54 00:03:10,620 --> 00:03:14,030 untuk grafik PNG, sekurang-kurangnya 200 DPI, 55 00:03:14,030 --> 00:03:16,520 mereka tidak harus lebih daripada 4000 x 4000 piksel, 56 00:03:16,520 --> 00:03:19,010 dan tidak lebih daripada 10 MB, tetapi anda dialu-alukan untuk menggunakan perkara-perkara seperti 57 00:03:19,010 --> 00:03:22,430 Photoshop atau GIMP atau pelbagai program grafik, 58 00:03:22,430 --> 00:03:24,590 apa sahaja yang anda mempunyai sekurang-pelupusan anda. 59 00:03:24,590 --> 00:03:28,280 >> Juga di ufuk adalah projek akhir. Projek akhir benar-benar adalah kemuncak 50, 60 00:03:28,280 --> 00:03:30,560 mana semua tugasan dalam kursus, 61 00:03:30,560 --> 00:03:33,170 ia adalah peluang anda benar-benar melakukan perkara yang anda sendiri. 62 00:03:33,170 --> 00:03:35,280 Dan yang boleh semata-mata untuk melakukan sesuatu untuk suka-suka, 63 00:03:35,280 --> 00:03:38,160 ia boleh menyelesaikan beberapa masalah yang mendesak kumpulan pelajar anda mempunyai, 64 00:03:38,160 --> 00:03:40,980 untuk beberapa laman web baru, beberapa mekanisme koleksi baru untuk data. 65 00:03:40,980 --> 00:03:43,420 Ia boleh menjadi satu aplikasi mudah alih untuk Android, IOS. 66 00:03:43,420 --> 00:03:46,030 Betul, langit adalah had, dan lebih beberapa minggu akan datang, 67 00:03:46,030 --> 00:03:50,900 seperti yang kita peralihan dari C ke bahasa-bahasa peringkat tinggi seperti PHP dan JavaScript, 68 00:03:50,900 --> 00:03:55,150 anda akan mendapati diri anda semakin berjinak dengan beberapa teknik sebenar dunia, 69 00:03:55,150 --> 00:03:57,800 beberapa alat dunia sebenar, dan untuk menambah bahawa, 70 00:03:57,800 --> 00:04:00,170 tahu bahawa kursus ini mempunyai sejarah seminar, 71 00:04:00,170 --> 00:04:02,880 di mana dalam tempoh beberapa minggu akan datang, beberapa tenaga pengajar 72 00:04:02,880 --> 00:04:06,160 dan rakan-rakan kita dari di kampus akan menawarkan seminar pilihan 73 00:04:06,160 --> 00:04:08,540 yang pergi di atas dan di luar apa yang biasanya dilakukan dalam seksyen 74 00:04:08,540 --> 00:04:11,090 untuk memperkenalkan anda kepada perkara-perkara seperti pengaturcaraan Android, 75 00:04:11,090 --> 00:04:13,450 untuk memperkenalkan anda kepada perkara-perkara seperti IOS pengaturcaraan 76 00:04:13,450 --> 00:04:15,950 atau lebih maju teknik pembangunan web. 77 00:04:15,950 --> 00:04:17,970 Ada sejarah keseluruhan ini sudah talian. 78 00:04:17,970 --> 00:04:25,000 Jika anda pergi ke cs50.net/seminars, kita telah melakukan ini untuk agak beberapa tahun, 79 00:04:25,000 --> 00:04:28,740 dan anda akan melihat bahawa diarkibkan di sini dengan PDF dan video dan sebagainya 80 00:04:28,740 --> 00:04:33,090 adalah video beberapa dozen seminar. 81 00:04:33,090 --> 00:04:37,380 Tahun lepas, misalnya, kita mempunyai satu seminar pada Acing temuduga teknikal anda, 82 00:04:37,380 --> 00:04:40,980 jika anda sebenarnya mencari untuk pergi dan melakukan persembahan magang atau sepenuh masa. 83 00:04:40,980 --> 00:04:43,450 Windows mudah alih pembangunan, pembangunan Android, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, membangun untuk BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Betul, anda dialu-alukan untuk melihat di mana-mana seminar ini mengikut keselesaan anda. 86 00:04:52,610 --> 00:04:57,080 Dan kita akan memegang beberapa orang yang baru semester ini, serta. 87 00:04:57,080 --> 00:04:59,020 >> Jadi apakah hadapan dengan projek akhir? 88 00:04:59,020 --> 00:05:01,090 Well, pertama, walaupun tarikh ini adalah agak berlaku, 89 00:05:01,090 --> 00:05:06,460 ini adalah benar-benar hanya satu peluang untuk mula berfikir tentang projek akhir agak realistik. 90 00:05:06,460 --> 00:05:10,550 Kita tahu hanya permulaan beberapa daripada apa yang kita masih akan meliputi dalam perjalanan, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP dan sebagainya, tetapi anda semua biasa dengan web, 92 00:05:13,470 --> 00:05:16,270 dan saya bias perbualan ini ke arah Web hanya kerana 93 00:05:16,270 --> 00:05:18,380 kebanyakan orang akhirnya melakukan berasaskan web projek akhir, 94 00:05:18,380 --> 00:05:20,260 tetapi itu tidak bermakna yang diperlukan. 95 00:05:20,260 --> 00:05:22,260 Menggunakan C adalah halus, Objektif C, Jawa, 96 00:05:22,260 --> 00:05:25,350 mana-mana bahasa lain yang anda mungkin tahu atau tidak mahu tahu agak halus. 97 00:05:25,350 --> 00:05:29,370 Tetapi untuk mendapatkan jus yang mengalir pada mulanya, kita akan mengharapkan penyerahan sebuah preproposal 98 00:05:29,370 --> 00:05:33,520 yang, setiap PDF di laman web, yang kini berada di cs50.net, 99 00:05:33,520 --> 00:05:36,080 dan di sebelah kiri atas anda akan melihat projek akhir 100 00:05:36,080 --> 00:05:38,920 adalah spesifikasi untuk projek akhir, 101 00:05:38,920 --> 00:05:41,470 dan di sana adalah butiran pada preproposal dan sebagainya. 102 00:05:41,470 --> 00:05:44,760 Ia cukup banyak bisul ke e-mel kepada rakan-rakan pengajaran anda 103 00:05:44,760 --> 00:05:48,450 hanya untuk menyerang sehingga perbualan dengan dia atau dia tentang apa yang anda fikirkan. 104 00:05:48,450 --> 00:05:52,510 Di On projects.cs50.net adalah repositori idea daripada orang di kampus 105 00:05:52,510 --> 00:05:54,480 jika anda sedang bergelut untuk tampil dengan beberapa idea, 106 00:05:54,480 --> 00:06:01,140 dan manual.cs50.net/APIs adalah repositori pautan kepada API. 107 00:06:01,140 --> 00:06:06,710 >> Apa, walaupun, adalah API? 108 00:06:06,710 --> 00:06:09,790 Apakah API? Saya telah berkata ia sekurang-kurangnya dua kali, 109 00:06:09,790 --> 00:06:12,640 mengikut transkrip beberapa minggu yang lalu. 110 00:06:12,640 --> 00:06:17,050 Apa itu? [Pelajar, difahami] 111 00:06:17,050 --> 00:06:19,340 >> Okay, baik. Jadi sesuatu pengaturcaraan antara muka. 112 00:06:19,340 --> 00:06:22,710 Permohonan antara muka pengaturcaraan, dan ini boleh mengambil beberapa bentuk, 113 00:06:22,710 --> 00:06:25,850 tetapi apakah ini benar-benar bisul turun kepada adalah kod 114 00:06:25,850 --> 00:06:29,660 bahawa orang lain hs bertulis atau data yang orang lain telah mengumpul 115 00:06:29,660 --> 00:06:33,670 yang disediakan kepada anda dalam beberapa cara perancangan. 116 00:06:33,670 --> 00:06:36,630 Anda boleh menulis kod dalam C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 apa bahasa pilihan anda biasanya adalah, 118 00:06:38,760 --> 00:06:42,240 dan anda entah bagaimana boleh membina fungsi orang lain 119 00:06:42,240 --> 00:06:44,440 atau orang lain set data. 120 00:06:44,440 --> 00:06:47,210 Sebagai contoh, jika saya pergi ke pautan ini di sini, 121 00:06:47,210 --> 00:06:50,750 dan anda akan melihat sepasang pautan pada halaman berikutnya 122 00:06:50,750 --> 00:06:56,093 di mana kita mempunyai API sendiri CS50, yang sangat Harvard-centric, dan kemudian pihak ketiga API. 123 00:06:56,930 --> 00:06:59,300 Antara API pihak ketiga adalah perkara yang benar-benar berguna 124 00:06:59,300 --> 00:07:01,780 seperti yang mampu untuk menghantar orang untuk SMS, 125 00:07:01,780 --> 00:07:04,690 dapat menerima mesej teks SMS dari orang-orang. 126 00:07:04,690 --> 00:07:08,160 Dan perkara-perkara seperti itu yang anda mungkin tidak mempunyai idea bagaimana untuk melaksanakan sendiri, 127 00:07:08,160 --> 00:07:10,440 tetapi terima kasih kepada perkhidmatan, beberapa, bebas dan beberapa komersial 128 00:07:10,440 --> 00:07:14,000 anda boleh membina di atas mereka dan melakukan sesuatu yang menarik minat anda. 129 00:07:14,000 --> 00:07:16,990 Antara API CS50 adalah perkara-perkara kampus-centric seperti 130 00:07:16,990 --> 00:07:21,480 Kursus Harvard, tenaga, acara, makanan, peta, berita, tweet dan sendiri Shuttleboy, 131 00:07:21,480 --> 00:07:23,940 dan ini adalah API yang melihat sesuatu yang sedikit seperti ini. 132 00:07:23,940 --> 00:07:26,990 >> Biar saya tarik sehingga API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Jika anda pernah ke laman web HUD, anda mungkin telah berada di sana 134 00:07:30,620 --> 00:07:35,410 hanya melihat apa untuk makan malam atau untuk melihat apa jam untuk beberapa d-dewan. 135 00:07:35,410 --> 00:07:38,000 Nah, ia tidak terutamanya mudah untuk mengemudi, 136 00:07:38,000 --> 00:07:41,100 dan sebagainya apa yang kita tidak sedikit masa lalu kita menulis perisian, 137 00:07:41,100 --> 00:07:47,270 ia berlaku dalam PHP, yang sebenarnya skrin scrapes keseluruhan laman web HUD. 138 00:07:47,270 --> 00:07:51,400 Untuk menyaring sesuatu mengikis bermaksud untuk menulis program dalam bahasa seperti PHP 139 00:07:51,400 --> 00:07:55,270 yang berpura-pura untuk menjadi pelayar, walaupun anda mungkin menghadapi pada command prompt, 140 00:07:55,270 --> 00:07:58,180 yang berpura-pura menjadi pelayar, menghubungkan ke laman web, 141 00:07:58,180 --> 00:08:01,480 memuat turun HTML, bahasa di mana ia ditulis, 142 00:08:01,480 --> 00:08:04,300 dan kemudian membacanya, atau lebih khusus, ia mem-parsing 143 00:08:04,300 --> 00:08:06,140 atas ke bawah, kiri ke kanan. 144 00:08:06,140 --> 00:08:08,870 Dan apa yang kita lakukan ialah kita menulis kod kami dalam apa-apa cara yang 145 00:08:08,870 --> 00:08:12,910 bila-bila masa kita melihat sesuatu dalam HTML itu yang kelihatan seperti sesuatu pada menu, 146 00:08:12,910 --> 00:08:16,470 seperti hamburger, kami kemudiannya akan mengimport ke dalam pangkalan data kami sendiri. 147 00:08:16,470 --> 00:08:20,410 Dan bila-bila masa yang kita lihat kandungan nutrisi, kita akan import ke dalam pangkalan data kami sendiri. 148 00:08:20,410 --> 00:08:23,090 Dan apa yang kita lakukan adalah memanfaatkan hakikat bahawa laman web HUD, 149 00:08:23,090 --> 00:08:27,280 walaupun ia mungkin sedikit cabaran bagi kita manusia untuk mengemudi 150 00:08:27,280 --> 00:08:32,559 di bawah hood, semua HTML yang dihasilkan oleh program komputer mereka sendiri. 151 00:08:32,559 --> 00:08:35,159 Jadi semua HTML mereka, walaupun ia mungkin kelihatan kemas, 152 00:08:35,159 --> 00:08:38,026 seperti laman web yang paling bawah hood ia mengikuti corak. 153 00:08:38,260 --> 00:08:40,799 Jadi kita hanya menghabiskan beberapa jam memikirkan corak yang 154 00:08:40,799 --> 00:08:44,240 supaya pada akhirnya, kita buang semua HTML berantakan, 155 00:08:44,240 --> 00:08:47,340 semua estetika menghadap berani dan italik dan sebagainya, 156 00:08:47,340 --> 00:08:52,350 dan apa yang kita kemudiannya mampu lakukan ialah mendedahkan bahawa data yang sama. 157 00:08:52,350 --> 00:08:54,870 Sebagai contoh, dalam cara ini. 158 00:08:54,870 --> 00:08:56,840 Jadi kita, menurut untuk dokumentasi sini, 159 00:08:56,840 --> 00:08:59,190 telah memaklumkan kepada dunia bahawa jika anda meminta URL 160 00:08:59,190 --> 00:09:03,310 yang kelihatan seperti ini, food.cs50.net / sesuatu, 161 00:09:03,310 --> 00:09:07,220 dan anda menyediakan parameter tertentu, yang kita akan bercakap tentang hari ini, 162 00:09:07,220 --> 00:09:11,780 seperti tarikh akhir masa, permulaan tarikh waktu makan, dan sebagainya, 163 00:09:11,780 --> 00:09:14,090 apa yang pelayan kami akan kembali kepada anda, sebagai contoh, 164 00:09:14,090 --> 00:09:18,740 fail CSV, koma separted nilai seperti fail Excel, 165 00:09:18,740 --> 00:09:23,140 mengandungi segala-galanya untuk sarapan pagi pada tarikh ini tertentu pada bulan Mac tahun lepas 166 00:09:23,140 --> 00:09:25,450 apabila saya berlaku untuk menulis dokumentasi ini. 167 00:09:25,450 --> 00:09:27,870 >> Bagi mereka yang biasa, CSV tidak adalah format fail sahaja. 168 00:09:27,870 --> 00:09:30,610 Ada satu lagi format yang lebih versatil 169 00:09:30,610 --> 00:09:32,670 dipanggil JSON, JavaScript Objek Tatatanda. 170 00:09:32,670 --> 00:09:34,770 Data boleh kembali dalam format tersebut. 171 00:09:34,770 --> 00:09:38,110 Jadi Fleet sini ialah bahawa sama ada anda menyelam ke dalam API ini 172 00:09:38,110 --> 00:09:41,170 atau mana-mana lain CS50 atau apa-apa di luar sana di Internet, 173 00:09:41,170 --> 00:09:45,560 atau tidak sama sekali, sedar bahawa dunia telah semakin mula menyeragamkan 174 00:09:45,560 --> 00:09:47,670 bagaimana mesin bergaul. 175 00:09:47,670 --> 00:09:50,660 Kami menggunakan standard format data seperti CSV atau JSON. 176 00:09:50,660 --> 00:09:54,320 Dan apakah ini bermakna bagi anda ialah anda boleh menulis bahagian yang menarik program 177 00:09:54,320 --> 00:09:56,580 yang membolehkan pengguna anda mencari menu makan-dewan, 178 00:09:56,580 --> 00:10:00,010 yang membolehkan mereka mewujudkan senarai kegemaran yang membolehkan mereka mendapat isyarat teks 179 00:10:00,010 --> 00:10:02,480 apabila makanan kegemaran mereka adalah kira-kira untuk berkhidmat dalam beberapa d-dewan 180 00:10:02,480 --> 00:10:07,090 dengan menggunakan set data orang lain dan bangunan di atas API mereka. 181 00:10:07,090 --> 00:10:13,600 Jadi lebih pada itu dalam bentuk seminar dan dokumentasi bahawa anda mempunyai di sini dalam talian. 182 00:10:13,600 --> 00:10:16,450 Jadi orang-orang, maka, adalah API. 183 00:10:16,450 --> 00:10:18,900 >> Itu membawa kita kembali ke HTML. Recap cepat. 184 00:10:18,900 --> 00:10:22,920 Apakah HTML? 185 00:10:22,920 --> 00:10:25,000 [Pelajar, difahami] Baik >>. Hiperteks Markup Language. 186 00:10:25,000 --> 00:10:31,300 Orang lain, apa yang Hypertext Markup Language? 187 00:10:31,300 --> 00:10:37,340 Hiperteks Markup Language. 188 00:10:37,340 --> 00:10:40,330 Okay. Jadi HTML, Hiperteks. 189 00:10:40,330 --> 00:10:43,100 Hiperteks hanya merujuk kepada Web, bagi sebahagian besar. 190 00:10:43,100 --> 00:10:45,730 Markup bermakna bahawa ia bukan sebenarnya bahasa pengaturcaraan, HTML. 191 00:10:45,730 --> 00:10:48,120 Ia bukan satu bahasa yang anda boleh meluahkan logik masuk 192 00:10:48,120 --> 00:10:50,710 Ia tidak mempunyai gelung. Ia tidak mempunyai syarat. 193 00:10:50,710 --> 00:10:52,820 Ia tidak mempunyai fungsi, per se. 194 00:10:52,820 --> 00:10:56,680 Sebaliknya, ia mempunyai perkara-perkara yang dipanggil tag, atau lebih tepat, unsur-unsur. 195 00:10:56,680 --> 00:10:59,970 Dan mereka mempunyai unsur-unsur tag permulaan dan tag akhir, 196 00:10:59,970 --> 00:11:04,300 atau tag terbuka dan tags tertutup, dan apa yang mereka tags umumnya bermakna untuk pelayar adalah, 197 00:11:04,300 --> 00:11:09,270 mula melakukan sesuatu dan kemudian berhenti melakukan sesuatu, walaupun terdapat pengecualian itu. 198 00:11:09,270 --> 00:11:12,480 Kadang-kadang ia hanya 'meletakkan satu baris di sini,' misalnya. 199 00:11:12,480 --> 00:11:15,150 Dan kita melihat contoh bahawa hari lain, antara menghadap berani, 200 00:11:15,150 --> 00:11:17,430 garis rehat, dan kemudian beberapa tag lain. 201 00:11:17,430 --> 00:11:19,880 Jadi HTML adalah bahasa di mana laman web ditulis. 202 00:11:19,880 --> 00:11:23,760 Jadi jika saya pergi ke sesuatu seperti Google.com 203 00:11:23,760 --> 00:11:26,180 dan tarik sehingga hanya halaman rumah mereka, 204 00:11:26,180 --> 00:11:29,690 ingat bahawa jika anda klik kanan atau mengawal klik 205 00:11:29,690 --> 00:11:32,140 dan melihat sumber halaman pandangan, biasanya 206 00:11:32,140 --> 00:11:34,420 ia adalah satu keadaan huru-hara lengkap hari ini di bawah hood, tetapi kerana 207 00:11:34,420 --> 00:11:38,170 komputer tidak mengambil berat tentang ruang putih, jadi ini tidak perlu kelihatan cantik. 208 00:11:38,170 --> 00:11:40,240 Tetapi jika kita mengezum masuk pada bahagian itu, 209 00:11:40,240 --> 00:11:43,460 melihat bahawa Chrome, hanya untuk menjadi baik, warna berkod perkara. 210 00:11:43,460 --> 00:11:48,460 Sesungguhnya, ini adalah tag yang sangat pertama yang kita lihat dalam laman web. 211 00:11:48,460 --> 00:11:51,750 Dan sekali lagi, HTML 5, versi terbaru bahasa ini, 212 00:11:51,750 --> 00:11:53,830 tidak mempunyai perkara ini pada mulanya, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 tetapi itu hanya jenis standard yang mengatakan, hei dunia, di sini datang fail HTML dalam 5 versi. 215 00:12:03,580 --> 00:12:08,920 >> Bahagian yang menarik bermula di sini. Jadi 00:12:11,640 elemen HTML kali terakhir. 217 00:12:11,640 --> 00:12:14,630 Apakah kedua-dua kanak-kanak utama? 218 00:12:14,630 --> 00:12:17,170 Kepala dan badan, seperti seorang lelaki dengan tatu seketika lalu. 219 00:12:17,170 --> 00:12:19,640 Terdapat dua bahagian laman web, kepala dan badan, 220 00:12:19,640 --> 00:12:23,750 dan ingat, maka, bahawa mungkin laman web yang paling mudah kita boleh membuat kelihatan seperti ini. 221 00:12:23,750 --> 00:12:27,460 Dan saya telah dilekukan ia hanya untuk menjadi jenis kemas dan rapi dengan kod saya, 222 00:12:27,460 --> 00:12:30,710 tetapi apa yang benar-benar penting di sini ialah bahawa terdapat beberapa hierarki ini. 223 00:12:30,710 --> 00:12:35,420 Dan mana-mana tag yang saya telah dibuka saya telah ditutup dan bahawa Oleh itu, terdapat simetri ini 224 00:12:35,420 --> 00:12:38,300 kepada semua markup bahawa saya telah mencipta. 225 00:12:38,300 --> 00:12:41,620 Jadi kali terakhir kita mula menulis laman web pada komputer riba saya sendiri. 226 00:12:41,620 --> 00:12:45,470 Saya membuka Teks edit, saya selamatkan fail sebagai hello.html, 227 00:12:45,470 --> 00:12:50,190 Saya kemudian mengheret fail ke browser saya, dan Voilà, saya mempunyai halaman di Internet. 228 00:12:50,190 --> 00:12:53,110 Kini, ia bukan agak kes, saya mempunyai halaman pada cakera keras saya, 229 00:12:53,110 --> 00:12:58,260 dan saya benar-benar satu-satunya orang di dunia yang akan melihat bahawa laman web dalam pelayar. 230 00:12:58,260 --> 00:13:00,670 >> Jadi hari ini, kita memperkenalkan pelayan web sebenar 231 00:13:00,670 --> 00:13:02,750 dan tanggapan sebenarnya menghidangkan kandungan di Internet 232 00:13:02,750 --> 00:13:04,970 dan bagaimana ini semua bermula untuk dimuatkan bersama-sama. 233 00:13:04,970 --> 00:13:08,350 Jadi ia ternyata bahawa semua masa ini dalam perkakas CS50 234 00:13:08,350 --> 00:13:11,590 anda mempunyai web server pada komputer anda. 235 00:13:11,590 --> 00:13:16,560 Kami telah, dalam keadilan, hanya digunakan untuk gedit, untuk dilafaz, untuk GDB dan sebagainya, 236 00:13:16,560 --> 00:13:21,000 tetapi juga dipasang oleh kami untuk anda dalam perkakas adalah pelayan web, 237 00:13:21,000 --> 00:13:23,940 dan bahawa pelayan web yang berlaku menjadi percuma, sumber terbuka, 238 00:13:23,940 --> 00:13:26,580 salah satu yang paling popular di dunia, dipanggil Apache. 239 00:13:26,580 --> 00:13:31,340 Namanya lebih teknikal adalah httpd, d untuk daemon sini, 240 00:13:31,340 --> 00:13:34,110 yang merupakan perkataan teknikal bagi pelayan. 241 00:13:34,110 --> 00:13:38,690 Jadi dipasang dalam perkakas CS50 adalah pelayan web, dan apakah itu bermakna? 242 00:13:38,690 --> 00:13:43,740 Nah, pelayan web, konsep, beberapa pelayan di Internet yang menyajikan kandungan web. 243 00:13:43,740 --> 00:13:48,630 Apabila diminta untuk fail, ia memuntahkannya keluar HTML yang dikomposisikan fail tersebut, dan Voilà. 244 00:13:48,630 --> 00:13:51,370 Anda lihat halaman rumah beberapa laman web. 245 00:13:51,370 --> 00:13:54,970 Tetapi pelayan adalah lebih tepat lagi, sekeping perisian. 246 00:13:54,970 --> 00:13:59,190 Ia tidak perlu untuk menjadi pada mesin fizikal, ia hanya mempunyai untuk menjadi sekeping perisian berjalan. 247 00:13:59,190 --> 00:14:01,980 Jadi perkakas CS50, sudah tentu, adalah suatu perisian 248 00:14:01,980 --> 00:14:04,270 walaupun ia adalah jenis berpura-pura untuk menjadi mesin. 249 00:14:04,270 --> 00:14:06,960 Ia berpura-pura menjadi dalam komputer komputer, 250 00:14:06,960 --> 00:14:11,140 tetapi itu hanya bermakna bahawa perkakas pasti boleh menjalankan perkara-perkara seperti pelayan web. 251 00:14:11,140 --> 00:14:13,260 Ia sebenarnya boleh menjalankan pelayan e-mel. 252 00:14:13,260 --> 00:14:16,440 Kita boleh menjalankan pelayan mesej segera di dalam perkakas jika kita mahu, 253 00:14:16,440 --> 00:14:20,780 dan sesungguhnya kami tidak menjalankan satu jenis lain pelayan, yang dikenali sebagai pelayan pangkalan data, mySQL. 254 00:14:20,780 --> 00:14:22,620 Tetapi lebih pada minggu yang seterusnya. 255 00:14:22,620 --> 00:14:26,400 Ini bermakna bahawa saya sebenarnya boleh melawat laman web 256 00:14:26,400 --> 00:14:30,480 di dalam perkakas saya dengan menggunakan pelayar di dalam perkakas 257 00:14:30,480 --> 00:14:33,600 atau walaupun pada laptop saya sendiri, Mac atau PC saya saya. 258 00:14:33,600 --> 00:14:37,780 Jadi apa maknanya? Ia ternyata bahawa bila-bila masa anda menjalankan komputer Linux, 259 00:14:37,780 --> 00:14:40,910 Nama samaran adalah "tuan rumah tempatan." 260 00:14:40,910 --> 00:14:43,370 Ia tidak mempunyai nama domain kerana kita tidak membeli nama domain 261 00:14:43,370 --> 00:14:46,590 untuk sesuatu seperti perkakas, jadi nama lalai adalah tuan rumah tempatan. 262 00:14:46,590 --> 00:14:50,470 >> Tetapi untuk mendapatkan perkakas untuk memulakan berkhidmat sehingga laman web, 263 00:14:50,470 --> 00:14:52,270 kita perlu untuk mewujudkan mereka terlebih dahulu. 264 00:14:52,270 --> 00:14:55,200 Jadi mari kita berbuat demikian. Biar saya pergi ke tetingkap terminal di sini 265 00:14:55,200 --> 00:14:58,190 dan notis bahawa saya di John tipikal Harvard prompt. 266 00:14:58,190 --> 00:15:01,670 Biar saya pergi ke hadapan dan taip ls, dan kita akan melihat beberapa perkara yang biasa dari semester ini, 267 00:15:01,670 --> 00:15:04,580 desktop, muat turun, dropbox dan sebagainya, 268 00:15:04,580 --> 00:15:07,540 tetapi sekarang kita mula mengubah perhatian kita kepada pasangan. 269 00:15:07,540 --> 00:15:11,530 Pada pelayan web Linux banyak terdapat folder ini dipanggil awam html, 270 00:15:11,530 --> 00:15:15,630 tetapi kita akan melangkau bahawa satu untuk sekarang dan tumpuan pada ini vhosts,. 271 00:15:15,630 --> 00:15:18,850 Sesiapa tahu apa vhost adalah? 272 00:15:18,850 --> 00:15:21,110 Hanya istilah bodoh untuk menjadi tuan rumah maya, 273 00:15:21,110 --> 00:15:23,850 dan apa ini bermakna adalah bahawa pada pelayan biasa 274 00:15:23,850 --> 00:15:26,810 anda sebenarnya boleh menjadi tuan rumah beberapa laman web. 275 00:15:26,810 --> 00:15:31,500 Anda boleh membeli nama domain seperti foo.com, dan anda boleh menjadi tuan rumah pada pelayan. 276 00:15:31,500 --> 00:15:36,100 Tetapi anda juga boleh membeli bar.com dan tuan rumah pada pelayan yang sama. 277 00:15:36,100 --> 00:15:40,250 Sebab itu, pelayar bijak untuk memaklumkan kepada pelayan 278 00:15:40,250 --> 00:15:45,880 apabila pengguna meminta beberapa laman web, apakah nama domain pengguna mahu laman utama untuk. 279 00:15:45,880 --> 00:15:48,760 Jadi apa yang baik tentang perkara ini ialah anda tidak perlu satu pelayan fizikal 280 00:15:48,760 --> 00:15:52,040 atau satu CS50 perkakas untuk setiap laman web anda mungkin mahu mencipta. 281 00:15:52,040 --> 00:15:55,520 Anda boleh menggunakan server yang sama dan membangunkan seratus laman web yang berbeza. 282 00:15:55,520 --> 00:15:58,770 Dan sesungguhnya, jika anda adalah seseorang yang cuba untuk memulakan sebuah laman web, 283 00:15:58,770 --> 00:16:02,100 sama ada untuk suka-suka atau untuk perniagaan, biasanya anda akan pergi keluar di Internet, 284 00:16:02,100 --> 00:16:04,650 dan anda akan membayar seseorang 10 dolar sebulan, seratus ringgit sebulan 285 00:16:04,650 --> 00:16:06,670 untuk menjadi tuan rumah laman web anda untuk anda. 286 00:16:06,670 --> 00:16:11,060 Dan cara yang berfungsi adalah mereka mengenakan orang lain 287 00:16:11,060 --> 00:16:13,160 sepuluh dolar sebulan atau seratus dolar sebulan 288 00:16:13,160 --> 00:16:17,200 untuk menjadi tuan rumah laman web orang lain pada pelayan yang sama mereka. 289 00:16:17,200 --> 00:16:20,740 Sebab mereka boleh berbuat demikian adalah kerana ciri ini dipanggil bhosts, 290 00:16:20,740 --> 00:16:23,790 tetapi lanjut mengenai bahawa apabila ia datang masa untuk projek akhir. 291 00:16:23,790 --> 00:16:28,360 >> Untuk sekarang, mari kita hanya menyelam di sana. Jadi vhosts cd, dan jika saya menaip ls sekarang, 292 00:16:28,360 --> 00:16:31,370 melihat bahawa terdapat satu folder di sana dipanggil tuan rumah tempatan. 293 00:16:31,370 --> 00:16:33,440 Ini kerana, secara lalai, perkakas angka 294 00:16:33,440 --> 00:16:36,160 anda pernah akan menjalankan satu laman web pada perkakas. 295 00:16:36,160 --> 00:16:38,970 Ini tidak benar-benar dunia sebenar, ia tidak pelayan web dunia sebenar. 296 00:16:38,970 --> 00:16:41,690 Jadi biarlah saya pergi ke host tempatan, dan sekarang kita akan melihat di sana 297 00:16:41,690 --> 00:16:44,290 satu direktori lepas dipanggil HTML. 298 00:16:44,290 --> 00:16:47,080 Jadi ia sedikit mendalam, hierarki, tetapi jika dan apabila 299 00:16:47,080 --> 00:16:51,230 anda membuat keputusan untuk mula membangunkan laman web berganda lebih n bulan depan atau tahun, 300 00:16:51,230 --> 00:16:54,370 ini jenis struktur folder cenderung untuk membantu. 301 00:16:54,370 --> 00:16:56,560 Sekarang mari kita pergi ke dalam HTML kerana saya hanya lakukan, 302 00:16:56,560 --> 00:16:59,010 ls jenis, dan apa-apa yang ada. 303 00:16:59,010 --> 00:17:01,390 Jadi sekarang mari kita pergi ke hadapan dan melakukan ini. Izinkan saya membuka Chrome 304 00:17:01,390 --> 00:17:07,300 di dalam perkakas, dan biarlah saya pergi ke http://localhost. 305 00:17:07,300 --> 00:17:14,440 Jadi benar-benar nama untuk perkakas saya, masukkan, dan saya mendapat indeks /. 306 00:17:14,440 --> 00:17:18,290 Ini tidak benar-benar menunjukkan saya apa-apa kepentingan, 307 00:17:18,290 --> 00:17:23,400 tetapi ternyata bahawa apa yang kita lihat adalah bahawa folder, HTML. 308 00:17:23,400 --> 00:17:25,770 Tiada apa-apa di dalam folder itu sekarang, 309 00:17:25,770 --> 00:17:28,750 jadi sebaliknya, apa yang saya akan perlu lakukan ialah mula-mula mencipta fail. 310 00:17:28,750 --> 00:17:33,530 Buat fail HTML seperti yang kita lakukan pada hari Isnin, tetapi kali ini meletakkan ia di dalam perkakas. 311 00:17:33,530 --> 00:17:36,830 Bagi anda yang cuba untuk mengikuti bersama-sama dengan komputer riba kini, 312 00:17:36,830 --> 00:17:42,040 membiarkan saya melakukan satu selain yang akan dilindungi dalam pset berasaskan web, 313 00:17:42,040 --> 00:17:44,280 tetapi untuk mendapatkan ini untuk bekerja untuk kali pertama, 314 00:17:44,280 --> 00:17:49,830 anda akan perlu untuk menjalankan perintah ini: sudo perkhidmatan httpd permulaan. 315 00:17:49,830 --> 00:17:52,670 Dan ini, sekali lagi, akan diulangi dalam pset terakhir, 316 00:17:52,670 --> 00:17:55,460 tetapi jika anda bermain bersama-sama di rumah sekarang, pelayan web 317 00:17:55,460 --> 00:17:58,660 dimatikan dalam perkakas, dan itulah supaya ia tidak sap sehingga RAM 318 00:17:58,660 --> 00:18:01,960 dan memori selama 7 minggu di luar semester apabila kita tidak memerlukannya. 319 00:18:01,960 --> 00:18:05,190 Jadi, anda perlu untuk menjalankan arahan ini sekali, dan anda akan mendapat output seperti itu. 320 00:18:05,190 --> 00:18:07,920 Kemudian anda akan dapat untuk bermain bersama-sama di sini. 321 00:18:07,920 --> 00:18:10,330 Sekarang mari kita kembali ke dalam folder ini. 322 00:18:10,330 --> 00:18:12,770 Folder ini adalah kosong, jadi biarlah saya mula membuat fail, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Semua hak. Gedit terbuka, seperti biasa. Biarlah saya melakukan DOCTYPE, html, 325 00:18:20,930 --> 00:18:25,270 html, izinkan saya mendapatkan lebih awal daripada diri sendiri dan mula menutup tag saya terlebih dahulu. 326 00:18:25,270 --> 00:18:28,380 Sekarang saya mempunyai kepala. Izinkan saya pergi ke hadapan dan menutup kepala, 327 00:18:28,380 --> 00:18:32,450 izinkan saya kini melakukan tajuk halaman, hello dunia seperti masa lalu, 328 00:18:32,450 --> 00:18:34,790 Tajuk rapat, sekarang mari saya melakukan satu badan. 329 00:18:34,790 --> 00:18:38,130 Di sini saya akan mengatakan hello, dunia dengan beberapa exclams 330 00:18:38,130 --> 00:18:40,550 untuk membuat jelas bahawa ia adalah rentetan yang berbeza. 331 00:18:40,550 --> 00:18:45,800 Tutup badan, dan sekarang mari saya pergi ke hadapan dan memfailkan menjimatkan. 332 00:18:45,800 --> 00:18:48,470 Biar saya pergi kembali ke tetingkap terminal saya, dan jika saya taip ls, 333 00:18:48,470 --> 00:18:51,830 Saya perlu, mungkin, lihat hello.html. Dan saya lakukan. 334 00:18:51,830 --> 00:18:55,070 Jadi sekarang mari kita kembali kepada pelayar saya, klik reload, 335 00:18:55,070 --> 00:18:58,930 dan anda boleh lihat kita memang di dalam folder ini HTML. 336 00:18:58,930 --> 00:19:02,310 Saya tidak melihat laman web lagi, ini adalah Apache, pelayan web, 337 00:19:02,310 --> 00:19:04,670 hanya menunjukkan saya kandungan senarai direktori ini. 338 00:19:04,670 --> 00:19:08,260 Sama seperti Mac OS atau Windows biasanya akan lakukan pada pemacu keras anda sendiri tempatan. 339 00:19:08,260 --> 00:19:12,730 Jadi jika saya mahu melihat laman web ini, saya boleh klik pautan ini sedikit di sini, hello.html, 340 00:19:12,730 --> 00:19:15,160 dan sesungguhnya, itulah apa yang saya ada ketika itu menjangkakan untuk melihat. 341 00:19:15,160 --> 00:19:18,080 Kini, sekali lagi, ini tidak adalah URL bahawa mana-mana anda boleh melawat sekarang, 342 00:19:18,080 --> 00:19:20,760 kerana untuk anda, tuan rumah tempatan, jika anda mempunyai komputer riba di sini, 343 00:19:20,760 --> 00:19:23,050 ia merujuk kepada contoh anda sendiri perkakas. 344 00:19:23,050 --> 00:19:25,900 Ini adalah perkakas peribadi saya, 345 00:19:25,900 --> 00:19:29,080 tetapi ini adalah jenis bodoh bagi saya untuk mempunyai, mempunyai 346 00:19:29,080 --> 00:19:34,480 pengguna seperti saya klik pada hello.html untuk benar-benar melihat kandungan halaman ini. 347 00:19:34,480 --> 00:19:42,590 Ia ternyata bahawa pelayan web seperti Apache membiarkan anda mempunyai fail lalai untuk mana-mana pelayan web. 348 00:19:42,590 --> 00:19:44,640 Notis di sini kita mempunyai hello.html. 349 00:19:44,640 --> 00:19:48,410 Apakah arahan dalam Linux untuk menamakan semula fail? 350 00:19:48,410 --> 00:19:50,870 >> MV, untuk bergerak. Jadi biarlah saya berbuat demikian, 351 00:19:50,870 --> 00:19:55,870 dan biarkan saya menamakan semula hello.html untuk index.html. 352 00:19:55,870 --> 00:19:58,610 Biar saya taip ls untuk mengesahkan ia kini telah dinamakan semula. 353 00:19:58,610 --> 00:20:03,250 Sekarang ini akan - jika saya kembali kepada tuan rumah tempatan, 354 00:20:03,250 --> 00:20:06,710 notis sekarang bahawa saya secara automatik melihat bahawa laman web. 355 00:20:06,710 --> 00:20:11,740 Ini adalah sama dengan index.html sebenarnya melakukan saya / 356 00:20:11,740 --> 00:20:14,740 tetapi perkara yang baik sekarang adalah bahawa pelayan web yang memikirkan, 357 00:20:14,740 --> 00:20:18,830 oh, jika anda mempunyai fail yang, oleh konvensyen manusia, dipanggil index.html, 358 00:20:18,830 --> 00:20:21,200 izinkan saya menunjukkan pengguna bahawa fail secara lalai 359 00:20:21,200 --> 00:20:25,290 bukannya beberapa penyenaraian direktori bodoh yang tidak pada semua mesra pengguna. 360 00:20:25,290 --> 00:20:28,900 Malah, kebanyakan laman web yang anda lawati di Internet tidak mempunyai senarai fail untuk klik pada, 361 00:20:28,900 --> 00:20:34,040 mereka hanya menunjukkan kepada anda kandungan. Jadi itulah bagaimana kita boleh berbuat demikian, index.html. 362 00:20:34,040 --> 00:20:37,000 Jadi ini adalah semua yang menyeronokkan dan baik, tetapi ini adalah satu laman web yang agak mudah. 363 00:20:37,000 --> 00:20:41,640 Biar saya pergi ke hadapan dan membuka index.html dalam vhosts saya, 364 00:20:41,640 --> 00:20:47,620 host tempatan, direktori html, dan mari menambah sesuatu kepentingan yang lebih besar. 365 00:20:47,620 --> 00:20:56,120 Jadi ada dunia hello; mari kita bukannya mengatakan 'Ini adalah CS50, Harvard College. . '. 366 00:20:56,120 --> 00:21:00,000 Jadi permulaan perihal katalog kursus sejenis sana. 367 00:21:00,000 --> 00:21:03,780 Sekarang, jika saya reload, saya harus melihat ini dalam halaman rumah saya. 368 00:21:03,780 --> 00:21:09,560 Okay, dan saya melihat bahawa, tetapi menganggap bahawa saya mahu kini menyenaraikan beberapa lagi kandungan dalam fail ini. 369 00:21:09,560 --> 00:21:15,160 Saya boleh pergi ke sini dan berkata, tiada prasyarat, 370 00:21:15,160 --> 00:21:18,740 walaupun sesetengah daripada anda mungkin suka, 'Ha ha ha, tiada prasyarat.' 371 00:21:18,740 --> 00:21:24,320 Tetapi secara rasmi. Jadi tambah nilai, dan kini kita mempunyai quirk yang sama bahawa kita melihat masa lalu. 372 00:21:24,320 --> 00:21:26,240 Tetapi mengapa itu? Ia adalah menetapkan mudah. 373 00:21:26,240 --> 00:21:31,440 Mengapa halaman ini rosak? 374 00:21:31,440 --> 00:21:34,170 [Pelajar, difahami] >> Ya, kita telah diselesaikan sebelum ini 375 00:21:34,170 --> 00:21:37,440 dengan jelas memberitahu pelayar 'meletakkan baris di sini.' 376 00:21:37,440 --> 00:21:39,440 Dan itu kerana, sekali lagi, pelayar yang hanya akan lakukan 377 00:21:39,440 --> 00:21:42,610 jelas apa bahasa markup memberitahu ia lakukan, 378 00:21:42,610 --> 00:21:45,730 jadi walaupun anda mungkin telah melanda masukkan sekali atau dua kali atau bahkan sepuluh kali, 379 00:21:45,730 --> 00:21:49,870 ia akan menggabungkan semua ke dalam ruang tunggal, hanya mengikut konvensyen. 380 00:21:49,870 --> 00:21:52,770 Jadi, jika anda benar-benar mahu baris, anda perlu menggunakan tag br, 381 00:21:52,770 --> 00:21:56,840 dan kini notis, seperti hari Isnin, saya meletakkan dalam / tag ini, 382 00:21:56,840 --> 00:22:00,090 hanya kerana ini hanya tidak berasa hak 383 00:22:00,090 --> 00:22:02,990 untuk memulakan baris kemudian berhenti ia dengan apa-apa di antara. 384 00:22:02,990 --> 00:22:07,740 >> Jadi konvensyen dalam HTML adalah untuk membuka dan menutup tag serentak. 385 00:22:07,740 --> 00:22:11,050 Sebagai mengetepikan, anda akan melihat banyak laman web dalam buku-buku yang tidak berbuat demikian. 386 00:22:11,050 --> 00:22:14,240 Ia adalah betul untuk melakukan atau tidak melakukan, tetapi kita akan berhujah 387 00:22:14,240 --> 00:22:17,430 bahawa reka bentuk bijak dan stylistically, ini hanya lebih baik 388 00:22:17,430 --> 00:22:20,540 kerana tag setiap kedua-dua dibuka dan ditutup entah bagaimana. 389 00:22:20,540 --> 00:22:23,370 Jadi sekarang mari kita menyimpan dan menambah nilai. Kembali ke penyemak imbas, okay. 390 00:22:23,370 --> 00:22:26,680 Sekarang kita sedang membuat beberapa kemajuan, tetapi ia tidak agak cukup. 391 00:22:26,680 --> 00:22:33,210 Mari kita pergi ke hadapan dan mula menaip dalam badan beberapa lagi teks. 392 00:22:33,210 --> 00:22:40,610 Jadi katakan, 'A cepat coklat musang melompat atas anjing malas.' 393 00:22:40,610 --> 00:22:42,700 Dan sekarang mari saya hanya salin dan tampal ini beberapa kali 394 00:22:42,700 --> 00:22:45,040 supaya kita mempunyai satu perenggan teks. 395 00:22:45,040 --> 00:22:47,780 Biar saya kembali di sini. Jadi ia tidak melihat yang sangat baik. 396 00:22:47,780 --> 00:22:50,000 Saya mempunyai satu baris, jadi ia adalah okay, 397 00:22:50,000 --> 00:22:52,140 tetapi sekarang, apabila kita sampai kepada titik yang mempunyai laman web 398 00:22:52,140 --> 00:22:55,640 yang mempunyai banyak kandungan dan bukan hanya satu garisan untuk menunjukkan HTML, 399 00:22:55,640 --> 00:22:58,570 kita boleh mula untuk memikirkan perkara-perkara ini sebagai perenggan sebenar. 400 00:22:58,570 --> 00:23:01,590 Dan kita boleh mula untuk struktur laman web kami sedikit lebih rapi. 401 00:23:01,590 --> 00:23:05,120 Dan sesungguhnya, apa yang saya boleh lakukan ialah pergi di sini di dalam tag badan saya, 402 00:23:05,120 --> 00:23:09,400 dan anda tahu apa, jika 'Ini adalah CS50. . '. benar-benar demarks permulaan perenggan, 403 00:23:09,400 --> 00:23:11,310 baik, mari kita tag seperti itu. 404 00:23:11,310 --> 00:23:13,570 Biar saya inden teks, hanya dengan konvensyen, biarlah saya katakan 405 00:23:13,570 --> 00:23:15,710 bahawa perenggan ini berakhir di sini, 406 00:23:15,710 --> 00:23:18,320 dan kemudian bukannya baris ini, izinkan saya hanya mengatakan 407 00:23:18,320 --> 00:23:23,300 bahawa ini tergolong di sana dan sebagai perenggan baru, 408 00:23:23,300 --> 00:23:27,610 dan saya akan hanya cepat inden dengan hanya clobbering semua barangan ini. 409 00:23:27,610 --> 00:23:30,660 >> Jadi sekarang kita mempunyai perenggan dilekukan di sana, 410 00:23:30,660 --> 00:23:33,510 dan kini markup kita bermula untuk mendapatkan lebih sedikit 411 00:23:33,510 --> 00:23:37,070 semantik konsisten dengan apa yang kita cuba lakukan. 412 00:23:37,070 --> 00:23:40,130 Kami mempunyai perenggan, jadi mari kita memanggilnya perenggan dengan tag p. 413 00:23:40,130 --> 00:23:43,370 Kami mempunyai perenggan kedua, jadi mari kita memanggilnya perenggan dengan tag p. 414 00:23:43,370 --> 00:23:45,850 Dan sekarang, apa pelayar biasanya akan melakukan 415 00:23:45,850 --> 00:23:48,490 adalah sama seperti di dalam buku Bahasa Inggeris atau esei, 416 00:23:48,490 --> 00:23:51,280 di mana anda biasanya melihat beberapa rehat selaras antara perenggan. 417 00:23:51,280 --> 00:23:53,720 Pelayar akan melakukannya untuk anda secara automatik. 418 00:23:53,720 --> 00:23:56,680 Jadi sekarang kita mempunyai dua perenggan dan kita boleh terus ini. 419 00:23:56,680 --> 00:23:58,770 Tetapi, sudah tentu, di Web, apabila anda mempunyai badan teks 420 00:23:58,770 --> 00:24:01,370 ia tidak biasanya hanya gumpalan besar teks. 421 00:24:01,370 --> 00:24:04,040 Terdapat sering hyperlink di sana. 422 00:24:04,040 --> 00:24:07,250 Jadi, jika kita mahu, sebagai contoh, termasuk beberapa pautan di sana, 423 00:24:07,250 --> 00:24:10,760 menganggap apa yang mungkin kepentingan dalam apa jua laman web saya mewujudkan di sini adalah - 424 00:24:10,760 --> 00:24:12,780 izinkan saya pergi ke Google.com, 425 00:24:12,780 --> 00:24:16,540 dan biarkan saya mencari coklat cepat musang. 426 00:24:16,540 --> 00:24:22,150 Pergi ke imej Google, dan, bagaimana pula - ini adalah comel. 427 00:24:22,150 --> 00:24:27,420 Kami akan pergi dengan ini. Jadi di sini kita mempunyai coklat cepat melompat musang atas anjing malas. 428 00:24:27,420 --> 00:24:30,560 Jadi apa yang saya akan lakukan di sini, hanya untuk demi demonstrasi, 429 00:24:30,560 --> 00:24:32,950 menganggap bahawa imej ini adalah pada pelayan saya, 430 00:24:32,950 --> 00:24:35,240 dan saya telah mencipta imej ini. 431 00:24:35,240 --> 00:24:38,720 Apa yang saya hanya tidak telah klik kanan atau mengawal klik pada imej, 432 00:24:38,720 --> 00:24:42,370 dan apa yang anda akan lihat dalam kebanyakan pelayar adalah menu sedikit - 433 00:24:42,370 --> 00:24:48,800 berhenti berbuat demikian - menu kecil yang membolehkan anda untuk memilih salinan lokasi pautan atau URL salinan. 434 00:24:48,800 --> 00:24:52,750 Jadi biarlah saya kembali sekarang untuk HTML saya, dan menganggap bahawa saya mahu 435 00:24:52,750 --> 00:24:56,420 hyperlink ini ke laman web lain. 436 00:24:56,420 --> 00:24:58,640 >> Apa adalah tag yang dipanggil untuk itu? 437 00:24:58,640 --> 00:25:01,650 [Pelajar, difahami] >> Yeah. Jadi a href untuk rujukan hyper. 438 00:25:01,650 --> 00:25:04,660 Biar saya pergi ke hadapan dan tampal bahawa masuk 439 00:25:04,660 --> 00:25:07,290 Ia adalah URL yang agak panjang, jadi biarlah saya zum keluar. 440 00:25:07,290 --> 00:25:09,950 Kurungan Tutup, jadi sekarang perasan saya cara di sini 441 00:25:09,950 --> 00:25:11,960 kerana URL yang berlaku agak lama. 442 00:25:11,960 --> 00:25:15,180 Biar saya tatal ke sini untuk akhir cepat coklat musang, 443 00:25:15,180 --> 00:25:18,830 dan kemudian membiarkan saya menutup tag ini dengan 00:25:21,280 di mana saya hanya ditutup nama tag. 445 00:25:21,280 --> 00:25:24,470 Sekarang mari saya pergi ke hadapan dan menyimpan fail itu, muatkan semula halaman web, 446 00:25:24,470 --> 00:25:27,880 dan kini, secara lalai, itu akan digariskan dalam warna biru untuk saya, 447 00:25:27,880 --> 00:25:31,980 tetapi sesungguhnya, saya kini boleh klik pada ini dan Voilà. Ada imej itu. 448 00:25:31,980 --> 00:25:33,990 Dan ia tidak perlu menjadi imej, ia boleh dikaitkan 449 00:25:33,990 --> 00:25:36,270 kepada beberapa laman web lain rawak di Internet. 450 00:25:36,270 --> 00:25:39,610 Saya boleh lakukan ini, misalnya, dengan CS50, jadi satu contoh terakhir di sini. 451 00:25:39,610 --> 00:25:42,730 'Ini adalah CS50' mungkin masuk akal untuk pergi, href = 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net, quote rapat, sauh rapat. 453 00:25:50,340 --> 00:25:53,990 Jadi sekarang bahawa URL yang lebih pendek, dan kali ini kita tidak akan menghubungkan kepada sesuatu imej. 454 00:25:53,990 --> 00:25:57,880 Kami sebaliknya akan link ke laman lain. 455 00:25:57,880 --> 00:25:59,840 Sekarang, kita mempunyai imej di sini. 456 00:25:59,840 --> 00:26:02,970 Saya berasa seperti kita boleh melakukan sedikit lebih baik daripada hanya menghubungkan kepada sesuatu imej. 457 00:26:02,970 --> 00:26:05,760 Apakah jika kita mahu sebenarnya menjelmakan ia dalam laman web kita sendiri? 458 00:26:05,760 --> 00:26:09,290 >> Nah, apa yang boleh saya lakukan di sini adalah, bukannya pautan ke grafik ini, 459 00:26:09,290 --> 00:26:14,690 izinkan saya bukannya memotong URL, dan kita akan menyingkirkan hiperlink itu dan membersihkan ini. 460 00:26:14,690 --> 00:26:17,190 Dan kita akan pergi ke sini dan menyingkirkan ini. 461 00:26:17,190 --> 00:26:20,910 Kita tidak benar-benar memerlukan semua ayat sekarang, jadi biarlah saya memendekkan halaman sedikit. 462 00:26:20,910 --> 00:26:24,530 Dan kemudian turun di sini biarlah saya pergi ke hadapan dalam perenggan baru, 463 00:26:24,530 --> 00:26:30,100 katakan saya tidak mahu teks sekarang, saya mahu imej yang sumber yang akan menjadi URL yang. 464 00:26:30,100 --> 00:26:33,100 Imej, seperti baris, sama ada ada atau ia tidak. 465 00:26:33,100 --> 00:26:35,900 Jadi biarlah saya segera menutup tag yang. 466 00:26:35,900 --> 00:26:39,440 Biar saya pergi ke hadapan sekarang dan menutup perenggan bahawa saya di dalam, 467 00:26:39,440 --> 00:26:43,010 dan jika semua berjalan lancar dengan hello, dunia, jika saya reload sekarang, 468 00:26:43,010 --> 00:26:45,520 Saya, sememangnya, lihat betul-betul di dalam laman web saya sendiri imej. 469 00:26:45,520 --> 00:26:48,570 Jadi sekarang kita mempunyai imej, tag tag sauh dan sebagainya, 470 00:26:48,570 --> 00:26:51,320 dan untuk mengukur baik, biarlah saya melakukan satu perkara lain yang sering diabaikan 471 00:26:51,320 --> 00:26:55,900 di laman web hari ini: Mari kita menyediakan beberapa teks deskriptif untuk imej ini 472 00:26:55,900 --> 00:26:58,090 bagi orang-orang yang berada pada peranti mudah alih 473 00:26:58,090 --> 00:27:00,640 dan oleh itu tidak mungkin dapat memuat turun imej ini sangat cepat, 474 00:27:00,640 --> 00:27:03,310 bagi orang-orang yang buta dan mungkin tidak dapat untuk melihat imej 475 00:27:03,310 --> 00:27:06,480 tetapi mereka mungkin mempunyai pembaca skrin yang boleh memberitahu mereka apa imej ini adalah. 476 00:27:06,480 --> 00:27:09,100 Dan untuk berbuat demikian, terdapat atribut lain untuk tag imej 477 00:27:09,100 --> 00:27:11,290 alt dipanggil, untuk teks alternatif. 478 00:27:11,290 --> 00:27:14,650 Dan apa yang boleh saya lakukan di sini berkata, 'Ini adalah coklat cepat musang.' 479 00:27:14,650 --> 00:27:17,650 Jadi bahawa bahkan jika manusia tidak boleh melihat imej pada skrin, 480 00:27:17,650 --> 00:27:20,560 dia sekurang-kurangnya dapat mendengar, seperti dengan sehelai beberapa perisian, 481 00:27:20,560 --> 00:27:23,080 apa yang sebenarnya ada pada skrin. 482 00:27:23,080 --> 00:27:25,040 >> Yang tidak akan berubah estetika halaman, 483 00:27:25,040 --> 00:27:27,640 tetapi ia sudah tentu amalan yang baik untuk pengguna. 484 00:27:27,640 --> 00:27:31,760 Baiklah, mari kita meninggalkan laman web ini dalam bentuk semasa, 485 00:27:31,760 --> 00:27:33,890 tetapi mari kita lihat jika kita tidak boleh memperkenalkan 486 00:27:33,890 --> 00:27:36,210 beberapa pendekatan yang lebih baik untuk menulis laman web ini, 487 00:27:36,210 --> 00:27:39,980 beberapa pelajaran yang akan melayani kita serta halaman kami mendapatkan lebih banyak dan lebih kompleks. 488 00:27:39,980 --> 00:27:42,220 Apa yang kita tidak akan lakukan dalam tempoh beberapa minggu akan datang 489 00:27:42,220 --> 00:27:46,810 berjalan anda melalui semua beberapa dozen HTML tags bahawa terdapat. 490 00:27:46,810 --> 00:27:49,800 Banyak seperti di awal kembali di titik 0 minggu, ia mungkin akan mencukupi 491 00:27:49,800 --> 00:27:52,120 untuk memberikan gambaran peringkat tinggi beberapa konsep, 492 00:27:52,120 --> 00:27:54,530 lawatan cepat beberapa blok anda mungkin dapat, 493 00:27:54,530 --> 00:27:58,240 agak selesa, untuk mengemudi sendiri, pelbagai kepingan teka-teki. 494 00:27:58,240 --> 00:28:00,460 Dan itu akan berlaku lagi dalam HTML, kemungkinan besar, 495 00:28:00,460 --> 00:28:04,320 mana ada sumber yang mencukupi di Web bahawa kami akan menunjukkan anda di, 496 00:28:04,320 --> 00:28:06,920 buku teks pelbagai, jika anda memilih untuk membaca buku teks, 497 00:28:06,920 --> 00:28:10,560 yang akan berjalan anda melalui semua pelbagai perkara yang anda boleh lakukan dengan HTML, 498 00:28:10,560 --> 00:28:16,100 tetapi benar-benar, kita telah melihat setakat ini dalam HTML kebanyakan konsep-konsep asas. 499 00:28:16,100 --> 00:28:19,900 Kami mempunyai tanggapan tags sedang dibuka, tag ditutup. 500 00:28:19,900 --> 00:28:22,100 Beberapa tag yang kedua-duanya dibuka dan ditutup 501 00:28:22,100 --> 00:28:24,620 dalam erti kata bahawa mereka kosong; perlu ada apa-apa di dalam mereka 502 00:28:24,620 --> 00:28:27,490 seperti tag imej atau satu baris, yang hanya ada. 503 00:28:27,490 --> 00:28:32,330 Kami juga kelihatan sudah pada tanggapan sifat, seperti alt atau sumber. 504 00:28:32,330 --> 00:28:36,410 Perhatikan bahawa kata-kata ini cenderung, mengikut konvensyen, menjadi pendek dan ringkas. 505 00:28:36,410 --> 00:28:39,140 >> Kami tidak mempunyai budi bicara atas apa perkara-perkara ini dipanggil, 506 00:28:39,140 --> 00:28:42,060 orang lain yang mencipta HTML datang dengan nama-nama ini. 507 00:28:42,060 --> 00:28:44,710 Jadi anda hanya perlu untuk memulakan untuk mengetahui atau melihat, bila-bila masa anda memerlukan mereka, 508 00:28:44,710 --> 00:28:47,160 apa nama adalah untuk tag dan sifat-sifat ini. 509 00:28:47,160 --> 00:28:49,510 Dalam hal ini sifat, ciri-ciri umumnya 510 00:28:49,510 --> 00:28:52,900 mengubah suai tingkah laku tag beberapa. 511 00:28:52,900 --> 00:28:55,710 Dalam kes ini, sifat sumber memberitahu tag imej 512 00:28:55,710 --> 00:28:57,940 apa sumber imej harus. 513 00:28:57,940 --> 00:29:04,460 Sifat href menceritakan tag anchor apa yang ia sebenarnya harus menghubungkan ke. 514 00:29:04,460 --> 00:29:06,800 Tetapi dari segi struktur laman web, walaupun Facebook 515 00:29:06,800 --> 00:29:09,680 dan Google dan kelihatan seperti seperti keadaan kucar-kacir yang lengkap 516 00:29:09,680 --> 00:29:12,560 di bawah hood pada pandangan pertama, jika anda mula membaca melalui 517 00:29:12,560 --> 00:29:16,950 lebih teratur, mereka semua mengikuti asas ini, struktur asas. 518 00:29:16,950 --> 00:29:19,660 Tetapi kita boleh memperbaiki penyesuaian dgn mode perkara-perkara ini. 519 00:29:19,660 --> 00:29:24,180 Jadi biarlah saya pergi ke beberapa contoh yang saya bersedia terlebih dahulu. 520 00:29:24,180 --> 00:29:27,280 Biar saya pergi ke hadapan dan menyalin mereka dari folder lain di sini 521 00:29:27,280 --> 00:29:29,380 dan meletakkan mereka ke dalam direktori ini. 522 00:29:29,380 --> 00:29:32,210 Terlebih dahulu, apa yang saya lakukan ialah menyediakan beberapa fail: 523 00:29:32,210 --> 00:29:35,670 search0, search1, search2, dan search3 dan 4. 524 00:29:35,670 --> 00:29:38,740 Biar saya pergi ke hadapan dan membuka pertama fail-fail, 525 00:29:38,740 --> 00:29:42,570 dan mari kita lihat jika kita tidak boleh memulakan untuk mewujudkan enjin carian kami sendiri. 526 00:29:42,570 --> 00:29:46,530 Pada bahagian atas fail ini, seperti biasanya kes dalam kelas, hanya sekumpulan komen. 527 00:29:46,530 --> 00:29:49,760 Dalam HTML, walaupun, dengan cara yang mana anda mula komen 528 00:29:49,760 --> 00:29:55,640 adalah <- dan maka anda berada di dalam komen, komen yang berbilang talian. 529 00:29:55,640 --> 00:29:59,800 Apabila anda sudah bersedia untuk menghentikan komen bahawa, anda boleh melakukannya ->. 530 00:29:59,800 --> 00:30:02,380 Jadi, segala-galanya di atas dengan warna biru adalah hanya komen. 531 00:30:02,380 --> 00:30:04,620 >> Ini adalah perisytiharan DOCTYPE saya, yang sekali lagi, 532 00:30:04,620 --> 00:30:07,080 anda hanya boleh menyalin dan tampal pada iman, untuk sekarang. 533 00:30:07,080 --> 00:30:10,410 Ini hanya memberitahu pelayar, 'Di sini datang lebih kurang 5 HTML.' 534 00:30:10,410 --> 00:30:13,600 Di bawah bahawa, on line 14, pertama tags sebenar saya, 535 00:30:13,600 --> 00:30:16,900 dan ini hanya berkata, seperti sebelum ini, di sini datang beberapa HTML, 536 00:30:16,900 --> 00:30:19,460 di sini datang kepala halaman saya, di sini datang tajuk, 537 00:30:19,460 --> 00:30:23,900 dan kemudian, sebaliknya, yang bagi tajuk, itulah ia untuk kepala. 538 00:30:23,900 --> 00:30:26,460 Di sini sekarang datang badan halaman saya. 539 00:30:26,460 --> 00:30:31,040 Jadi tag Pasangan baru sekarang: h1 bermaksud heading 1. 540 00:30:31,040 --> 00:30:33,850 Ada satu tradisi dalam HTML untuk bertahun-tahun kembali 541 00:30:33,850 --> 00:30:37,990 mempunyai saiz yang berbeza teks. 542 00:30:37,990 --> 00:30:41,980 Dan kembali pada hari itu, setiap satu bermakna, secara amnya, hanya besar dan berani. 543 00:30:41,980 --> 00:30:45,860 Tetapi ada juga h2, yang besar tetapi tidak cukup sebagai besar dan berani. 544 00:30:45,860 --> 00:30:49,320 Ada h3, yang merupakan jenis besar tetapi tidak hampir yang besar dan berani, 545 00:30:49,320 --> 00:30:52,380 dan sebagainya, sepanjang jalan ke H6. 546 00:30:52,380 --> 00:30:55,550 Pada hari ini, walaupun, h1, h2 dan h3 benar-benar bermakna 547 00:30:55,550 --> 00:30:57,980 mempunyai makna yang lebih semantik kepada mereka, 548 00:30:57,980 --> 00:31:01,100 mana h1 adalah benar-benar satu tajuk: tajuk laman web, 549 00:31:01,100 --> 00:31:04,210 tajuk lajur atau sesuatu seperti yang teks. 550 00:31:04,210 --> 00:31:09,030 Jadi saya sengaja berkata h1 CS50 search> h1 551 00:31:09,030 --> 00:31:12,640 nyatakan jenis bahawa ini adalah benar-benar tajuk, tajuk halaman saya. 552 00:31:12,640 --> 00:31:14,850 Bukan tajuk dalam bar tajuk rasa, 553 00:31:14,850 --> 00:31:18,960 tetapi tajuk yang sebenarnya anda lihat dalam laman web itu sendiri, dalam badan. 554 00:31:18,960 --> 00:31:20,990 Sekarang ini, anda mungkin boleh meneka apa yang ada, 555 00:31:20,990 --> 00:31:23,110 walaupun kita mempunyai beberapa keping baru sintaks. 556 00:31:23,110 --> 00:31:25,930 Ini adalah bentuk. Jadi web benar-benar mendapat menarik 557 00:31:25,930 --> 00:31:28,770 apabila laman web mengambil input daripada pengguna. 558 00:31:28,770 --> 00:31:31,700 Dalam kelas ini, dalam masalah yang ditetapkan pada pengaturcaraan web, 559 00:31:31,700 --> 00:31:33,880 kita tidak akan membuat sebuah laman web, per se, 560 00:31:33,880 --> 00:31:37,570 dengan kandungan statik yang menunjukkan gambar-gambar yang anda telah diambil, 561 00:31:37,570 --> 00:31:40,010 atau ini adalah resume saya, dan perkara-perkara tentang saya, 562 00:31:40,010 --> 00:31:42,450 kerana perkara-perkara yang agak mudah untuk meletakkan bersama-sama. 563 00:31:42,450 --> 00:31:44,400 Adalah sukar untuk membuat perkara yang indah di Web, 564 00:31:44,400 --> 00:31:46,390 tetapi sekurang-kurangnya meletakkan kandungan adalah agak remeh. 565 00:31:46,390 --> 00:31:49,380 Tetapi perkara mendapatkan benar-benar menarik apabila seseorang boleh melawat laman web anda 566 00:31:49,380 --> 00:31:52,260 dan menyediakan input dan boleh mengisi borang, 567 00:31:52,260 --> 00:31:55,800 boleh menyemak kotak semak dan boleh berinteraksi dengan laman web anda. 568 00:31:55,800 --> 00:31:57,780 Dan sesungguhnya, mungkin setiap laman web yang anda mengambil berat tentang 569 00:31:57,780 --> 00:32:00,710 hari ini, secara terperinci mana-mana, entah bagaimana interaktif. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, dan sebagainya, yang mengambil input pengguna 571 00:32:03,110 --> 00:32:05,100 dan menghasilkan output disesuaikan. 572 00:32:05,100 --> 00:32:07,780 >> Jadi mari kita mulakan untuk berbuat demikian sekarang. Mari peralihan sekarang 573 00:32:07,780 --> 00:32:11,150 daripada hanya menggunakan HTML untuk markup kandungan statik 574 00:32:11,150 --> 00:32:14,790 bukannya sebagai mekanisme penyampaian untuk kandungan dinamik. 575 00:32:14,790 --> 00:32:17,350 Dan ke arah akhir itu, mari kita melaksanakan enjin carian kami sendiri. 576 00:32:17,350 --> 00:32:20,820 Mari kita melakukannya seperti berikut. Berikut adalah tag borang. 577 00:32:20,820 --> 00:32:24,090 Sifat tindakan menyatakan bahawa apabila pengguna mengisi borang ini 578 00:32:24,090 --> 00:32:28,400 dengan keyboard mereka, ia akan diserahkan ke URL ini di sini. 579 00:32:28,400 --> 00:32:31,230 Jadi saya jenis menipu. Ia akan membawa kita sedikit lagi 580 00:32:31,230 --> 00:32:33,780 daripada satu kelas untuk melaksanakan seluruh enjin carian, 581 00:32:33,780 --> 00:32:35,880 jadi kita hanya akan melakukan akhir hadapan, jadi untuk bercakap. 582 00:32:35,880 --> 00:32:38,650 Kami akan melakukan bahagian yang membolehkan carian pengguna, dan kita akan menyusun menyepak bola ke Google 583 00:32:38,650 --> 00:32:40,950 bahagian keras mencari hasil carian, 584 00:32:40,950 --> 00:32:43,520 tetapi, khususnya, saya akan bercakap kepada pelayan web Google 585 00:32:43,520 --> 00:32:46,710 menggunakan salah satu daripada dua kaedah yang sangat popular. 586 00:32:46,710 --> 00:32:50,000 Satu sedang mendapatkan, yang lain, yang akhirnya kita akan melihat, pos, 587 00:32:50,000 --> 00:32:52,660 walaupun ada orang lain yang kurang kerap digunakan. 588 00:32:52,660 --> 00:32:56,440 Jadi mendapatkan hanya conjures sehingga idea, saya mahu mendapatkan beberapa kandungan, dapatkan beberapa keputusan carian. 589 00:32:56,440 --> 00:32:58,440 Ini, anda mungkin boleh meneka apa yang ini tidak. 590 00:32:58,440 --> 00:33:01,900 Ini adalah beberapa jenis input, ia, pada hakikatnya, pergi kelihatan seperti medan teks, 591 00:33:01,900 --> 00:33:05,200 dan nama input itu, nama pembolehubah itu, jadi untuk bercakap, 592 00:33:05,200 --> 00:33:08,610 akan Q bagi pertanyaan oleh konvensyen. 593 00:33:08,610 --> 00:33:11,700 Dan sekali lagi, jenis input ini tidak akan menjadi kotak semak; 594 00:33:11,700 --> 00:33:13,890 ia tidak akan menjadi menu; ia akan menjadi medan teks 595 00:33:13,890 --> 00:33:18,060 seperti yang ditandakan oleh sifat ini di sini, dan ini kotak teks, 596 00:33:18,060 --> 00:33:20,680 seperti baris, sama ada ada atau tidak. 597 00:33:20,680 --> 00:33:24,480 Jadi kita mempunyai elemen kosong dengan slash dalam tag yang. 598 00:33:24,480 --> 00:33:28,050 Kemudian saya akan meletakkan baris, dan anda boleh, mungkin, rasa apa ini akan lakukan. 599 00:33:28,050 --> 00:33:30,210 Ini merupakan satu lagi jenis input borang. 600 00:33:30,210 --> 00:33:32,350 >> Yang satu ini akan digunakan untuk mengemukakan borang. 601 00:33:32,350 --> 00:33:36,140 Jadi ini akan menjadi butang besar bahawa pengguna boleh klik untuk menyerahkan borang, 602 00:33:36,140 --> 00:33:40,800 dan label pada butang yang akan menjadi 'CS50 Cari.' 603 00:33:40,800 --> 00:33:44,170 Borang Tutup, badan dekat, dekat HTML. 604 00:33:44,170 --> 00:33:46,280 Mari kita lihat apa yang kita ada dalam bentuk laman web ini. 605 00:33:46,280 --> 00:33:48,260 Jadi biarlah saya pergi ke pelayar saya, 606 00:33:48,260 --> 00:33:50,360 izinkan saya pergi, masih, untuk menjadi tuan rumah tempatan. 607 00:33:50,360 --> 00:33:54,650 Ini masih index.html, jadi jika saya mahu melihat fail ini dipanggil search0, 608 00:33:54,650 --> 00:33:59,710 Saya hanya boleh melakukan / search0.html, masukkan - 609 00:33:59,710 --> 00:34:01,880 dan pertama kesilapan saya. 610 00:34:01,880 --> 00:34:04,400 Apa yang berlaku? Saya jelas tidak mempunyai kebenaran 611 00:34:04,400 --> 00:34:06,430 untuk mengakses fail ini, atas sebab-sebab tertentu. 612 00:34:06,430 --> 00:34:10,170 Tetapi itulah kerana, tidak seperti kerja kita telah dilakukan setakat ini di C, 613 00:34:10,170 --> 00:34:14,340 mana program anda menulis diandaikan menjadi runable oleh anda, 614 00:34:14,340 --> 00:34:17,590 laku oleh anda, yang tidak benar-benar kes itu di Web, 615 00:34:17,590 --> 00:34:21,010 di mana kadang-kadang anda mungkin mahu untuk mencipta fail pada pelayan, 616 00:34:21,010 --> 00:34:23,310 tetapi anda tidak mahu seluruh dunia dapat melihat mereka. 617 00:34:23,310 --> 00:34:25,469 Sebaliknya, anda mahu dunia melihat beberapa fail 618 00:34:25,469 --> 00:34:27,730 tetapi tidak lain, hanya demi privasi ini. 619 00:34:27,730 --> 00:34:30,730 Jadi ia adalah lebih asas dalam memilih apabila anda melakukan perkara-perkara di Web. 620 00:34:30,730 --> 00:34:32,810 Dan sebagainya biarlah saya sebenarnya menaip ls sini, 621 00:34:32,810 --> 00:34:37,440 dan anda melihat fail-fail saya, tetapi ingat bahawa jika saya lakukan ls-l lama, 622 00:34:37,440 --> 00:34:41,520 Saya akan mendapatkan senarai lagi yang memberikan saya beberapa lebih banyak butiran mengenai fail 623 00:34:41,520 --> 00:34:45,139 yang kini, benar-benar, untuk pertama kalinya relevan kepada kita. 624 00:34:45,139 --> 00:34:47,840 Perhatikan bahawa di sebelah kanan jauh adalah nama-nama fail-fail saya, 625 00:34:47,840 --> 00:34:50,690 dan kemudian masa di mana mereka telah diubah buat kali terakhir atau disalin. 626 00:34:50,690 --> 00:34:54,370 Ini nombor di sini ialah apa? Adakah anda ingat? 627 00:34:54,370 --> 00:34:56,400 Saiz dalam bait, berapa besar fail. 628 00:34:56,400 --> 00:34:59,520 >> Jadi, saya seolah-olah mempunyai beberapa jenis logo di sini yang lebih besar daripada semua fail lain. 629 00:34:59,520 --> 00:35:03,610 Ini adalah siapa saya, ini adalah apa yang saya dan apa yang kumpulan saya masuk 630 00:35:03,610 --> 00:35:07,430 Tetapi kemudian, di sini di sebelah kiri adalah sedikit urutan samar, 631 00:35:07,430 --> 00:35:10,040 dan kita bercakap, saya fikir, secara ringkas tentang perkara ini pada masa lalu, 632 00:35:10,040 --> 00:35:12,050 tetapi ini mempunyai kaitan dengan kebenaran. 633 00:35:12,050 --> 00:35:14,020 Dan walaupun itulah sedikit kabur, 634 00:35:14,020 --> 00:35:17,270 RW mungkin bermakna membaca & menulis. 635 00:35:17,270 --> 00:35:22,560 Jadi ia ternyata bahawa sengkang ini menandakan set berbeza keizinan bagi orang yang berlainan. 636 00:35:22,560 --> 00:35:24,730 Dan corak adalah, pada asasnya, seperti berikut. 637 00:35:24,730 --> 00:35:27,650 Apabila anda melihat urutan sengkang di sini, mereka kelihatan seperti berikut. 638 00:35:27,650 --> 00:35:30,450 Ada sengkang, maka terdapat tiga lagi sengkang, 639 00:35:30,450 --> 00:35:33,390 maka terdapat tiga lagi, maka terdapat tiga lagi. 640 00:35:33,390 --> 00:35:36,800 Yang pertama adalah sama ada melontarkan atau iklan itu bagi direktori. 641 00:35:36,800 --> 00:35:40,220 Supaya satu adalah agak mudah. Jika ia adalah folder, ia berkata d, sebaliknya ia sempang. 642 00:35:40,220 --> 00:35:44,080 Ada beberapa kes lain, tetapi sekarang ini kita hanya akan mengambil berat tentang fail dan direktori. 643 00:35:44,080 --> 00:35:48,090 Ini seterusnya tiga sengkang - dan saya telah tiruan dimasukkan ruang. 644 00:35:48,090 --> 00:35:50,490 Mereka adalah, jelas, tidak ada apabila kita melihat mereka seketika lalu. 645 00:35:50,490 --> 00:35:52,900 Ini adalah kebenaran pemilik fail, 646 00:35:52,900 --> 00:35:55,840 dan ingat dari lalu kedua bahawa ia telah membaca & menulis. 647 00:35:55,840 --> 00:35:58,560 Itu adalah kerana saya, sebagai orang yang mencipta fail ini masa lalu, 648 00:35:58,560 --> 00:36:01,250 Saya, hanya dengan lalai, pada komputer Linux, 649 00:36:01,250 --> 00:36:03,910 mempunyai keupayaan untuk terus membaca dan menulis fail tersebut. 650 00:36:03,910 --> 00:36:07,170 >> Jadi sistem operasi hanya memberikan saya RW secara automatik. 651 00:36:07,170 --> 00:36:10,840 Orang-orang pertengahan berkaitan kepada kumpulan saya, bahawa pelajar, 652 00:36:10,840 --> 00:36:14,590 yang adalah jenis bermakna perkakas kerana saya orang yang hanya menggunakan perkakas. 653 00:36:14,590 --> 00:36:16,620 Jadi biarlah saya hanya gelombang tangan saya pada itu buat masa sekarang. 654 00:36:16,620 --> 00:36:19,190 Tetapi orang-orang yang terakhir adalah yang paling penting untuk Web. 655 00:36:19,190 --> 00:36:21,580 Ini adalah orang lain di dunia, dan fakta 656 00:36:21,580 --> 00:36:24,600 bahawa --- bermakna bahawa tidak ada orang lain di dunia 657 00:36:24,600 --> 00:36:26,680 mempunyai apa-apa keizinan untuk fail ini. 658 00:36:26,680 --> 00:36:29,180 Jelas sekali masalah, jadi saya perlu untuk menetapkan ini 659 00:36:29,180 --> 00:36:33,830 oleh entah bagaimana memberikan dunia apa? Membaca & menulis? 660 00:36:33,830 --> 00:36:35,850 Itulah mungkin bodoh, kan? Saya tidak mahu sesiapa di Web 661 00:36:35,850 --> 00:36:38,530 untuk pergi untuk melawat halaman saya dan entah bagaimana menukar fail tersebut, 662 00:36:38,530 --> 00:36:40,800 walaupun mereka benar-benar tidak boleh dengan fail HTML, 663 00:36:40,800 --> 00:36:44,110 tetapi hanya pada prinsipnya, mungkin hanya mahu mereka dapat membacanya. 664 00:36:44,110 --> 00:36:47,910 Apakah maknanya untuk membacanya? Ia tidak bermakna mereka akan mengambil berat tentang HTML sebenar, 665 00:36:47,910 --> 00:36:51,820 tetapi pelayar perlu mampu untuk menghuraikan bahawa bahasa markup, 666 00:36:51,820 --> 00:36:53,720 atas ke bawah, kiri ke kanan. 667 00:36:53,720 --> 00:36:57,990 Jadi seseorang di Web perlu mampu untuk membaca, jadi saya minimum perlu untuk memberikan r. 668 00:36:57,990 --> 00:37:00,240 Boleh saya lakukan ini dalam beberapa cara yang berbeza, tetapi mungkin 669 00:37:00,240 --> 00:37:03,080 yang paling mudah adalah untuk menjalankan arahan ini di sini. 670 00:37:03,080 --> 00:37:10,860 Chmod, perubahan mod, maka r + jadi semua semua orang, di dunia + baca, 671 00:37:10,860 --> 00:37:13,830 dan kemudian nama fail, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Sekarang, jika saya melakukan ls-l lagi, notis bahawa fail yang telah berubah, 673 00:37:18,310 --> 00:37:21,440 dan sesungguhnya, saya telah dihidupkan r untuk semua orang. 674 00:37:21,440 --> 00:37:23,350 Saya juga berpaling ia bagi kumpulan saya, tetapi itulah denda, 675 00:37:23,350 --> 00:37:27,150 kerana jika saya bertukar di atas untuk semua orang, kumpulan saya adalah subset itu. 676 00:37:27,150 --> 00:37:31,480 Jadi itulah denda juga. Ini hanya bermakna komputer kini telah menjadikan ia boleh dibaca. 677 00:37:31,480 --> 00:37:34,430 Sekarang mari saya pergi kembali ke penyemak imbas saya, klik reload. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Kami kini mempunyai CS50 Search. 679 00:37:36,330 --> 00:37:39,830 Saya telah dizum dalam sedikit tiruan - enjin carian cukup mengerikan. 680 00:37:39,830 --> 00:37:41,930 Tetapi mari kita lihat jika ia benar-benar berfungsi. 681 00:37:41,930 --> 00:37:45,880 Pertama, izinkan saya lakukan cek kewarasan cepat, biarlah saya mengawal klik dan melihat sumber halaman. 682 00:37:45,880 --> 00:37:50,780 Perhatikan bahawa dalam Chrome kita sedang melihat HTML yang sama bahawa saya sendiri dicipta. 683 00:37:50,780 --> 00:37:55,420 Tidak terkeliru di sini, walaupun. Saya tidak boleh mula menukar kod itu di sini, 684 00:37:55,420 --> 00:37:59,420 kerana pelayar mempunyai pandangan baca sahaja kod ini. 685 00:37:59,420 --> 00:38:06,060 Pelayar baru sahaja ditanya hos tempatan untuk fail yang dipanggil search0.html. 686 00:38:06,060 --> 00:38:09,490 Ia kini kebetulan tulen bahawa perkakas 687 00:38:09,490 --> 00:38:13,480 berlaku untuk menjadi pada komputer yang sama sebagai pelayar saya. 688 00:38:13,480 --> 00:38:20,470 Saya hanya boleh mempunyai, setara, telah ditaip dalam www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 dan jika Facebook mempunyai fail yang dipanggil bahawa, saya kemudian akan melihat HTML mereka. 690 00:38:23,830 --> 00:38:27,360 Dan, sudah tentu, saya tidak boleh menukar fail yang datang kembali dari Facebook, sama ada. 691 00:38:27,360 --> 00:38:29,360 Jadi sekarang kita jenis kabur garisan. 692 00:38:29,360 --> 00:38:32,130 Perkakas adalah kedua-dua pelayan, berkhidmat sehingga laman web, 693 00:38:32,130 --> 00:38:34,870 tetapi ia juga pelanggan dalam erti kata bahawa saya menggunakan pelayar 694 00:38:34,870 --> 00:38:37,630 untuk benar-benar bercakap dengan pelayan itu. 695 00:38:37,630 --> 00:38:39,610 Jadi mari kita lihat jika enjin carian Google saya bekerja. 696 00:38:39,610 --> 00:38:44,930 Biar saya pergi ke hadapan dan mencari untuk cepat coklat musang, masukkan. 697 00:38:44,930 --> 00:38:47,540 Dan Voilà, saya kini mempunyai enjin carian saya sendiri. 698 00:38:47,540 --> 00:38:51,460 >> Tetapi bagaimana ini berfungsi? 699 00:38:51,460 --> 00:38:55,380 Bit regangan, tetapi - dan sekarang anda tidak boleh lihat, tepat, bahagian itulah kepentingan. 700 00:38:55,380 --> 00:38:57,370 Perhatikan apa yang berlaku. 701 00:38:57,370 --> 00:39:00,430 Notis URL. Ia ternyata bahawa kaedah itu, 702 00:39:00,430 --> 00:39:02,780 dipanggil mendapatkan, adalah super mudah. 703 00:39:02,780 --> 00:39:10,270 Apabila anda nyatakan dalam bentuk yang anda mahu untuk 'mendapatkan' hasil dari pelayan beberapa, 704 00:39:10,270 --> 00:39:13,200 apa yang ia akan lakukan ialah mengambil apa sahaja yang anda taip ke dalam borang 705 00:39:13,200 --> 00:39:15,290 dan meletakkan ia dalam URL. 706 00:39:15,290 --> 00:39:18,580 Ia akan menyeragamkan bagaimana ia mendapat dimasukkan ke dalam URL seperti berikut. 707 00:39:18,580 --> 00:39:22,290 Perhatikan bahawa ini adalah URL yang merupakan nilai atribut tindakan saya. 708 00:39:22,290 --> 00:39:24,730 Itulah di mana saya mahu bentuk akhirnya. 709 00:39:24,730 --> 00:39:26,950 Tetapi kemudian notis ini tanda tanya. 710 00:39:26,950 --> 00:39:30,230 Ini adalah konvensyen di Web di mana untuk menyediakan input pengguna 711 00:39:30,230 --> 00:39:35,320 ke laman web, anda melampirkan kepada URL tanda tanya, 712 00:39:35,320 --> 00:39:38,330 dan kemudian anda mempunyai sekumpulan keseluruhan pasangan key-nilai. 713 00:39:38,330 --> 00:39:42,380 Nama kunci, atau dikenali sebagai parameter dalam Web, 714 00:39:42,380 --> 00:39:46,380 maka anda mempunyai tanda yang sama, maka anda mempunyai nilai parameter itu. 715 00:39:46,380 --> 00:39:49,810 Jadi ia adalah asasnya nama pembolehubah dan nilai yang berubah-ubah, 716 00:39:49,810 --> 00:39:54,250 tetapi nama dan nilai-nilai mereka pembolehubah datang dari bentuk HTML. 717 00:39:54,250 --> 00:39:56,250 Mengapa plus sana, adakah anda fikir? 718 00:39:56,250 --> 00:39:59,340 Kerana saya tidak menaip + di antara kata-kata saya. 719 00:39:59,340 --> 00:40:01,430 [Pelajar, difahami] 720 00:40:01,430 --> 00:40:05,080 >> Ya, ia adalah hanya untuk jarak. Kemungkinan adalah, apabila anda telah melihat URL, 721 00:40:05,080 --> 00:40:07,320 tidak pernah ada mana-mana ruang di dalamnya, jika hanya kerana 722 00:40:07,320 --> 00:40:09,440 jika ada, anda boleh tidak benar-benar menyalin dan tampalkannya 723 00:40:09,440 --> 00:40:12,700 ke IM atau ke dalam e-mel kerana ia akan memecahkan. 724 00:40:12,700 --> 00:40:15,420 Anda mahu segala-galanya untuk menjadi satu rentetan berdampingan aksara. 725 00:40:15,450 --> 00:40:18,450 >> Jadi pelayar adalah cukup bijak untuk menyedari, UH-UH. 726 00:40:18,450 --> 00:40:22,610 Jangan hanya meletakkan ruang di sana. Biar saya mengekod ruang dalam beberapa cara standard. 727 00:40:22,610 --> 00:40:25,170 Salah satu konvensyen untuk berbuat demikian adalah untuk mempunyai pelayar 728 00:40:25,170 --> 00:40:29,350 secara automatik meletakkan + mana anda sebaliknya akan mempunyai ruang. 729 00:40:29,350 --> 00:40:32,140 Jadi sekarang, notis Google telah jenis user-friendly. 730 00:40:32,140 --> 00:40:34,380 Saya pasti tidak mencipta halaman web ini, 731 00:40:34,380 --> 00:40:37,200 tetapi mereka telah prepopulated medan teks mereka sendiri 732 00:40:37,200 --> 00:40:39,490 dengan apa, tepat, saya menaip masuk 733 00:40:39,490 --> 00:40:43,090 Katakan saya ingin mencari untuk sesuatu yang lain, seperti anjing malas. 734 00:40:43,090 --> 00:40:45,340 Saya hanya boleh menaip ini di sini, carian semula. 735 00:40:45,340 --> 00:40:47,730 Perhatikan bahawa URL perubahan di sini, 736 00:40:47,730 --> 00:40:51,390 tetapi notis kemudian bahawa saya sebenarnya boleh mencari apa-apa yang saya mahu 737 00:40:51,390 --> 00:40:53,610 hanya dengan memahami bagaimana kerja URL. 738 00:40:53,610 --> 00:40:56,840 Saya boleh melakukan kucing malas, masukkan, 739 00:40:56,840 --> 00:41:01,370 dan notis sekarang Saya mendapat sangat malas - harus kita? Saya rasa seperti kita sepatutnya. 740 00:41:01,370 --> 00:41:09,900 Saya mendapat kucing yang sangat malas. 741 00:41:09,900 --> 00:41:11,930 Semua hak. Ini adalah salah satu perkara-perkara bodoh yang kita lakukan. 742 00:41:11,930 --> 00:41:17,160 Tetapi itu adalah kucing yang malas. 743 00:41:17,160 --> 00:41:19,730 Walau bagaimanapun, apa yang Fleet utama di sini? 744 00:41:19,730 --> 00:41:22,830 Sekarang kita berada jenis bermain dalam dunia HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML adalah hanya ini bahasa markup, tag terbuka, tag penutup, 746 00:41:26,050 --> 00:41:29,490 yang memberitahu pelayar bagaimana untuk menjadikan kandungan pada laman web. 747 00:41:29,490 --> 00:41:32,850 Tetapi apabila anda mula menghantar data di Internet 748 00:41:32,850 --> 00:41:36,290 antara pelayar web dan pelayan, yang mana protokol ini 749 00:41:36,290 --> 00:41:39,370 dikenali sebagai Protokol Pemindahan Hiperteks mengambil alih. 750 00:41:39,370 --> 00:41:42,630 Ini adalah jenis konvensyen manusia; apabila Sam dan saya berjabat tangan pada hari Isnin, 751 00:41:42,630 --> 00:41:48,300 memulakan sambungan dan kemudian menutup sambungan, idea yang sama di sini. 752 00:41:48,300 --> 00:41:53,100 Bagaimana hasil Google datang kembali kepada saya? 753 00:41:53,100 --> 00:41:55,290 Bagaimana penghantaran borang saya pergi ke Google? 754 00:41:55,290 --> 00:41:58,160 Nah, ingat dari hari lain bahawa apa yang benar-benar berlaku 755 00:41:58,160 --> 00:42:02,150 di bawah hood apabila anda meminta laman web, 756 00:42:02,150 --> 00:42:04,860 pelayar anda menghantar mesej agak-samar seperti 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 untuk halaman rumah lalai. 758 00:42:09,510 --> 00:42:13,000 >> Atau, dalam kes ini, kerana saya diminta secara khusus awal 759 00:42:13,000 --> 00:42:17,340 search0.html, ini maka akan menjadi mesej yang agak-samar 760 00:42:17,340 --> 00:42:20,040 bahawa pelayar saya menghantar kepada perkakas. 761 00:42:20,040 --> 00:42:23,090 Atau, dalam kes ini Google, apa yang sebenarnya dihantar 762 00:42:23,090 --> 00:42:33,740 adalah permintaan untuk / carian, dan kemudian? q = kucing malas, dengan ditambah ada. 763 00:42:33,740 --> 00:42:36,790 Jadi mesej ini, bahawa saya, manusia, saya tidak pernah menaip, 764 00:42:36,790 --> 00:42:40,620 tetapi dihantar oleh pelayar saya, ini adalah bagaimana HTTP berlaku. 765 00:42:40,620 --> 00:42:43,240 Ini adalah bersamaan dengan tangan kami setelah digoncang. 766 00:42:43,240 --> 00:42:46,320 Ini adalah permintaan, dan pelayan untuk menghantar jawapan. 767 00:42:46,320 --> 00:42:48,560 Jadi mari kita lihat ini di bawah hood. 768 00:42:48,560 --> 00:42:55,320 Seperti sebelum ini, kita boleh membuka bidang ini khas dalam pelayar. 769 00:42:55,320 --> 00:42:58,720 Lihat halaman, memeriksa unsur-unsur. 770 00:42:58,720 --> 00:43:01,550 Jadi di bawah memeriksa elemen, notis bahawa apa yang berlaku dalam Chrome, 771 00:43:01,550 --> 00:43:04,160 dan IE dan Firefox mempunyai mekanisme yang sama, 772 00:43:04,160 --> 00:43:07,370 kita mempunyai alat-alat pemaju diakses kepada kami. 773 00:43:07,370 --> 00:43:09,630 Orang biasa tidak menggunakan tab ini. 774 00:43:09,630 --> 00:43:11,940 Tetapi kita, sekarang, berminat dalam apa yang berlaku di 775 00:43:11,940 --> 00:43:13,890 di bawah hud di peringkat rangkaian. 776 00:43:13,890 --> 00:43:16,130 Jadi jika saya tarik sehingga tahap rangkaian di sini, 777 00:43:16,130 --> 00:43:18,510 biarkan saya pergi ke hadapan dan mengembangkan tetingkap ini, 778 00:43:18,510 --> 00:43:21,840 membuka entri ini di sini, dan melihat tajuk. 779 00:43:21,840 --> 00:43:26,010 Jadi apa yang berlaku apabila saya meminta fail dari pelayan web 780 00:43:26,010 --> 00:43:29,410 adalah pelayar saya menghantar sekumpulan keseluruhan perkara. 781 00:43:29,410 --> 00:43:32,390 Dan biarlah saya melihat sumber. Demikian di bawah header permintaan, 782 00:43:32,390 --> 00:43:35,250 dan ini hanya Chrome menunjukkan saya beberapa output diagnostik, 783 00:43:35,250 --> 00:43:37,340 jenis seperti penyahpepijat sejenis, 784 00:43:37,340 --> 00:43:40,500 notis bahawa apa yang saya telah diketengahkan di sini adalah tepat apa 785 00:43:40,500 --> 00:43:47,060 Chrome menghantar kepada pelayan untuk meminta fail yang dipanggil search0.html. 786 00:43:47,060 --> 00:43:50,160 Ia memberitahu pelayan apa yang difikirkan namanya, 787 00:43:50,160 --> 00:43:52,210 terima kasih untuk bidang ini kolon tuan rumah, maka ada beberapa 788 00:43:52,210 --> 00:43:56,950 barangan agak esoterik di sini, seperti melakukan sesuatu dengan tarikh dan masa, 789 00:43:56,950 --> 00:43:59,720 untuk melakukan sesuatu dengan bahasa yang pelayar memahami, 790 00:43:59,720 --> 00:44:02,850 tetapi garis yang benar-benar penting adalah kedua-dua pertama di sini. 791 00:44:02,850 --> 00:44:05,490 >> Apakah pelayan bertindak balas dengan? Nah, jika kita tatal ke bawah sini 792 00:44:05,490 --> 00:44:08,510 dan melihat punca perkara ini, notis bahawa pelayan 793 00:44:08,510 --> 00:44:13,700 telah bertindak balas dengan mesej yang agak samar serta, 304 tidak diubahsuai. 794 00:44:13,700 --> 00:44:16,030 Itulah sedikit pelik, izinkan saya sebenarnya cuba untuk menetapkan ini. 795 00:44:16,030 --> 00:44:18,670 Biar saya tahan shift dan klik reload di sini 796 00:44:18,670 --> 00:44:22,460 untuk memaksa pelayar untuk benar-benar membuat permintaan ini untuk kali pertama. 797 00:44:22,460 --> 00:44:25,700 Maka biarlah saya mengezum masuk, dan kita akan melihat kini bahawa tindak balas pelayan, 798 00:44:25,700 --> 00:44:28,950 kerana saya memegang anjakan, 200 OK. 799 00:44:28,950 --> 00:44:31,170 Jadi anda mungkin pernah melihat nombor 200 800 00:44:31,170 --> 00:44:33,300 dalam konteks Web, tetapi apa yang nombor 801 00:44:33,300 --> 00:44:36,760 adakah anda kadang-kadang dilihat tidak disangka-sangka dari pelayan? 802 00:44:36,760 --> 00:44:42,010 404, fail tidak dijumpai; 403, diharamkan; 500, ralat pelayan. 803 00:44:42,010 --> 00:44:44,890 Jadi terdapat kod berangka bahawa dunia menggunakan Web 804 00:44:44,890 --> 00:44:47,870 untuk menandakan kesilapan, sama seperti fungsi C 805 00:44:47,870 --> 00:44:51,030 boleh kembali kesilapan dan utama boleh kembali kod keluar. 806 00:44:51,030 --> 00:44:54,160 200, walaupun, anda jarang melihat kerana ia bermakna semua adalah baik. 807 00:44:54,160 --> 00:44:59,000 Dan 304 anda mungkin tidak pernah melihat kerana apa yang ia menandakan? 808 00:44:59,000 --> 00:45:03,330 Bahawa apa-apa yang mempunyai - mari kita lihat jika kita boleh meniru ini lagi - 809 00:45:03,330 --> 00:45:07,170 Oh, sekarang ia tidak bekerjasama. 304 berkata tidak diubah suai, 810 00:45:07,170 --> 00:45:09,170 jadi mengapa pelayan walaupun bertindak balas? 811 00:45:09,170 --> 00:45:12,550 Nah, untuk kecekapan, pelayan web secara automatik untuk anda, 812 00:45:12,550 --> 00:45:16,570 jika fail tidak berubah, ia tidak akan menghantar semula keseluruhan fail HTML. 813 00:45:16,570 --> 00:45:19,150 Ia hanya akan memberitahu pelayar ia telah tidak berubah. 814 00:45:19,150 --> 00:45:21,220 Hanya menggunakan salinan anda sudah mempunyai. 815 00:45:21,220 --> 00:45:22,650 Jadi ada idea ini caching pada Web 816 00:45:22,650 --> 00:45:25,840 prestasi, supaya anda tidak membuang masa dan bandwidth sisa 817 00:45:25,840 --> 00:45:29,160 memuat turun fail sekali lagi dan sekali lagi tidak perlu. 818 00:45:29,160 --> 00:45:31,460 >> Tetapi, kini, laman web ini adalah super mudah, 819 00:45:31,460 --> 00:45:34,980 dan ia hanya menunjukkan kepada saya HTML yang datang kembali. 820 00:45:34,980 --> 00:45:40,940 Mari kita sebenarnya menggunakan tab rangkaian sekarang untuk melakukan carian Google seperti cepat coklat musang. 821 00:45:40,940 --> 00:45:43,010 Mari saya kemudian klik CS50 carian, 822 00:45:43,010 --> 00:45:46,950 dan sekarang, notis di bawah sini sekumpulan keseluruhan barangan pulang 823 00:45:46,950 --> 00:45:49,900 kerana apabila saya melawat laman web sebenar seperti Google.com, 824 00:45:49,900 --> 00:45:53,520 mereka mempunyai imej, mereka mempunyai teks, mereka mempunyai bahasa yang dipanggil JavaScript sana. 825 00:45:53,520 --> 00:45:55,940 Jadi setiap baris dalam jadual ini turun di sini 826 00:45:55,940 --> 00:46:01,490 mewakili sesuatu yang Google meludah keluar sebagai tindak balas kepada permintaan tunggal saya. 827 00:46:01,490 --> 00:46:04,160 Yang saya mengambil berat tentang, walaupun, adalah satu ini pertama. 828 00:46:04,160 --> 00:46:08,420 Dan jika saya pergi ke carian, permintaan, klik melihat sumber di sini, 829 00:46:08,420 --> 00:46:11,300 notis bahawa, sesungguhnya, mesej samar yang pelayar saya menghantar 830 00:46:11,300 --> 00:46:15,010 Google adalah kedua-dua baris di sini, 831 00:46:15,010 --> 00:46:18,420 diikuti oleh beberapa maklumat batin turun di sini yang kita akan mengabaikan sekarang. 832 00:46:18,420 --> 00:46:20,890 Tetapi notis, terlalu, apa Chrome adalah agak berguna dengan, 833 00:46:20,890 --> 00:46:24,540 ia juga menunjukkan saya string query yang telah dihantar masuk 834 00:46:24,540 --> 00:46:27,410 Jadi, bukannya menunjukkan kepada saya ini, yang benar-benar telah menghantar, 835 00:46:27,410 --> 00:46:30,800 jika saya melihat ia dinyahkod, Chrome, hanya untuk tujuan debugging, 836 00:46:30,800 --> 00:46:34,270 untuk pemaju seperti kami, ia hanya menunjukkan saya versi mesra manusia - 837 00:46:34,270 --> 00:46:36,390 yang tidak adalah bagaimana anda mengeja musang, nampaknya. 838 00:46:36,390 --> 00:46:40,520 Saya hanya perasan ini sekarang - tetapi ia menunjukkan anda apa yang saya, nampaknya, ditaip. 839 00:46:40,520 --> 00:46:45,340 Sementara itu, sambutan yang pulang dari pelayan lagi 200 OK. 840 00:46:45,340 --> 00:46:47,930 Tetapi dimasukkan dalam sambutan itu, sudah tentu, 841 00:46:47,930 --> 00:46:51,920 jika kita benar-benar melihat halaman HTML - 842 00:46:51,920 --> 00:46:55,440 maaf, ini adalah jalan pintas keyboard sedikit pergi jauh menyimpang hari ini. 843 00:46:55,440 --> 00:46:59,020 >> Saya akan berurusan dengan ini kemudian. Jadi, jika kita benar-benar melihat sumber halaman, 844 00:46:59,020 --> 00:47:02,990 yang boleh saya lakukan di sini dengan mengklik sambutan, 845 00:47:02,990 --> 00:47:10,080 ini adalah apa yang sebenarnya meludah kembali, di samping bahawa mesej samar 200 OK dari pelayan. 846 00:47:10,080 --> 00:47:12,520 A sedikit samar, tetapi di mana semua ini datang dari? 847 00:47:12,520 --> 00:47:15,570 Nah, mari kita melakukan satu perkara lain di sini. Satu lagi arahan agak samar, 848 00:47:15,570 --> 00:47:20,530 tetapi jenis ini satu kemas dalam bahawa ia mendedahkan kepada kita apa sebenarnya yang berlaku di bawah hood. 849 00:47:20,530 --> 00:47:22,530 Jadi saya kembali pada Mac saya di sini, saya telah disambungkan 850 00:47:22,530 --> 00:47:25,980 melalui program yang dipanggil SSH, Shell selamat, ke pelayan lain 851 00:47:25,980 --> 00:47:28,940 kerana kebanyakan komputer Harvard menghalang perintah kami kira-kira untuk menjalankan 852 00:47:28,940 --> 00:47:31,640 kerana ada perintah ini pada beberapa pelayan dipanggil traceroute 853 00:47:31,640 --> 00:47:34,810 yang membolehkan anda untuk mengesan laluan antara titik a dan b, 854 00:47:34,810 --> 00:47:37,020 dan setakat ini kita telah mengambil sepenuhnya untuk diberikan 855 00:47:37,020 --> 00:47:40,170 bahawa saya boleh menaip dalam Google.com dan entah bagaimana mendapatkan data kembali 856 00:47:40,170 --> 00:47:43,530 dari pertengahan di seluruh negara atau pertengahan di seluruh dunia. 857 00:47:43,530 --> 00:47:45,810 Dengan traceroute kita sebenarnya boleh menyelam dalam sedikit lebih mendalam 858 00:47:45,810 --> 00:47:49,370 bagaimana internet berfungsi, dan lihat apa yang berlaku di bawah hood. 859 00:47:49,370 --> 00:47:54,440 Jadi mari kita pergi ke hadapan dan sewenang-wenangnya mengesan laluan kepada, berkata, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 yang di seluruh negara, dan tekan enter. 861 00:47:57,150 --> 00:47:59,380 Arahan ini boleh menjadi super cepat atau super perlahan, 862 00:47:59,380 --> 00:48:02,010 tetapi apa yang kita lihat sekarang, baris demi baris, 863 00:48:02,010 --> 00:48:08,060 adalah setiap salah satu daripada langkah-langkah atau hop antara kami dan Palo Alto, atau Stanford, 864 00:48:08,060 --> 00:48:11,010 di mana mereka mempunyai pelayan web mereka. 865 00:48:11,010 --> 00:48:16,600 Jadi apakah setiap ayat-ayat ini mewakili lebih kukuh, walaupun? 866 00:48:16,600 --> 00:48:19,100 Sekeping jargon dari Internet? [Pelajar, difahami] 867 00:48:19,100 --> 00:48:21,570 >> Apa itu? [Pelajar, difahami] 868 00:48:21,570 --> 00:48:25,390 >> Oh, jadi terdapat banyak kali, tetapi apakah setiap baris - apa yang saya maksudkan dengan hop? 869 00:48:25,390 --> 00:48:29,140 >> Nah, terdapat perkara-perkara ini di Internet yang dipanggil router. 870 00:48:29,140 --> 00:48:33,020 Dan router, seperti namanya, maklumat laluan dari titik ke titik b. 871 00:48:33,020 --> 00:48:36,920 Tetapi terdapat beberapa tempat di luar a dan b. 872 00:48:36,920 --> 00:48:40,010 Terdapat c dan d dan e dan f antara baris 1, 873 00:48:40,010 --> 00:48:43,480 yang berlaku untuk menjadi alamat IP komputer saya, 874 00:48:43,480 --> 00:48:46,890 atau alamat berangka saya, yang unik mengenal pasti komputer saya, 875 00:48:46,890 --> 00:48:50,300 dan langkah 15, yang sebenarnya adalah pelayan web keenam, 876 00:48:50,300 --> 00:48:54,640 nampaknya, yang saya membuat kesimpulan daripada ini, atau versi 6 pelayan web mereka di Stanford. 877 00:48:54,640 --> 00:48:56,680 Tetapi apa jenis kemas adalah, kita dapat melihat jalan 878 00:48:56,680 --> 00:49:00,480 itulah 0 saya dan 1 yang mengambil dari komputer saya ke Stanford. 879 00:49:00,480 --> 00:49:02,500 Jadi langkah 1 adalah alamat komputer saya sendiri. 880 00:49:02,500 --> 00:49:05,760 Setiap komputer di Internet mempunyai pengecam unik yang kelihatan seperti ini. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Tempat di kampus ini, mungkin di pusat sains, 883 00:49:10,370 --> 00:49:16,780 router dipanggil Teras Gateway 2-te83, apa yang bermakna, 884 00:49:16,780 --> 00:49:20,590 jadi ini adalah salah satu router besar Harvard mewah bahawa laluan banyak trafik mereka. 885 00:49:20,590 --> 00:49:24,640 Berikut adalah satu lagi router Harvard, yang satu ini adalah Gerbang Sempadan, 886 00:49:24,640 --> 00:49:28,310 makna sempadan ia mungkin di pinggir kampus tempat. 887 00:49:28,480 --> 00:49:32,790 Kemudian ada NOx satu, baris 4, yang merupakan Crossroads Utara, 888 00:49:32,790 --> 00:49:35,070 yang merupakan ISP besar, Pembekal khidmat Internet, 889 00:49:35,070 --> 00:49:37,740 bahawa tempat-tempat seperti Harvard menyambung sehingga. 890 00:49:37,740 --> 00:49:40,760 Tetapi kemudian perkara mendapatkan sedikit menarik di baris 6. 891 00:49:40,760 --> 00:49:45,960 Di manakah bit saya tiba-tiba? Kansas. 892 00:49:45,960 --> 00:49:49,300 Dunia mempunyai tabiat menggunakan kod lapangan terbang dalam banyak perkara-perkara ini, 893 00:49:49,300 --> 00:49:52,900 atau sekurang-kurangnya singkatan bagi negeri-negeri atau bandar-bandar, 894 00:49:52,900 --> 00:49:56,490 jadi ia kelihatan seperti, dalam hanya 60 ms, 895 00:49:56,490 --> 00:49:59,420 paket maklumat, 0 dan 1 dari komputer riba saya 896 00:49:59,420 --> 00:50:03,210 mendapat semua cara ke Kansas, dan sekali lagi, dalam 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Selain itu, selepas Kansas, mereka mengambil lawatan melalui Houston, mungkin, 898 00:50:08,180 --> 00:50:10,140 seperti yang dicadangkan oleh nama pelayan ini. 899 00:50:10,140 --> 00:50:13,310 Jadi hanya sebagai pelayan di Internet mesti mempunyai alamat berangka, 900 00:50:13,310 --> 00:50:18,360 ia juga boleh, pilihan, mempunyai alamat yang lebih mesra manusia bahawa manusia datang dengan. 901 00:50:18,360 --> 00:50:20,510 Sekarang, dalam 8 langkah, kita tidak tahu apa ini. 902 00:50:20,510 --> 00:50:22,550 Kadang-kadang hanya router jenis mengabaikan anda, 903 00:50:22,550 --> 00:50:25,010 dan mereka hanya tidak menjawab soalan, jadi itulah denda. 904 00:50:25,010 --> 00:50:29,290 Satu selepas 8 langkah nampaknya mana? LA 905 00:50:29,290 --> 00:50:35,290 Notis dalam hanya 78 ms, apa yang membawa kita manusia seperti 6 + jam untuk melakukan secara fizikal, 906 00:50:35,290 --> 00:50:40,110 mengambil paket maklumat di Internet 78 ms untuk perjalanan yang jauh. 907 00:50:40,110 --> 00:50:45,890 Langkah 10 adalah di LA juga, dan langkah 11 seolah-olah telah hilang utara, berhampiran Stanford. 908 00:50:45,890 --> 00:50:48,750 Ini adalah router sempadan mereka, atau router sempadan. 909 00:50:48,750 --> 00:50:51,240 Satu langkah beberapa di Stanford yang mengabaikan kita, 910 00:50:51,240 --> 00:50:55,610 dan akhir sekali, kita mencapai pelayan web hanya dalam 87 ms. 911 00:50:55,610 --> 00:50:57,760 Sekarang, semua nombor-nombor ini, sebagai diketepikan, 912 00:50:57,760 --> 00:51:00,640 hanya memberitahu anda berapa lama ia mengambil masa untuk data untuk mendapatkan dari saya 913 00:51:00,640 --> 00:51:03,530 kepada setiap router ini, dan ia tidak terkumpul. 914 00:51:03,530 --> 00:51:06,960 Apa program ini tidak, ia mula-mula menghantar mesej, pada dasarnya, router pertama. 915 00:51:06,960 --> 00:51:09,490 Kemudian satu router kedua; kemudian satu router ketiga, 916 00:51:09,490 --> 00:51:12,610 mengukur setiap kali. Jadi dalam teori, kali ini akan berkembang 917 00:51:12,610 --> 00:51:14,860 atau sekurang-kurangnya cukup dekat antara satu sama lain, 918 00:51:14,860 --> 00:51:18,090 dan, sememangnya, orang-orang yang betul di sini di kampus adalah super kecil. 919 00:51:18,090 --> 00:51:20,820 Sebaik sahaja anda mula pergi di seluruh negara, ia mengambil data 920 00:51:20,820 --> 00:51:24,830 sedikit lagi untuk perjalanan, lebih dekat kepada 100 ms, memberi atau mengambil. 921 00:51:24,830 --> 00:51:28,330 Tetapi mari kita pergi ke arah lain sekarang. Bagaimana kira-kira Universiti Cambridge di UK? 922 00:51:28,330 --> 00:51:32,540 Biar saya bukannya menjalankan traceroute www.cam untuk Cambridge, 923 00:51:32,540 --> 00:51:36,710 Ac untuk akademik, uk, dan tekan enter di sini. 924 00:51:36,710 --> 00:51:38,830 Itu adalah agak sialan pantas. 925 00:51:38,830 --> 00:51:43,300 Data saya benar-benar pergi ke Cambridge, England, dalam perpecahan yang kedua masa. 926 00:51:43,300 --> 00:51:45,340 >> Jadi mari kita melihat jalan yang ia mengambil masa. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Crossroads Utara, 928 00:51:47,520 --> 00:51:52,690 yang ISP, dan kemudian ini adalah Crossroads Utara, dan kemudian BAM. 929 00:51:52,690 --> 00:51:58,320 Apakah di antara langkah 6 dan 7, router 6 dan 7? 930 00:51:58,320 --> 00:52:02,040 Lautan Atlantik. Dan kami membuat kesimpulan ini daripada fakta bahawa 931 00:52:02,040 --> 00:52:06,530 kita pergi dari 20 ms sini hingga 80 ms di sini. 932 00:52:06,530 --> 00:52:10,050 Jadi sesuatu yang mengambil 60 ms, memberikan atau mengambil, untuk mendapatkan lebih. 933 00:52:10,050 --> 00:52:12,910 Dan yang mungkin badan air yang besar. 934 00:52:12,910 --> 00:52:15,250 Apa yang berlaku selepas itu? Nah, di sini kita berada di London, 935 00:52:15,250 --> 00:52:18,860 hanya 88 ms kemudian. Lebih London, lebih London, 936 00:52:18,860 --> 00:52:21,730 tidak pasti di mana ini, tetapi kita akan menganggap ia adalah di luar London, 937 00:52:21,730 --> 00:52:26,390 Cambridge di sini, dan akhirnya kita - secara literal, University of Cambridge 938 00:52:26,390 --> 00:52:29,500 . Something.net, dan kemudian, akhirnya, di baris 16, 939 00:52:29,500 --> 00:52:31,720 pelayan web mereka nampaknya dipanggil Scorpius 940 00:52:31,720 --> 00:52:35,500 di bawah hood, walaupun kita tahu ia sebagai www. 941 00:52:35,500 --> 00:52:38,790 Jenis fikiran-bertiup, saya fikir. Kali pertama saya pernah melakukan ini, ia benar-benar meniup fikiran saya. 942 00:52:38,790 --> 00:52:41,670 Malangnya, Harvard menghalang jenis ini trafik, biasanya, pada rangkaian. 943 00:52:41,670 --> 00:52:44,340 Jadi anda tidak boleh melakukannya super mudah. 944 00:52:44,340 --> 00:52:48,500 Sedar, walaupun, ini di sini adalah mungkin. 945 00:52:48,500 --> 00:52:53,630 Semua hak. Mari kita rehat 5-minit kami di sini. Kita akan kembali dan menyelam di lebih mendalam. 946 00:52:53,630 --> 00:53:00,850 Jadi kita kembali, dan kita telah jenis ambled dalam arah yang berbeza sedikit di sini. 947 00:53:00,850 --> 00:53:03,700 Jadi mari kita meringkaskan apa yang telah berlaku di sini. 948 00:53:03,700 --> 00:53:07,990 Kami memulakan perbualan bercakap tentang bahasa ini dipanggil HTML. 949 00:53:07,990 --> 00:53:10,680 Sekali lagi, tidak satu bahasa pengaturcaraan. Ia hanya bahasa markup 950 00:53:10,680 --> 00:53:15,490 yang sebahagian besarnya adalah tentang estetika dan penstrukturan kandungan dalam bentuk laman web. 951 00:53:15,490 --> 00:53:19,220 Tetapi HTML, oleh itu, memerlukan beberapa jenis mekanisme 952 00:53:19,220 --> 00:53:22,870 untuk perjalanan antara pelayar web dan pelayan. 953 00:53:22,870 --> 00:53:28,360 HTML itu jenis tunggangan di atas bahasa ini lain, 954 00:53:28,360 --> 00:53:31,280 atau lebih betul, protokol, yang dikenali sebagai HTTP. 955 00:53:31,280 --> 00:53:33,730 >> Dan HTTP, seperti yang kita telah melihat setakat ini, 956 00:53:33,730 --> 00:53:37,140 adalah jenis mirip kepada konvensyen ini manusia berjabat tangan. 957 00:53:37,140 --> 00:53:39,940 Apabila pelayar mahu meminta halaman daripada pelayan, 958 00:53:39,940 --> 00:53:43,450 ia menghantar bahawa "mendapatkan" permintaan dari pelayar ke pelayan, 959 00:53:43,450 --> 00:53:48,040 dan kemudian pelayan bertindak balas dengan nombor seperti 200, semua okay, 960 00:53:48,040 --> 00:53:53,290 serta HTML atau beberapa nombor buruk seperti 404, Fail tidak dijumpai. 961 00:53:53,290 --> 00:53:58,220 Tetapi Sementara itu, HTTP sendiri tidak Internet, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP hanya perkhidmatan, ciri Internet 963 00:54:01,550 --> 00:54:05,530 banyak seperti G berbual adalah perkhidmatan yang lain, sama seperti e-mel adalah perkhidmatan lain. 964 00:54:05,530 --> 00:54:09,180 Terdapat pelbagai perkara yang boleh kita lakukan di Internet. 965 00:54:09,180 --> 00:54:12,670 HTTP adalah hanya salah satu daripada aplikasi. 966 00:54:12,670 --> 00:54:17,210 Jadi di atas - HTTP adalah di atas sesuatu yang lain 967 00:54:17,210 --> 00:54:21,750 yang kita tidak menyebut nama, anda mungkin telah mendengar dengan nama, TCP IP /. 968 00:54:21,750 --> 00:54:25,160 Jadi kisah kita hanya memberitahu terdapat adalah semua tentang 969 00:54:25,160 --> 00:54:28,720 bagaimana data bergerak dari satu titik ke titik b. 970 00:54:28,720 --> 00:54:30,950 Dan dalam kes ini, kita melihat pada tahap yang sangat rendah 971 00:54:30,950 --> 00:54:33,060 router ke router ke router ke router, 972 00:54:33,060 --> 00:54:35,390 bagaimana data sebenarnya sedang dihantar. 973 00:54:35,390 --> 00:54:40,510 Tetapi di sepanjang jalan, ia akan menghadapi pelbagai halangan. 974 00:54:40,510 --> 00:54:43,770 Selain router ini, terdapat perkara-perkara yang dipanggil firewall di Internet, 975 00:54:43,770 --> 00:54:46,680 dan sebagainya data, seperti yang kita hanya menghantar 976 00:54:46,680 --> 00:54:49,720 dari saya untuk Stanford, dari saya untuk Cambridge, 977 00:54:49,720 --> 00:54:54,560 dihantar, pada peringkat ini, sesuatu yang dipanggil alamat IP. 978 00:54:54,560 --> 00:54:57,340 Kami melihat ini masa lalu, dan alamat IP 979 00:54:57,340 --> 00:55:02,480 adalah hanya alamat berangka w.x.y.z bentuk, 980 00:55:02,480 --> 00:55:08,070 mana semua ini merupakan antara, memberikan atau mengambil, 0 dan 255, 981 00:55:08,070 --> 00:55:10,080 walaupun anda tidak boleh agak menggunakan semua nombor-nombor tersebut. 982 00:55:10,080 --> 00:55:14,220 Tetapi setiap pemegang tempat nombor di antara 0 dan 255. 983 00:55:14,220 --> 00:55:16,820 Jadi alamat IP pada hari ini adalah 32-bit. 984 00:55:16,820 --> 00:55:20,780 >> Sekarang, yang memberikan kita alamat IP berapa banyak mungkin di dunia? 985 00:55:20,780 --> 00:55:24,420 Kira-kira 4 bilion, kerana bila-bila masa yang kita sedang mengira dalam kuasa 2 986 00:55:24,420 --> 00:55:27,760 sepanjang jalan sehingga kepada 32 sesuatu, yang biasanya memberikan kita 4 bilion. 987 00:55:27,760 --> 00:55:30,160 Jadi itulah banyak alamat IP, tetapi anda mungkin telah membaca, 988 00:55:30,160 --> 00:55:32,410 atau kini anda mungkin notis dalam akhbar popular, 989 00:55:32,410 --> 00:55:36,020 menolak ke arah versi baru IP dipanggil IPv6. 990 00:55:36,020 --> 00:55:38,290 Sekarang kita sedang menggunakan versi 4. 991 00:55:38,290 --> 00:55:41,060 Ada benar-benar tidak menjadi versi 5, kami hanya melompat hak ke 6. 992 00:55:41,060 --> 00:55:46,760 Versi 6 akan menggunakan 128 bit alamat IP, yang freaking besar. 993 00:55:46,760 --> 00:55:49,430 Kita tidak harus kehabisan untuk sekian lama kini, 994 00:55:49,430 --> 00:55:52,980 tetapi kita telah mula kehabisan alamat IP versi 4, 995 00:55:52,980 --> 00:55:56,110 kerana kita semua mempunyai bukan sahaja perkara-perkara seperti komputer riba dan desktop, 996 00:55:56,110 --> 00:55:58,700 banyak daripada kita mempunyai telefon, banyak kita mempunyai peranti lain 997 00:55:58,700 --> 00:56:01,600 seperti TiVo dan seperti yang mempunyai alamat IP sendiri. 998 00:56:01,600 --> 00:56:03,720 Harvard sendiri mempunyai puluhan ribu komputer. 999 00:56:03,720 --> 00:56:07,970 Jadi dunia ini benar-benar kehabisan alamat IP, sekurang-kurangnya borang ini. 1000 00:56:07,970 --> 00:56:10,340 Jadi, dalam tempoh beberapa tahun akan datang, anda akan melihat alamat 1001 00:56:10,340 --> 00:56:12,870 pada komputer anda sendiri mungkin perlahan-lahan menukar 1002 00:56:12,870 --> 00:56:16,740 sebagai lebih dan lebih banyak syarikat dan universiti mula menyokong versi yang lebih baru. 1003 00:56:16,740 --> 00:56:22,770 Tetapi alamat IP tidak mencukupi untuk komputer meminta data dari komputer b. 1004 00:56:22,770 --> 00:56:24,950 Kerana komputer b boleh menjadi pelayan, 1005 00:56:24,950 --> 00:56:27,600 dan pelayan, seperti yang saya nyatakan sebelum ini, boleh melakukan tandan perkara. 1006 00:56:27,600 --> 00:56:29,940 Ia boleh menjadi tuan rumah laman web, ia boleh menjadi pelayan e-mel, 1007 00:56:29,940 --> 00:56:32,310 ia boleh menjadi pelayan Skype, ia boleh menjadi pelayan G sembang. 1008 00:56:32,310 --> 00:56:35,870 >> Semua perkhidmatan ini berbeza yang boleh diperuntukkan pada pelayan 1009 00:56:35,870 --> 00:56:38,330 semua boleh, fizikal, pada mesin yang sama. 1010 00:56:38,330 --> 00:56:40,380 Jadi di samping kepada alamat IP, 1011 00:56:40,380 --> 00:56:43,250 dunia mempunyai perkara-perkara yang dipanggil pelabuhan di Internet. 1012 00:56:43,250 --> 00:56:47,830 Pelabuhan adalah hanya beberapa, jadi terdapat nombor unik untuk HTTP. 1013 00:56:47,830 --> 00:56:50,280 Nombor ialah 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP juga menggunakan nombor 443, tetapi lebih khusus, untuk HTTPS disulitkan. 1015 00:56:55,870 --> 00:57:00,030 Apabila anda melihat s, untuk selamat, yang menggunakan nombor yang berbeza. 1016 00:57:00,030 --> 00:57:06,580 Terdapat nombor lain, seperti 25, yang digunakan untuk sesuatu yang dipanggil SMTP, atau dikenali sebagai e-mel. 1017 00:57:06,580 --> 00:57:09,620 Ada sesuatu yang dipanggil 22 untuk SSH, 1018 00:57:09,620 --> 00:57:11,850 dan ada sekumpulan keseluruhan pelabuhan-pelabuhan lain di luar sana. 1019 00:57:11,850 --> 00:57:14,460 Sekarang, kita manusia jarang melihat nombor-nombor ini. 1020 00:57:14,460 --> 00:57:21,970 Walau bagaimanapun, apabila anda menaip alamat seperti http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 pelayar rahsia memasukkan 80, kerana anda sedang menggunakan HTTP. 1022 00:57:26,560 --> 00:57:30,630 Jika anda, sebaliknya, HTTPS jenis, ia diam-diam memasukkan 443. 1023 00:57:30,630 --> 00:57:35,180 Dan kita boleh jenis melihat ini secara manual jika saya tarik sehingga Brower 1024 00:57:35,180 --> 00:57:41,850 dan pergi ke http://www.facebook.com:80. 1025 00:57:41,850 --> 00:57:44,550 Oleh itu jelas tidak memetik hanya nama laman web 1026 00:57:44,550 --> 00:57:47,650 tetapi pelabuhan yang saya mahu bercakap dengan, dan tekan enter. 1027 00:57:47,650 --> 00:57:50,170 Perhatikan ia hilang, kerana pelayar mengandaikan, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, saya tidak akan mengganggu menunjukkan bahawa kepada anda. 1029 00:57:53,360 --> 00:57:56,400 Tetapi sebab untuk ini adalah bahawa jika saya benar-benar mahu menghantar seseorang e-mel, 1030 00:57:56,400 --> 00:58:02,340 Saya benar-benar akan menghantarnya kepada mereka pada port 25, yang menjadi SMTP. 1031 00:58:02,340 --> 00:58:04,890 Sedikit daripada melampaui batas, tetapi sesetengah daripada anda mempunyai rakan-rakan 1032 00:58:04,890 --> 00:58:09,290 yang sebenarnya bekerja di Facebook, dan mereka, sama, mempunyai pelayan yang menerima e-mel. 1033 00:58:09,290 --> 00:58:12,610 >> Bila-bila masa anda menghantar e-mel, apakah gmail lakukan untuk anda 1034 00:58:12,610 --> 00:58:14,960 atau Outlook atau apa sahaja program yang anda gunakan, 1035 00:58:14,960 --> 00:58:19,270 ia adalah jenis rahsia memasukkan nombor yang baik, 25, dalam kes itu. 1036 00:58:19,270 --> 00:58:24,490 Ia adalah gabungan ini alamat IP dan nombor unik yang mengenalpasti 1037 00:58:24,490 --> 00:58:29,190 komputer di Internet dan perkhidmatan tertentu pada komputer itu. 1038 00:58:29,190 --> 00:58:33,460 Kini, sudah tentu, kebanyakan kita telah mungkin tidak pernah ditaip manual alamat IP. 1039 00:58:33,460 --> 00:58:37,340 Mungkin anda mempunyai perkakas, tetapi dalam dunia sebenar, tidak begitu banyak. 1040 00:58:37,340 --> 00:58:42,750 Mengapa kita tidak menaip alamat IP ke dalam pelayar? 1041 00:58:42,750 --> 00:58:45,860 Ia akan bekerja, pada hakikatnya, kita boleh melihat ini, izinkan saya menunjukkan kepada anda 1042 00:58:45,860 --> 00:58:50,000 satu perintah lain yang perlu bekerja yang paling mana-mana sahaja di kampus Harvard pada Mac atau PC. 1043 00:58:50,000 --> 00:58:53,970 Ada perintah ini dipanggil nslookup, nama pelayan lookup. 1044 00:58:53,970 --> 00:58:59,960 Jika saya melihat sehingga www.cnn.com, ia ternyata bahawa CNN - oh, menarik. 1045 00:58:59,960 --> 00:59:03,180 CNN telah mula menggunakan Amazon perkhidmatan web. 1046 00:59:03,180 --> 00:59:06,380 Anda mungkin tahu awan pengkomputeran, salah satu pemain besar dalam perkomputeran awan Amazon. 1047 00:59:06,380 --> 00:59:10,240 Apa yang saya hanya lakukan ialah, saya berkata, 'Berikan saya alamat pelayan web CNN,' 1048 00:59:10,240 --> 00:59:14,090 tetapi ternyata bahawa pelayan web CNN diuruskan oleh Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon perkhidmatan web, ini menunjukkan. 1050 00:59:16,030 --> 00:59:19,680 Dan alamat pelayan itu ini di sini. 1051 00:59:19,680 --> 00:59:22,350 Jadi saya tidak pasti jika ini akan bekerja, kerana mereka tidak digunakan untuk menggunakan Amazon. 1052 00:59:22,350 --> 00:59:32,830 Tetapi mari kita cuba ini; http://, alamat IP, masukkan, dan - 1053 00:59:32,830 --> 00:59:35,690 ia pergi ke tempat kerja? 1054 00:59:35,690 --> 00:59:39,280 Ya. Ia akan bekerja. Internet adalah super lambat hari ini. 1055 00:59:39,280 --> 00:59:43,680 Tetapi, dalam masa, anda akan melihat beberapa berita. 1056 00:59:43,680 --> 00:59:48,360 Terdapat kita pergi. Bank of America disaman. Semua hak. 1057 00:59:48,360 --> 00:59:54,000 >> Ini adalah kerana ini alamat IP hanya berlaku oleh sinonim dengan www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Sudah tentu, ia akan menjadi pemasaran dahsyat untuk mengatakan, layari laman web kami di Web di 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Anda tidak akan ingat. Jadi, walaupun hari ini anda mungkin ingat perkara-perkara 1060 01:00:02,370 --> 01:00:07,210 seperti 1-800-COLLECT atau mnemonik dunia datang dengan nombor telefon. 1061 01:00:07,210 --> 01:00:09,540 Yang, sebelum telefon bimbit, agak sukar untuk ingat 1062 01:00:09,540 --> 01:00:11,800 sehingga anda hanya boleh menaip dalam dan melupakannya. 1063 01:00:11,800 --> 01:00:15,730 Jadi Web, juga, mempunyai konvensyen ini nama dan alamat IP, 1064 01:00:15,730 --> 01:00:17,770 dan terdapat perkara-perkara ini di luar sana yang dipanggil pelayan DNS, 1065 01:00:17,770 --> 01:00:23,870 sistem nama domain pelayan, yang menterjemahkan alamat IP ke nama dan sebaliknya. 1066 01:00:23,870 --> 01:00:26,340 Supaya apa yang berlaku di bawah hood. 1067 01:00:26,340 --> 01:00:29,540 Pada akhirnya, kita mempunyai TCP / IP, yang ini protokol sangat rendah tahap 1068 01:00:29,540 --> 01:00:32,570 bahawa, benar-benar, hanya mendapat 0 dan 1 di Internet, 1069 01:00:32,570 --> 01:00:36,030 dan ia berbuat demikian dengan meletakkan mereka ke dalam sampul surat yang maya, 1070 01:00:36,030 --> 01:00:38,820 jika anda akan, dan menulis di luar sampul surat 1071 01:00:38,820 --> 01:00:43,930 alamat IP destinasi, serta nombor port angka 1072 01:00:43,930 --> 01:00:47,520 perkhidmatan pada destinasi bahawa ia mahu untuk bercakap. 1073 01:00:47,520 --> 01:00:51,060 Sementara itu, pada sampul surat terdapat juga sesuatu yang dikenali sebagai alamat kembali, 1074 01:00:51,060 --> 01:00:55,600 yang alamat IP anda, supaya apabila CNN mendapat paket maklumat daripada anda, 1075 01:00:55,600 --> 01:00:58,710 membuka sampul surat maya ini, melihat bahawa anda mahu halaman rumah, 1076 01:00:58,710 --> 01:01:04,630 ia tahu dari bahagian pengirim sampul surat maya ini siapa untuk menghantar kembali HTML. 1077 01:01:04,630 --> 01:01:07,470 Jadi mari kita lihat ini dalam sedikit lebih terperinci. 1078 01:01:07,470 --> 01:01:11,370 Ini adalah dari sebuah syarikat yang dipanggil Ericson, dari beberapa tahun lalu. 1079 01:01:11,370 --> 01:01:14,780 Dan mereka mengambil beberapa kebebasan dengan bagaimana Internet sebenarnya berfungsi, 1080 01:01:14,780 --> 01:01:18,920 tetapi ia cat gambar yang lebih visual daripada kapur semata-mata di sini. 1081 01:01:18,920 --> 01:01:26,690 Jadi saya memberi anda "A Bit Internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Pencerita] Untuk pertama kalinya dalam sejarah, 1083 01:02:29,840 --> 01:02:35,260 rakyat dan jentera bekerja bersama-sama, merealisasikan impian. 1084 01:02:35,260 --> 01:02:38,910 Satu pasukan menyatukan yang tidak mengenal sempadan geografi. 1085 01:02:38,910 --> 01:02:43,230 Tanpa mengambil kira bangsa, agama, warna atau. 1086 01:02:43,230 --> 01:02:47,770 Satu era baru di mana komunikasi yang benar-benar membawa rakyat bersama-sama. 1087 01:02:47,770 --> 01:02:50,070 Ini adalah 1088 01:02:50,070 --> 01:02:54,980 Dawn of Net. 1089 01:02:54,980 --> 01:03:04,640 Ingin tahu bagaimana ia berfungsi? Klik di sini untuk memulakan perjalanan anda ke Internet. 1090 01:03:04,640 --> 01:03:07,890 Kini, apa yang berlaku apabila anda klik pada pautan itu? 1091 01:03:07,890 --> 01:03:10,150 Anda mula aliran maklumat. 1092 01:03:10,150 --> 01:03:13,310 Maklumat ini bergerak ke dalam mailroom peribadi anda sendiri 1093 01:03:13,310 --> 01:03:18,500 mana pakej IP Encik, label, dan menghantarnya dalam perjalanan. 1094 01:03:18,500 --> 01:03:20,960 Setiap paket adalah terhad dalam saiz. 1095 01:03:20,960 --> 01:03:23,880 Bilik mel mesti memutuskan bagaimana untuk membahagikan maklumat 1096 01:03:23,880 --> 01:03:26,070 dan bagaimana untuk pakej. 1097 01:03:26,070 --> 01:03:29,550 Sekarang, pakej memerlukan label yang mengandungi maklumat penting 1098 01:03:29,550 --> 01:03:35,570 seperti alamat, pengirim, alamat penerima, dan jenis paket ia. 1099 01:03:51,700 --> 01:03:54,980 Kerana ini paket tertentu akan keluar ke Internet, 1100 01:03:54,980 --> 01:03:57,720 ia juga mendapat alamat untuk pelayan proksi, 1101 01:03:57,720 --> 01:04:01,520 yang mempunyai fungsi khas, seperti yang kita akan lihat nanti. 1102 01:04:01,520 --> 01:04:06,650 Paket kini dilancarkan ke rangkaian kawasan tempatan anda, atau LAN. 1103 01:04:06,650 --> 01:04:10,160 Rangkaian ini digunakan untuk menyambungkan semua komputer tempatan ' 1104 01:04:10,160 --> 01:04:15,900 router, pencetak, dan sebagainya, untuk pertukaran maklumat dalam tembok fizikal bangunan. 1105 01:04:15,900 --> 01:04:20,290 LAN adalah tempat yang cukup tidak terkawal, dan, malangnya, 1106 01:04:20,290 --> 01:04:23,950 kemalangan boleh berlaku. 1107 01:04:31,190 --> 01:04:34,710 Lebuh raya LAN dipenuhi dengan semua jenis maklumat. 1108 01:04:34,710 --> 01:04:38,900 Ini adalah paket IP, Novell paket, AppleTalk paket. 1109 01:04:38,900 --> 01:04:41,270 Mereka akan menentang trafik, seperti biasa. 1110 01:04:41,270 --> 01:04:44,260 Router tempatan membaca alamat dan, jika perlu, 1111 01:04:44,260 --> 01:04:48,520 lif paket ke rangkaian lain. 1112 01:04:48,520 --> 01:04:54,270 Ah, router. Satu simbol kawalan dalam dunia yang seolah-olah tidak teratur. 1113 01:04:54,270 --> 01:05:05,480 [Router hal mengomel dan bercakap kepada dirinya] 1114 01:05:05,480 --> 01:05:10,030 >> [Pencerita] Ada dia, sistematik, peduli, teratur, 1115 01:05:10,030 --> 01:05:14,150 konservatif, dan kadang-kadang tidak cukup sehingga kelajuan. 1116 01:05:14,150 --> 01:05:17,680 Tetapi sekurang-kurangnya dia adalah tepat, untuk sebahagian besar. 1117 01:05:32,270 --> 01:05:36,820 Sebagai paket meninggalkan router, mereka membuat cara mereka ke dalam Internet korporat 1118 01:05:36,820 --> 01:05:40,830 dan kepala untuk suis router. 1119 01:05:40,830 --> 01:05:46,250 Sedikit lebih cekap daripada router, suis penghala memainkan cepat dan longgar dengan paket IP, 1120 01:05:46,250 --> 01:05:48,920 cekap laluan mereka di sepanjang jalan mereka. 1121 01:05:48,920 --> 01:05:52,130 A 'pinball wizard,' digital jika anda akan. 1122 01:05:52,130 --> 01:06:04,270 [Router suis bercakap kepada dirinya] 1123 01:06:09,830 --> 01:06:12,150 [Pencerita] Sebagai paket tiba di destinasi mereka, 1124 01:06:12,150 --> 01:06:14,740 mereka dipilih oleh antara muka rangkaian, 1125 01:06:14,740 --> 01:06:18,040 bersedia untuk dihantar ke tahap yang seterusnya. 1126 01:06:18,040 --> 01:06:21,010 Dalam kes ini, proksi. 1127 01:06:21,010 --> 01:06:25,040 Proksi digunakan oleh banyak syarikat sebagai jenis lelaki pertengahan 1128 01:06:25,040 --> 01:06:27,630 dalam usaha untuk mengurangkan beban pada sambungan internet 1129 01:06:27,630 --> 01:06:32,240 dan atas sebab-sebab keselamatan, serta. 1130 01:06:32,240 --> 01:06:38,750 Seperti yang anda boleh lihat, paket semua pelbagai saiz bergantung kepada kandungan mereka. 1131 01:06:55,210 --> 01:07:01,890 Proksi membuka paket dan kelihatan untuk alamat web atau URL. 1132 01:07:01,890 --> 01:07:04,950 Bergantung kepada sama ada alamat boleh diterima, 1133 01:07:04,950 --> 01:07:08,000 paket dihantar ke Internet. 1134 01:07:13,890 --> 01:07:19,630 Terdapat, bagaimanapun, beberapa alamat yang tidak memenuhi dengan kelulusan proksi. 1135 01:07:19,630 --> 01:07:25,680 Itu adalah untuk mengatakan, garis panduan korporat atau pengurusan. 1136 01:07:25,680 --> 01:07:30,580 Ini akan terus ditangani. 1137 01:07:30,580 --> 01:07:32,410 Kita akan mempunyai semua itu. 1138 01:07:32,410 --> 01:07:36,350 Bagi mereka yang membuat ia, ia adalah di jalan raya sekali lagi. 1139 01:07:46,850 --> 01:07:53,310 >> Sehingga Seterusnya, firewall. 1140 01:07:53,310 --> 01:07:57,410 Firewall korporat berfungsi dua tujuan. 1141 01:07:57,410 --> 01:08:02,420 Ia menghalang beberapa perkara yang agak jahat dari Internet dari mula masuk ke Intranet, 1142 01:08:02,420 --> 01:08:10,280 dan ia juga boleh mencegah maklumat korporat sensitif daripada dihantar keluar ke Internet. 1143 01:08:10,280 --> 01:08:12,980 Setelah melalui firewall, router picks paket 1144 01:08:12,980 --> 01:08:18,180 dan meletakkan ia ke jalan yang lebih sempit, atau bandwidth, seperti yang kita katakan. 1145 01:08:18,180 --> 01:08:23,720 Jelas sekali, jalan raya tidak cukup luas untuk membawa mereka semua. 1146 01:08:23,720 --> 01:08:29,319 Kini, anda mungkin tertanya-tanya apa yang berlaku kepada semua orang-orang paket yang tidak membuat ia sepanjang jalan. 1147 01:08:29,319 --> 01:08:32,270 Nah, apabila IP Encik tidak menerima pengakuan 1148 01:08:32,270 --> 01:08:35,000 bahawa paket telah diterima dalam masa yang sewajarnya, 1149 01:08:35,000 --> 01:08:39,890 dia hanya menghantar paket gantian. 1150 01:08:39,890 --> 01:08:44,760 Kami kini bersedia untuk memasuki dunia Internet. 1151 01:08:44,760 --> 01:08:49,370 Spiderweb rangkaian yang saling yang merangkumi seluruh dunia kami. 1152 01:08:49,370 --> 01:08:56,050 Di sini, router dan suis mewujudkan hubungan antara rangkaian. 1153 01:08:56,050 --> 01:08:59,200 Sekarang, Net merupakan satu persekitaran yang sama sekali berbeza daripada yang anda akan dapati 1154 01:08:59,200 --> 01:09:01,569 dalam tembok perlindungan LAN anda. 1155 01:09:01,569 --> 01:09:04,060 Di sini, ia adalah Wild West. 1156 01:09:04,060 --> 01:09:06,359 Banyak ruang, banyak peluang, 1157 01:09:06,359 --> 01:09:09,760 banyak perkara untuk meneroka dan tempat-tempat untuk pergi. 1158 01:09:09,760 --> 01:09:12,760 Terima kasih kepada kawalan yang sangat sedikit dan peraturan, 1159 01:09:12,760 --> 01:09:18,300 idea-idea baru mencari tanah yang subur untuk menolak sampul kemungkinan mereka. 1160 01:09:18,300 --> 01:09:22,330 Tetapi kerana kebebasan ini, bahaya tertentu juga bersembunyi. 1161 01:09:22,330 --> 01:09:27,000 Anda tidak akan tahu apabila anda akan bertemu ping ditakuti kematian, 1162 01:09:27,000 --> 01:09:29,890 versi khas ping permintaan biasa, 1163 01:09:29,890 --> 01:09:35,720 yang bodoh sesetengah orang berpendapat untuk mes tuan rumah yang tidak curiga. 1164 01:09:35,720 --> 01:09:39,130 Laluan paket kami mengambil mungkin melalui satelit, 1165 01:09:39,130 --> 01:09:43,090 talian telefon, wayarles, atau kabel walaupun merentasi lautan. 1166 01:09:43,090 --> 01:09:46,520 Mereka tidak sentiasa mengambil laluan terpantas atau sesingkat mungkin, 1167 01:09:46,520 --> 01:09:50,290 tetapi mereka akan sampai ke sana akhirnya. 1168 01:09:50,290 --> 01:09:55,230 Mungkin itulah sebabnya ia kadang-kadang dipanggil "Tunggu World Wide." 1169 01:09:55,230 --> 01:09:57,980 Tetapi apabila segala-galanya berfungsi dengan lancar, 1170 01:09:57,980 --> 01:10:03,800 anda boleh memintas dunia lima kali lebih pada kejatuhan topi, secara literal. 1171 01:10:03,800 --> 01:10:08,230 Dan semua kos panggilan tempatan atau kurang. 1172 01:10:08,230 --> 01:10:15,070 Berhampiran akhir destinasi kami, kami akan mencari firewall lain. 1173 01:10:15,070 --> 01:10:18,420 >> Bergantung kepada perspektif anda sebagai data paket, 1174 01:10:18,420 --> 01:10:23,730 firewall boleh menjadi benteng keselamatan atau musuh yang ditakuti. 1175 01:10:23,730 --> 01:10:28,530 Ia semua bergantung kepada pihak mana anda berada di dan apa niat anda. 1176 01:10:28,530 --> 01:10:34,990 Firewall direka untuk membiarkan sahaja Jenis paket yang memenuhi kriteria. 1177 01:10:34,990 --> 01:10:39,360 Firewall ini beroperasi pada port 80 dan 25. 1178 01:10:39,360 --> 01:10:46,630 Semua percubaan untuk masuk melalui pelabuhan-pelabuhan lain ditutup untuk perniagaan. 1179 01:10:57,660 --> 01:11:03,480 Port 25 adalah digunakan untuk paket mel, 1180 01:11:03,480 --> 01:11:10,720 manakala port 80 adalah pintu masuk untuk paket dari Internet ke pelayan web. 1181 01:11:10,720 --> 01:11:15,080 Di dalam firewall, paket ditayangkan lebih teliti. 1182 01:11:15,080 --> 01:11:17,970 Beberapa paket membuat ia mudah melalui kastam, 1183 01:11:17,970 --> 01:11:21,420 manakala yang lain kelihatan hanya sedikit meragukan. 1184 01:11:21,420 --> 01:11:24,060 Sekarang, pegawai firewall tidak mudah tertipu, 1185 01:11:24,060 --> 01:11:32,120 seperti ketika ini ping paket kematian cuba untuk menyembunyikan dirinya sebagai paket ping normal. 1186 01:11:32,120 --> 01:11:37,520 [Firewall pegawai bercakap kepada paket] 1187 01:11:37,520 --> 01:11:40,510 [Pencerita] Bagi mereka paket bernasib baik untuk membuat ia sejauh ini, 1188 01:11:40,510 --> 01:11:45,730 perjalanan hampir berakhir. 1189 01:11:45,730 --> 01:11:52,130 Ia hanya beratur di muka akan diambil ke dalam pelayan web. 1190 01:11:52,130 --> 01:11:55,440 Kini, pelayan web boleh dijalankan pada banyak perkara, 1191 01:11:55,440 --> 01:11:59,230 dari kerangka utama ke web cam komputer di atas meja anda. 1192 01:11:59,230 --> 01:12:01,720 Kenapa bukan peti sejuk anda? 1193 01:12:01,720 --> 01:12:04,870 Dengan persediaan yang sepatutnya, anda boleh mengetahui jika anda mempunyai bakat untuk menjadi 1194 01:12:04,870 --> 01:12:08,390 Ayam Cacciatore, atau jika anda perlu pergi membeli-belah. 1195 01:12:08,390 --> 01:12:11,760 Ingat, ini adalah subuh Net. 1196 01:12:11,760 --> 01:12:17,310 Hampir apa sahaja boleh didapati. 1197 01:12:17,310 --> 01:12:20,440 Satu demi satu, paket diterima, 1198 01:12:20,440 --> 01:12:26,320 dibuka, dan terpadat. 1199 01:12:26,320 --> 01:12:31,200 Maklumat yang mereka mengandungi, iaitu, permintaan anda untuk maklumat, 1200 01:12:31,200 --> 01:12:34,830 dihantar kepada aplikasi pelayan web. 1201 01:12:41,540 --> 01:12:47,140 Paket itu sendiri adalah dikitar semula, 1202 01:12:47,140 --> 01:12:57,570 sedia untuk digunakan lagi, dan dipenuhi dengan maklumat yang diminta anda, 1203 01:12:57,570 --> 01:13:03,340 ditangani, dan dihantar keluar dalam perjalanan kembali kepada anda. 1204 01:13:03,340 --> 01:13:13,250 Kembali lalu firewall, router, dan melalui Internet. 1205 01:13:13,250 --> 01:13:21,020 Kembali melalui firewall korporat anda 1206 01:13:21,020 --> 01:13:24,180 dan ke muka anda, 1207 01:13:24,180 --> 01:13:31,180 bersedia untuk membekalkan pelayar web anda dengan maklumat yang anda minta. 1208 01:13:31,180 --> 01:13:39,840 Iaitu, filem ini. 1209 01:13:39,840 --> 01:13:43,550 Gembira dengan usaha mereka, dan mempercayai bahawa dunia yang lebih baik, 1210 01:13:43,550 --> 01:13:50,250 paket data kepercayaan kami menaiki blissfully ke matahari terbenam hari lain, 1211 01:13:50,250 --> 01:13:56,880 mengetahui sepenuhnya mereka telah berkhidmat tuan-tuan mereka dengan baik. 1212 01:13:56,880 --> 01:14:02,560 Sekarang, tidak adalah bahawa berakhir bahagia? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Okay, itu sudah cukup. Kami akan melihat anda minggu depan. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]