1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [Minggu 7, Lanjutan] 2 00:00:02,620 --> 00:00:05,090 [David J. Malan, Universitas Harvard] 3 00:00:05,090 --> 00:00:07,780 [Ini adalah CS50.] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 Baiklah. Selamat Datang Kembali. Ini adalah CS50, 5 00:00:09,810 --> 00:00:12,100 dan ini adalah akhir minggu 7. 6 00:00:12,100 --> 00:00:15,460 Jadi salah satu dari hal-hal kecil yang bodoh yang terjadi di sekitar Internet 7 00:00:15,460 --> 00:00:24,080 dan kami menghirup up, dan sekarang harus membuat sedikit akal culun untuk Anda. 8 00:00:24,080 --> 00:00:28,330 Nah, itu lucu untuk orang ini daripada itu untuk kalian. 9 00:00:28,330 --> 00:00:32,619 Berbicara tentang, well, guys, 10 00:00:32,619 --> 00:00:42,550 hari ini adalah hari ulang tahun Nate. 11 00:00:42,550 --> 00:00:46,630 Untuk memberikan rasa Nate betapa baik dan saya 12 00:00:46,630 --> 00:00:50,140 pada pengembangan web berdasarkan kelas Senin dan berdasarkan sekarang ini, 13 00:00:50,140 --> 00:00:53,170 Saya pikir saya akan menarik halaman rumah Nate, jika Anda belum melihatnya. 14 00:00:53,170 --> 00:00:57,020 Ini HTML AGLOCO Nate di sini. 15 00:00:57,020 --> 00:00:59,380 Jadi melihat source-nya jika Anda ingin melihat bagaimana melakukan ini, dan Nate, 16 00:00:59,380 --> 00:01:02,250 jika kita bisa malu Anda hanya sebentar, staf mendapat Anda sedikit sesuatu 17 00:01:02,250 --> 00:01:06,080 jika Anda ingin berbagi beberapa hidangan penutup dengan beberapa anak-anak di kelas di sini. 18 00:01:06,080 --> 00:01:10,150 Jika Anda ingin datang pada turun. 19 00:01:10,150 --> 00:01:14,350 Kalian semua bertepuk tangan dan sangat bagus, tapi tidak ada yang duduk di dekat Nate, 20 00:01:14,350 --> 00:01:17,560 untuk beberapa alasan, di zona belakang. 21 00:01:17,560 --> 00:01:24,020 Jadi mungkin Anda dapat menemukan beberapa orang untuk menikmati ini dengan. 22 00:01:24,020 --> 00:01:33,380 Selamat Ulang Tahun, Nate. 23 00:01:33,380 --> 00:01:37,660 >> Hellos Tambahan: Kami menunjukkan klip dari beberapa siswa CS50x kami. 24 00:01:37,660 --> 00:01:39,710 Jika Anda ingin melihat siapa lagi itu ada di dalam dunia 25 00:01:39,710 --> 00:01:41,850 yang mengikuti dari awal, Anda dapat menuju ke URL ini, 26 00:01:41,850 --> 00:01:45,780 di mana Yusuf, salah satu dari TF kami, telah mengumpulkan montase macam 27 00:01:45,780 --> 00:01:50,290 setiap orang yang telah mengirimkan video ini, di antaranya Rick Astley. 28 00:01:50,290 --> 00:01:53,010 Dan jika Anda menggulir melalui, itu benar-benar sangat inspiratif 29 00:01:53,010 --> 00:01:56,890 untuk melihat keragaman negara-negara dan kota-kota dari mana orang yang memanggil. 30 00:01:56,890 --> 00:02:00,830 Jadi jika Anda ingin melihat pada saat itu, yang akan naik sampai akhir semester. 31 00:02:00,830 --> 00:02:05,370 Hari ini kita melanjutkan melihat kami di Web, web programming, HTML dan sejenisnya, 32 00:02:05,370 --> 00:02:08,280 dan kami juga telah makan siang yang datang Jumat ini 33 00:02:08,280 --> 00:02:11,360 jika Anda ingin, dan khususnya, belum melakukannya sebelumnya. 34 00:02:11,360 --> 00:02:13,630 Tema ini Jumat akan menjadi hari ulang Nate, 35 00:02:13,630 --> 00:02:15,700 jadi jika Anda ingin memiliki makan siang ulang tahun dengan Nate 36 00:02:15,700 --> 00:02:17,500 dan lain-lain, beberapa teman-teman kita dari Industri, 37 00:02:17,500 --> 00:02:19,300 silakan kepala ke URL yang ada. 38 00:02:19,300 --> 00:02:22,510 Ruang, seperti biasa, adalah terbatas. Juga, jika Anda lupa, 39 00:02:22,510 --> 00:02:26,460 menyadari bahwa minggu depan adalah batas waktu untuk masalah mengatur perburuan 4 s, 40 00:02:26,460 --> 00:02:30,070 dimana setelah pulih semua orang JPEG dari card.raw, 41 00:02:30,070 --> 00:02:32,880 Anda dan pasangan bagian, jika Anda ingin, dapat mencoba memotret 42 00:02:32,880 --> 00:02:36,100 karena banyak ilmuwan komputer dari kartu memori mungkin, 43 00:02:36,100 --> 00:02:39,070 dan Anda dan bagian Anda kemudian akan memenangkan hadiah luar biasa. 44 00:02:39,070 --> 00:02:44,470 Lihat kembali ke spesifikasi pset 4 sebagai apa untuk mengirimkan dan kapan. 45 00:02:44,470 --> 00:02:47,650 Juga, jika Anda ingin memiliki karya Anda diabadikan 46 00:02:47,650 --> 00:02:51,400 di website kursus dan sejarahnya pakaian, 47 00:02:51,400 --> 00:02:54,010 tahu bahwa Anda dipersilakan sekarang untuk mulai mengirimkan desain 48 00:02:54,010 --> 00:02:57,180 untuk tahun ini T-shirt dan kaus dan sejenisnya. 49 00:02:57,180 --> 00:02:59,200 Kami akan melakukan yang terbaik untuk memasukkan sebanyak yang kita bisa, 50 00:02:59,200 --> 00:03:01,440 tapi kita akan memiliki beberapa anggota dari tinjauan staf semua desain 51 00:03:01,440 --> 00:03:04,180 untuk memastikan mereka sesuai dengan spesifikasi, 52 00:03:04,180 --> 00:03:07,500 dan kami kemudian memilih umumnya sedikit dari mereka yang akan dipamerkan. 53 00:03:07,500 --> 00:03:10,620 Jadi jika Anda adalah tipe desain, hanya tahu bahwa persyaratan 54 00:03:10,620 --> 00:03:14,030 untuk grafis adalah PNG, setidaknya 200 DPI, 55 00:03:14,030 --> 00:03:16,520 mereka tidak boleh lebih dari 4000 x 4000 piksel, 56 00:03:16,520 --> 00:03:19,010 dan tidak lebih dari 10 MB, tapi kau dipersilakan untuk menggunakan hal-hal seperti 57 00:03:19,010 --> 00:03:22,430 Photoshop atau GIMP atau berbagai program grafis komputer, 58 00:03:22,430 --> 00:03:24,590 apa pun yang Anda miliki Anda. 59 00:03:24,590 --> 00:03:28,280 >> Juga pada cakrawala adalah tugas akhir. Proyek akhir benar-benar adalah klimaks dari 50, 60 00:03:28,280 --> 00:03:30,560 dimana dari semua tugas dalam kursus, 61 00:03:30,560 --> 00:03:33,170 ini adalah kesempatan Anda benar-benar untuk melakukan hal Anda sendiri. 62 00:03:33,170 --> 00:03:35,280 Dan itu bisa saja melakukan sesuatu untuk bersenang-senang, 63 00:03:35,280 --> 00:03:38,160 dapat memecahkan beberapa masalah mendesak kelompok mahasiswa Anda memiliki, 64 00:03:38,160 --> 00:03:40,980 untuk beberapa website baru, beberapa mekanisme koleksi baru untuk data. 65 00:03:40,980 --> 00:03:43,420 Ini bisa menjadi aplikasi mobile untuk Android, iOS untuk. 66 00:03:43,420 --> 00:03:46,030 Sungguh, langit adalah batas, dan selama beberapa minggu ke depan, 67 00:03:46,030 --> 00:03:50,900 seperti yang kita transisi dari C terhadap bahasa tingkat tinggi seperti PHP dan JavaScript, 68 00:03:50,900 --> 00:03:55,150 Anda akan menemukan diri Anda semakin akrab dengan beberapa teknik dunia nyata, 69 00:03:55,150 --> 00:03:57,800 beberapa dunia nyata alat, dan untuk melengkapi itu, 70 00:03:57,800 --> 00:04:00,170 tahu bahwa tentu saja memiliki sejarah seminar, 71 00:04:00,170 --> 00:04:02,880 dimana selama beberapa minggu berikutnya, beberapa staf pengajar 72 00:04:02,880 --> 00:04:06,160 dan teman-teman kita dari di kampus akan menawarkan seminar opsional 73 00:04:06,160 --> 00:04:08,540 yang pergi di atas dan melampaui apa yang biasanya dilakukan di bagian 74 00:04:08,540 --> 00:04:11,090 untuk memperkenalkan Anda untuk hal-hal seperti pemrograman Android, 75 00:04:11,090 --> 00:04:13,450 untuk memperkenalkan Anda untuk hal-hal seperti iOS pemrograman 76 00:04:13,450 --> 00:04:15,950 atau lebih maju web-pengembangan teknik. 77 00:04:15,950 --> 00:04:17,970 Ada seluruh sejarah ini sudah online. 78 00:04:17,970 --> 00:04:25,000 Jika Anda pergi ke cs50.net/seminars, kita sudah melakukan hal ini untuk beberapa tahun, 79 00:04:25,000 --> 00:04:28,740 dan Anda akan melihat bahwa diarsipkan di sini dengan PDF dan video dan sejenisnya 80 00:04:28,740 --> 00:04:33,090 adalah video beberapa lusin seminar. 81 00:04:33,090 --> 00:04:37,380 Tahun lalu, misalnya, kami punya seminar tentang acing wawancara teknis, 82 00:04:37,380 --> 00:04:40,980 jika Anda benar-benar ingin pergi dan melakukan magang atau penuh waktu manggung. 83 00:04:40,980 --> 00:04:43,450 Windows mobile pembangunan, pengembangan Android, Google Maps, 84 00:04:43,450 --> 00:04:47,700 API, CSS, pengembangan untuk BlackBerry, Emacs. 85 00:04:47,700 --> 00:04:52,610 Sungguh, Anda dipersilakan untuk melihat salah satu seminar pada kenyamanan Anda. 86 00:04:52,610 --> 00:04:57,080 Dan kita akan mengadakan beberapa yang baru semester ini, juga. 87 00:04:57,080 --> 00:04:59,020 >> Jadi apa yang di depan dengan tugas akhir? 88 00:04:59,020 --> 00:05:01,090 Yah, pertama, meskipun tanggal ini agak dekat, 89 00:05:01,090 --> 00:05:06,460 ini benar-benar hanya sebuah kesempatan untuk mulai berpikir tentang proyek akhir cukup realistis. 90 00:05:06,460 --> 00:05:10,550 Kita tahu hanya awal dari beberapa dari apa yang kita masih akan mencakup dalam kursus, 91 00:05:10,550 --> 00:05:13,470 HTML, PHP dan sejenisnya, tapi kau semua akrab dengan Web, 92 00:05:13,470 --> 00:05:16,270 dan saya Bias percakapan ini ke Web hanya karena 93 00:05:16,270 --> 00:05:18,380 kebanyakan orang akhirnya melakukan berbasis web proyek akhir, 94 00:05:18,380 --> 00:05:20,260 tapi itu tidak berarti diperlukan. 95 00:05:20,260 --> 00:05:22,260 Menggunakan C baik-baik saja, tujuan C, Java, 96 00:05:22,260 --> 00:05:25,350 bahasa lain Anda mungkin tahu atau ingin tahu adalah cukup baik. 97 00:05:25,350 --> 00:05:29,370 Tapi untuk mendapatkan jus mengalir awalnya, kita akan mengharapkan pengajuan preproposal 98 00:05:29,370 --> 00:05:33,520 yang, per PDF di website, yang sekarang di cs50.net, 99 00:05:33,520 --> 00:05:36,080 dan di bagian kiri atas Anda akan melihat tugas akhir 100 00:05:36,080 --> 00:05:38,920 adalah spesifikasi untuk proyek akhir, 101 00:05:38,920 --> 00:05:41,470 dan di sana adalah rincian tentang preproposal dan sejenisnya. 102 00:05:41,470 --> 00:05:44,760 Ini cukup banyak bermuara email ke rekan mengajar Anda 103 00:05:44,760 --> 00:05:48,450 hanya untuk memulai percakapan dengan dia tentang apa yang Anda pikirkan. 104 00:05:48,450 --> 00:05:52,510 Pada projects.cs50.net adalah gudang ide dari orang-orang di kampus 105 00:05:52,510 --> 00:05:54,480 jika Anda berjuang untuk datang dengan beberapa gagasan, 106 00:05:54,480 --> 00:06:01,140 dan manual.cs50.net/APIs adalah gudang link ke API. 107 00:06:01,140 --> 00:06:06,710 >> Apa, meskipun, adalah API? 108 00:06:06,710 --> 00:06:09,790 Apa API? Aku sudah mengatakan itu setidaknya dua kali, 109 00:06:09,790 --> 00:06:12,640 menurut transkrip dari beberapa minggu terakhir. 110 00:06:12,640 --> 00:06:17,050 Apa itu? [Mahasiswa, dipahami] 111 00:06:17,050 --> 00:06:19,340 >> Oke, baik. Jadi sesuatu pemrograman antarmuka. 112 00:06:19,340 --> 00:06:22,710 Aplikasi pemrograman antarmuka, dan ini dapat mengambil beberapa bentuk, 113 00:06:22,710 --> 00:06:25,850 tapi apa ini benar-benar bermuara pada adalah kode 114 00:06:25,850 --> 00:06:29,660 bahwa orang lain hs tertulis atau data yang orang lain telah dikumpulkan 115 00:06:29,660 --> 00:06:33,670 yang dibuat tersedia untuk Anda dalam beberapa cara program. 116 00:06:33,670 --> 00:06:36,630 Anda dapat menulis kode dalam C, PHP, Python, Ruby, 117 00:06:36,630 --> 00:06:38,760 bahasa apa pun pilihan Anda biasanya adalah, 118 00:06:38,760 --> 00:06:42,240 dan Anda entah bagaimana dapat membangun fungsi orang lain 119 00:06:42,240 --> 00:06:44,440 atau orang lain kumpulan data. 120 00:06:44,440 --> 00:06:47,210 Misalnya, jika saya pergi ke link ini di sini, 121 00:06:47,210 --> 00:06:50,750 dan Anda akan melihat sepasang link pada halaman berikutnya 122 00:06:50,750 --> 00:06:56,093 dimana kita memiliki API sendiri CS50, yang sangat Harvard-sentris, dan kemudian pihak ketiga API. 123 00:06:56,930 --> 00:06:59,300 Di antara ketiga pihak API adalah hal-hal yang benar-benar berguna 124 00:06:59,300 --> 00:07:01,780 seperti mampu mengirim orang ke SMS, 125 00:07:01,780 --> 00:07:04,690 mampu menerima pesan teks SMS dari orang-orang. 126 00:07:04,690 --> 00:07:08,160 Dan hal-hal seperti itu yang Anda mungkin tidak tahu bagaimana menerapkan diri sendiri, 127 00:07:08,160 --> 00:07:10,440 namun berkat layanan, beberapa bebas dan beberapa komersial, 128 00:07:10,440 --> 00:07:14,000 Anda dapat membangun atas mereka dan melakukan sesuatu yang menarik bagi Anda. 129 00:07:14,000 --> 00:07:16,990 Di antara API CS50 itu orang-kampus-sentris hal-hal seperti 130 00:07:16,990 --> 00:07:21,480 Harvard kursus, energi, peristiwa, makanan, peta, berita, tweets dan sendiri Shuttleboy, 131 00:07:21,480 --> 00:07:23,940 dan ini adalah API yang terlihat sedikit sesuatu seperti ini. 132 00:07:23,940 --> 00:07:26,990 >> Mari saya naikkan API HarvardFood. 133 00:07:26,990 --> 00:07:30,620 Jika Anda sudah pernah ke situs HUD, Anda mungkin pernah ada 134 00:07:30,620 --> 00:07:35,410 hanya melihat apa untuk makan malam atau untuk melihat apa yang untuk beberapa jam d-hall. 135 00:07:35,410 --> 00:07:38,000 Nah, itu tidak sangat mudah dinavigasi, 136 00:07:38,000 --> 00:07:41,100 dan jadi apa yang kita lakukan beberapa waktu lalu adalah kami menulis perangkat lunak, 137 00:07:41,100 --> 00:07:47,270 itu terjadi berada di PHP, yang benar-benar layar goresan keseluruhan situs HUD. 138 00:07:47,270 --> 00:07:51,400 Untuk menyaring sesuatu yang mengikis berarti untuk menulis program dalam bahasa seperti PHP 139 00:07:51,400 --> 00:07:55,270 yang berpura-pura menjadi browser, meskipun Anda mungkin menjalankannya pada command prompt, 140 00:07:55,270 --> 00:07:58,180 yang berpura-pura menjadi browser, menghubungkan ke situs web, 141 00:07:58,180 --> 00:08:01,480 download nya HTML, bahasa yang itu ditulis, 142 00:08:01,480 --> 00:08:04,300 dan kemudian membacanya, atau lebih khusus, mem-parsing itu 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 adalah kita menulis kode kita sedemikian rupa sehingga 145 00:08:08,870 --> 00:08:12,910 setiap kali kita melihat sesuatu dalam HTML yang tampak seperti sesuatu pada menu, 146 00:08:12,910 --> 00:08:16,470 seperti hamburger, maka kita akan impor yang masuk ke database kita sendiri. 147 00:08:16,470 --> 00:08:20,410 Dan setiap kali kita melihat kandungan gizi, kita akan mengimpor bahwa ke database kita sendiri. 148 00:08:20,410 --> 00:08:23,090 Dan apa yang kita lakukan adalah memanfaatkan fakta bahwa HUD website, 149 00:08:23,090 --> 00:08:27,280 meskipun mungkin sedikit tantangan bagi kita manusia untuk menavigasi 150 00:08:27,280 --> 00:08:32,559 bawah kap mesin, semua HTML yang dihasilkan oleh program komputer mereka sendiri. 151 00:08:32,559 --> 00:08:35,159 Jadi semua HTML mereka, meskipun mungkin terlihat berantakan, 152 00:08:35,159 --> 00:08:38,026 seperti situs yang paling bawah kap itu mengikuti pola. 153 00:08:38,260 --> 00:08:40,799 Jadi kita hanya menghabiskan beberapa jam mencari tahu pola yang 154 00:08:40,799 --> 00:08:44,240 sehingga pada akhirnya, kita membuang semua HTML berantakan, 155 00:08:44,240 --> 00:08:47,340 semua estetika menghadap tebal dan miring dan sejenisnya, 156 00:08:47,340 --> 00:08:52,350 dan apa yang kita kemudian akan mampu lakukan adalah mengekspos bahwa data yang sama. 157 00:08:52,350 --> 00:08:54,870 Misalnya, dengan cara ini. 158 00:08:54,870 --> 00:08:56,840 Jadi kita, sesuai dengan dokumentasi di sini, 159 00:08:56,840 --> 00:08:59,190 telah memberitahu dunia bahwa jika Anda meminta URL 160 00:08:59,190 --> 00:09:03,310 yang terlihat seperti ini, food.cs50.net / sesuatu, 161 00:09:03,310 --> 00:09:07,220 dan Anda memberikan parameter tertentu, yang akan kita bicarakan hari ini, 162 00:09:07,220 --> 00:09:11,780 seperti akhir-tanggal, waktu start-date makan waktu, dan sebagainya, 163 00:09:11,780 --> 00:09:14,090 apa server kami akan kembali kepada Anda, misalnya, 164 00:09:14,090 --> 00:09:18,740 adalah file CSV, koma separted nilai-nilai seperti file Excel, 165 00:09:18,740 --> 00:09:23,140 berisi semua untuk sarapan pada tanggal tertentu pada bulan Maret tahun lalu 166 00:09:23,140 --> 00:09:25,450 ketika saya kebetulan menulis dokumentasi ini. 167 00:09:25,450 --> 00:09:27,870 >> Bagi mereka yang akrab, CSV bukanlah format file saja. 168 00:09:27,870 --> 00:09:30,610 Ada format lain yang semua lebih fleksibel 169 00:09:30,610 --> 00:09:32,670 disebut JSON, JavaScript Object Notation. 170 00:09:32,670 --> 00:09:34,770 Data bisa kembali dalam format tersebut. 171 00:09:34,770 --> 00:09:38,110 Jadi takeaway di sini adalah bahwa apakah Anda menyelam ke dalam API 172 00:09:38,110 --> 00:09:41,170 atau lainnya yang CS50 atau sesuatu di luar sana di Internet, 173 00:09:41,170 --> 00:09:45,560 atau tidak sama sekali, menyadari bahwa dunia telah semakin mulai membakukan 174 00:09:45,560 --> 00:09:47,670 bagaimana mesin bergaul. 175 00:09:47,670 --> 00:09:50,660 Kami menggunakan format data standar seperti CSV atau JSON. 176 00:09:50,660 --> 00:09:54,320 Dan apa artinya ini bagi Anda adalah Anda dapat menulis bagian yang menarik dari program 177 00:09:54,320 --> 00:09:56,580 yang memungkinkan pengguna mencari menu makan-ruang, 178 00:09:56,580 --> 00:10:00,010 yang memungkinkan mereka membuat daftar favorit yang memungkinkan mereka mendapatkan peringatan teks 179 00:10:00,010 --> 00:10:02,480 ketika makan favorit mereka adalah tentang untuk dilayani dalam beberapa d-aula 180 00:10:02,480 --> 00:10:07,090 dengan menggunakan data orang lain set dan bangunan di atas API mereka. 181 00:10:07,090 --> 00:10:13,600 Jadi lebih pada bahwa dalam bentuk seminar dan dokumentasi yang Anda miliki di sini secara online. 182 00:10:13,600 --> 00:10:16,450 Jadi mereka, kemudian, adalah API. 183 00:10:16,450 --> 00:10:18,900 >> Yang membawa kita kembali ke HTML. Cepat rekap. 184 00:10:18,900 --> 00:10:22,920 Apa itu HTML? 185 00:10:22,920 --> 00:10:25,000 [Mahasiswa, dipahami] Baik >>. HyperText 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 HyperText Markup Language. 188 00:10:37,340 --> 00:10:40,330 Oke. Jadi HTML, HyperText. 189 00:10:40,330 --> 00:10:43,100 HyperText hanya merujuk ke Web, untuk sebagian besar. 190 00:10:43,100 --> 00:10:45,730 Markup berarti bahwa itu tidak benar-benar sebuah bahasa pemrograman, HTML. 191 00:10:45,730 --> 00:10:48,120 Ini bukan bahasa yang Anda dapat mengekspresikan logika masuk 192 00:10:48,120 --> 00:10:50,710 Ia tidak memiliki loop. Itu tidak memiliki kondisi. 193 00:10:50,710 --> 00:10:52,820 Ia tidak memiliki fungsi, per se. 194 00:10:52,820 --> 00:10:56,680 Sebaliknya, ia memiliki hal-hal yang disebut tag, atau lebih tepat, elemen. 195 00:10:56,680 --> 00:10:59,970 Dan unsur-unsur memiliki tag awal dan tag akhir, 196 00:10:59,970 --> 00:11:04,300 atau tag terbuka dan tertutup tag, dan apa tag tersebut umumnya berarti untuk browser, 197 00:11:04,300 --> 00:11:09,270 mulai melakukan sesuatu dan kemudian berhenti melakukan sesuatu, meskipun ada pengecualian untuk itu. 198 00:11:09,270 --> 00:11:12,480 Kadang-kadang itu hanya 'menempatkan satu baris di sini,' misalnya. 199 00:11:12,480 --> 00:11:15,150 Dan kita melihat contoh bahwa hari lainnya, antara menghadap berani, 200 00:11:15,150 --> 00:11:17,430 garis istirahat, dan kemudian beberapa tag lainnya. 201 00:11:17,430 --> 00:11:19,880 Jadi HTML adalah bahasa yang halaman 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 menarik hanya halaman rumah mereka, 204 00:11:26,180 --> 00:11:29,690 ingat bahwa jika Anda mengklik kanan atau klik kontrol 205 00:11:29,690 --> 00:11:32,140 dan melihat sumber tampilan halaman, biasanya 206 00:11:32,140 --> 00:11:34,420 itu berantakan lengkap hari ini di bawah tenda, tapi itu karena 207 00:11:34,420 --> 00:11:38,170 komputer tidak peduli tentang ruang putih, jadi ini tidak harus tampil cantik. 208 00:11:38,170 --> 00:11:40,240 Tetapi jika kita memperbesar bagian dari itu, 209 00:11:40,240 --> 00:11:43,460 melihat bahwa Chrome, hanya untuk bersikap baik, telah kode warna hal. 210 00:11:43,460 --> 00:11:48,460 Memang, ini adalah tag pertama yang kami lihat di halaman web. 211 00:11:48,460 --> 00:11:51,750 Dan lagi, HTML 5, versi terbaru dari bahasa ini, 212 00:11:51,750 --> 00:11:53,830 tidak memiliki hal ini di awal, 213 00:11:53,830 --> 00:11:57,820 00:12:03,580 tapi itu hanya semacam standar yang mengatakan, hey dunia, inilah sebuah file HTML dalam versi 5. 215 00:12:03,580 --> 00:12:08,920 >> Bagian yang menarik dimulai di sini. Jadi 00:12:11,640 elemen HTML terakhir kalinya. 217 00:12:11,640 --> 00:12:14,630 Apa dua anak main? 218 00:12:14,630 --> 00:12:17,170 Kepala dan tubuh, seperti orang dengan tato saat yang lalu. 219 00:12:17,170 --> 00:12:19,640 Ada dua bagian dari halaman web, kepala dan tubuh, 220 00:12:19,640 --> 00:12:23,750 dan ingat, kemudian, bahwa mungkin halaman web sederhana kita bisa membuat terlihat seperti ini. 221 00:12:23,750 --> 00:12:27,460 Dan aku sudah menjorok itu hanya menjadi semacam rapi dan rapi dengan kode saya, 222 00:12:27,460 --> 00:12:30,710 tapi apa benar-benar penting di sini adalah bahwa ada beberapa hirarki ini. 223 00:12:30,710 --> 00:12:35,420 Dan setiap tag yang saya dibuka saya telah ditutup dan bahwa ada karena simetri ini 224 00:12:35,420 --> 00:12:38,300 untuk semua markup yang saya buat. 225 00:12:38,300 --> 00:12:41,620 Jadi terakhir kali kita mulai menulis halaman web pada laptop saya sendiri. 226 00:12:41,620 --> 00:12:45,470 Saya membuka mengedit teks, saya menyimpan file sebagai hello.html, 227 00:12:45,470 --> 00:12:50,190 Saya kemudian menyeret file ke browser saya, dan voila, aku punya halaman di Internet. 228 00:12:50,190 --> 00:12:53,110 Sekarang, itu tidak cukup terjadi, aku punya halaman di harddisk, 229 00:12:53,110 --> 00:12:58,260 dan saya benar-benar satu-satunya orang di dunia ini yang akan melihat bahwa halaman web pada browser. 230 00:12:58,260 --> 00:13:00,670 >> Jadi hari ini, kami memperkenalkan sebuah server web yang sebenarnya 231 00:13:00,670 --> 00:13:02,750 dan gagasan benar-benar melayani konten di Internet 232 00:13:02,750 --> 00:13:04,970 dan bagaimana semua ini mulai cocok bersama-sama. 233 00:13:04,970 --> 00:13:08,350 Jadi ternyata bahwa selama ini dalam alat CS50 234 00:13:08,350 --> 00:13:11,590 Anda sudah memiliki web server di komputer Anda. 235 00:13:11,590 --> 00:13:16,560 Kami telah, dalam keadilan, hanya digunakan untuk gedit, untuk dentang, untuk GDB dan sejenisnya, 236 00:13:16,560 --> 00:13:21,000 tetapi juga dipasang oleh kami untuk Anda di alat adalah server web, 237 00:13:21,000 --> 00:13:23,940 dan bahwa web server terjadi untuk bebas, open source, 238 00:13:23,940 --> 00:13:26,580 salah satu yang paling populer di dunia, yang disebut Apache. 239 00:13:26,580 --> 00:13:31,340 Namanya lebih teknis adalah HTTPd, d yang untuk daemon sini, 240 00:13:31,340 --> 00:13:34,110 yang merupakan kata teknis untuk server. 241 00:13:34,110 --> 00:13:38,690 Jadi dipasang di alat CS50 adalah server web, dan apa artinya? 242 00:13:38,690 --> 00:13:43,740 Nah, web server, konseptual, beberapa server di internet yang menyajikan konten web. 243 00:13:43,740 --> 00:13:48,630 Ketika ditanya untuk file, meludah keluar HTML yang menyusun file tersebut, dan voila. 244 00:13:48,630 --> 00:13:51,370 Anda melihat halaman rumah beberapa website. 245 00:13:51,370 --> 00:13:54,970 Tapi server adalah, lebih tepatnya, sebuah software. 246 00:13:54,970 --> 00:13:59,190 Itu tidak harus pada mesin fisik, itu hanya harus menjadi bagian dari menjalankan perangkat lunak. 247 00:13:59,190 --> 00:14:01,980 Jadi alat CS50, tentu saja, adalah bagian dari perangkat lunak 248 00:14:01,980 --> 00:14:04,270 meskipun itu semacam berpura-pura menjadi mesin. 249 00:14:04,270 --> 00:14:06,960 Ini berpura-pura menjadi dalam komputer dari komputer, 250 00:14:06,960 --> 00:14:11,140 tapi itu hanya berarti bahwa alat pasti bisa menjalankan hal-hal seperti server web. 251 00:14:11,140 --> 00:14:13,260 Ini benar-benar dapat menjalankan server email. 252 00:14:13,260 --> 00:14:16,440 Kita bisa menjalankan server pesan instan alat jika kita ingin, 253 00:14:16,440 --> 00:14:20,780 dan memang, kita menjalankan satu jenis lain dari server, dikenal sebagai database server, mySQL. 254 00:14:20,780 --> 00:14:22,620 Tetapi lebih pada minggu depan. 255 00:14:22,620 --> 00:14:26,400 Ini berarti bahwa saya benar-benar dapat mengunjungi halaman web 256 00:14:26,400 --> 00:14:30,480 dalam alat saya dengan menggunakan browser di dalam alat 257 00:14:30,480 --> 00:14:33,600 atau bahkan di laptop saya sendiri, saya Mac atau PC saya. 258 00:14:33,600 --> 00:14:37,780 Jadi apa artinya ini? Ternyata bahwa setiap kali Anda menjalankan komputer Linux, 259 00:14:37,780 --> 00:14:40,910 julukan adalah "host lokal." 260 00:14:40,910 --> 00:14:43,370 Itu tidak memiliki nama domain karena kita belum membeli nama domain 261 00:14:43,370 --> 00:14:46,590 untuk sesuatu seperti alat, sehingga nama default adalah host lokal. 262 00:14:46,590 --> 00:14:50,470 >> Tetapi untuk mendapatkan alat untuk memulai melayani sampai halaman web, 263 00:14:50,470 --> 00:14:52,270 kita harus membuat mereka terlebih dahulu. 264 00:14:52,270 --> 00:14:55,200 Jadi mari kita lakukan itu. Biarkan aku pergi ke jendela terminal di sini 265 00:14:55,200 --> 00:14:58,190 dan menyadari bahwa aku berada di Harvard khas saya John prompt. 266 00:14:58,190 --> 00:15:01,670 Biarkan aku pergi ke depan dan ketik ls, dan kita akan melihat beberapa hal akrab dari semester ini, 267 00:15:01,670 --> 00:15:04,580 desktop, download, dropbox dan sebagainya, 268 00:15:04,580 --> 00:15:07,540 tapi sekarang kita mulai mengarahkan perhatian kita kepada pasangan. 269 00:15:07,540 --> 00:15:11,530 Pada banyak web server Linux ada folder ini disebut html publik, 270 00:15:11,530 --> 00:15:15,630 tapi kita akan melewatkan yang satu untuk saat ini dan fokus pada hal ini, vhosts. 271 00:15:15,630 --> 00:15:18,850 Ada yang tahu apa vhost adalah? 272 00:15:18,850 --> 00:15:21,110 Hanya bodoh jargon untuk virtual host, 273 00:15:21,110 --> 00:15:23,850 dan apa ini berarti adalah bahwa pada server biasa 274 00:15:23,850 --> 00:15:26,810 Anda benar-benar dapat host beberapa situs Web. 275 00:15:26,810 --> 00:15:31,500 Anda dapat membeli nama domain seperti foo.com, dan Anda bisa menyimpannya di server. 276 00:15:31,500 --> 00:15:36,100 Tapi Anda juga dapat membeli bar.com dan menyimpannya pada server yang sama. 277 00:15:36,100 --> 00:15:40,250 Alasannya, browser yang cukup cerdas untuk menginformasikan server 278 00:15:40,250 --> 00:15:45,880 ketika pengguna meminta halaman web tertentu, apa nama domain pengguna ingin homepage untuk. 279 00:15:45,880 --> 00:15:48,760 Jadi apa yang baik tentang ini adalah Anda tidak perlu satu server fisik 280 00:15:48,760 --> 00:15:52,040 atau satu CS50 alat untuk setiap website Anda mungkin ingin membuat. 281 00:15:52,040 --> 00:15:55,520 Anda dapat menggunakan server yang sama dan mengembangkan seratus website yang berbeda. 282 00:15:55,520 --> 00:15:58,770 Dan memang, jika Anda adalah orang yang mencoba untuk memulai sebuah situs web, 283 00:15:58,770 --> 00:16:02,100 baik untuk bersenang-senang atau untuk bisnis, biasanya Anda akan pergi keluar di Internet, 284 00:16:02,100 --> 00:16:04,650 dan Anda akan membayar seseorang sepuluh dolar sebulan, seratus dolar per bulan 285 00:16:04,650 --> 00:16:06,670 untuk host website Anda untuk Anda. 286 00:16:06,670 --> 00:16:11,060 Dan cara yang berhasil adalah mereka pengisian 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 host website orang lain pada server yang sama mereka. 289 00:16:17,200 --> 00:16:20,740 Alasan mereka bisa melakukan itu adalah karena fitur ini disebut bhosts, 290 00:16:20,740 --> 00:16:23,790 tetapi lebih pada bahwa ketika tiba saatnya untuk proyek akhir. 291 00:16:23,790 --> 00:16:28,360 >> Untuk saat ini, mari kita menyelam di sana. Jadi vhosts cd, dan jika saya ketik ls sekarang, 292 00:16:28,360 --> 00:16:31,370 melihat bahwa ada folder di sana disebut host lokal. 293 00:16:31,370 --> 00:16:33,440 Itu karena, secara default, angka alat 294 00:16:33,440 --> 00:16:36,160 Anda pernah akan menjalankan satu situs web pada sebuah alat. 295 00:16:36,160 --> 00:16:38,970 Ini tidak benar-benar dunia nyata, itu bukan web server dunia nyata. 296 00:16:38,970 --> 00:16:41,690 Jadi biarkan aku pergi ke host lokal, dan sekarang kita akan melihat di sana 297 00:16:41,690 --> 00:16:44,290 satu direktori terakhir disebut HTML. 298 00:16:44,290 --> 00:16:47,080 Jadi itu sedikit mendalam, hirarki, tetapi jika dan ketika 299 00:16:47,080 --> 00:16:51,230 Anda memutuskan untuk mulai mengembangkan beberapa situs Web selama bulan depan atau tahun n, 300 00:16:51,230 --> 00:16:54,370 struktur semacam ini folder cenderung untuk membantu. 301 00:16:54,370 --> 00:16:56,560 Sekarang mari kita pergi ke HTML seperti yang saya baru saja melakukannya, 302 00:16:56,560 --> 00:16:59,010 jenis ls, dan tidak ada yang ada. 303 00:16:59,010 --> 00:17:01,390 Jadi sekarang mari kita pergi ke depan dan melakukan hal ini. Mari saya membuka Chrome 304 00:17:01,390 --> 00:17:07,300 dalam alat, dan biarkan aku pergi ke http://localhost. 305 00:17:07,300 --> 00:17:14,440 Jadi secara harfiah nama untuk alat saya, masukkan, dan saya mendapatkan indeks /. 306 00:17:14,440 --> 00:17:18,290 Hal ini tidak benar-benar menunjukkan kepada saya sesuatu yang menarik, 307 00:17:18,290 --> 00:17:23,400 tetapi ternyata bahwa apa yang kita lihat adalah bahwa folder, HTML. 308 00:17:23,400 --> 00:17:25,770 Tidak ada di dalam folder itu sekarang, 309 00:17:25,770 --> 00:17:28,750 Jadi alih-alih, apa yang akan saya harus lakukan adalah pertama kali membuat file. 310 00:17:28,750 --> 00:17:33,530 Buat file HTML seperti yang kami lakukan pada hari Senin, tapi kali ini memasukkannya ke dalam alat. 311 00:17:33,530 --> 00:17:36,830 Bagi anda yang sedang mencoba untuk mengikuti bersama dengan laptop sekarang, 312 00:17:36,830 --> 00:17:42,040 biarkan aku melakukan satu samping yang akan dibahas dalam pset berbasis web, 313 00:17:42,040 --> 00:17:44,280 tetapi untuk mendapatkan ini bekerja untuk pertama kalinya, 314 00:17:44,280 --> 00:17:49,830 Anda akan harus menjalankan perintah ini: memulai layanan httpd sudo. 315 00:17:49,830 --> 00:17:52,670 Dan ini, sekali lagi, akan berulang dalam pset terakhir, 316 00:17:52,670 --> 00:17:55,460 tetapi jika Anda sedang bermain bersama di rumah sekarang, server web 317 00:17:55,460 --> 00:17:58,660 dimatikan dalam alat, dan itu sehingga tidak melemahkan RAM 318 00:17:58,660 --> 00:18:01,960 dan memori selama 7 minggu keluar dari semester ketika kita tidak membutuhkannya. 319 00:18:01,960 --> 00:18:05,190 Jadi, Anda perlu menjalankan perintah ini sekali, dan Anda akan mendapatkan output seperti itu. 320 00:18:05,190 --> 00:18:07,920 Maka Anda harus dapat bermain bersama di sini. 321 00:18:07,920 --> 00:18:10,330 Sekarang mari kita kembali ke folder ini. 322 00:18:10,330 --> 00:18:12,770 Folder ini kosong, jadi biar mulai menciptakan sebuah file, 323 00:18:12,770 --> 00:18:16,360 gedit hello.html. 324 00:18:16,360 --> 00:18:20,930 >> Baiklah. Gedit terbuka, seperti biasa. Biarkan aku melakukan DOCTYPE, html, 325 00:18:20,930 --> 00:18:25,270 html, biarkan aku mendapatkan terburu-buru dan mulai menutup tag saya di muka. 326 00:18:25,270 --> 00:18:28,380 Sekarang saya memiliki kepala. Biarkan aku pergi ke depan dan menutup kepala, 327 00:18:28,380 --> 00:18:32,450 biarkan aku sekarang melakukan judul halaman, halo dunia seperti terakhir kali, 328 00:18:32,450 --> 00:18:34,790 Judul dekat, sekarang biarkan aku melakukan tubuh. 329 00:18:34,790 --> 00:18:38,130 Di sini saya akan menyapa, dunia dengan beberapa exclams 330 00:18:38,130 --> 00:18:40,550 untuk membuat jelas bahwa itu adalah string yang berbeda. 331 00:18:40,550 --> 00:18:45,800 Tutup tubuh, dan sekarang biarkan aku pergi ke depan dan mengajukan simpan. 332 00:18:45,800 --> 00:18:48,470 Biarkan aku pergi kembali ke jendela terminal saya, dan jika saya ketik ls, 333 00:18:48,470 --> 00:18:51,830 Aku harus, mungkin, lihat hello.html. Dan saya lakukan. 334 00:18:51,830 --> 00:18:55,070 Jadi sekarang mari kita kembali ke browser saya, klik ulang, 335 00:18:55,070 --> 00:18:58,930 dan Anda dapat melihat kami memang dalam folder ini HTML. 336 00:18:58,930 --> 00:19:02,310 Saya tidak melihat sebuah halaman web namun, ini adalah Apache, web server, 337 00:19:02,310 --> 00:19:04,670 hanya menunjukkan saya isi daftar dari direktori ini. 338 00:19:04,670 --> 00:19:08,260 Sama seperti Mac OS atau Windows biasanya akan lakukan pada hard drive Anda sendiri lokal. 339 00:19:08,260 --> 00:19:12,730 Jadi jika saya ingin melihat halaman web ini, saya dapat mengklik link ini kecil di sini, hello.html, 340 00:19:12,730 --> 00:19:15,160 dan memang, itulah yang saya berharap untuk melihat. 341 00:19:15,160 --> 00:19:18,080 Sekarang, sekali lagi, ini bukan URL yang ada di antara kalian dapat mengunjungi sekarang, 342 00:19:18,080 --> 00:19:20,760 karena bagi Anda, host lokal, jika Anda memiliki laptop di sini, 343 00:19:20,760 --> 00:19:23,050 itu mengacu pada contoh Anda sendiri dari alat. 344 00:19:23,050 --> 00:19:25,900 Hal ini pada alat pribadi saya sendiri, 345 00:19:25,900 --> 00:19:29,080 tapi ini adalah jenis bodoh bagi saya untuk memiliki, memiliki 346 00:19:29,080 --> 00:19:34,480 pengguna seperti saya klik pada hello.html untuk benar-benar melihat isi halaman ini. 347 00:19:34,480 --> 00:19:42,590 Ternyata bahwa web server seperti Apache membiarkan Anda memiliki file default untuk server web. 348 00:19:42,590 --> 00:19:44,640 Perhatikan di sini kita memiliki hello.html. 349 00:19:44,640 --> 00:19:48,410 Apa perintah di Linux untuk mengubah nama file? 350 00:19:48,410 --> 00:19:50,870 >> MV, untuk bergerak. Jadi biarkan aku melakukan itu, 351 00:19:50,870 --> 00:19:55,870 dan biarkan aku mengubah nama hello.html ke index.html. 352 00:19:55,870 --> 00:19:58,610 Biarkan saya ketik ls untuk mengkonfirmasi itu kini telah berganti nama. 353 00:19:58,610 --> 00:20:03,250 Sekarang ini akan - jika saya kembali ke host lokal, 354 00:20:03,250 --> 00:20:06,710 perhatikan sekarang bahwa aku otomatis melihat bahwa halaman web. 355 00:20:06,710 --> 00:20:11,740 Hal ini identik dengan benar-benar melakukan index.html saya /, 356 00:20:11,740 --> 00:20:14,740 tapi hal yang baik sekarang adalah bahwa server web yang mencari, 357 00:20:14,740 --> 00:20:18,830 oh, jika Anda memiliki file yang, oleh konvensi manusia, disebut index.html, 358 00:20:18,830 --> 00:20:21,200 saya menunjukkan pengguna bahwa file secara default 359 00:20:21,200 --> 00:20:25,290 daripada beberapa daftar direktori bodoh yang sama sekali tidak user-friendly. 360 00:20:25,290 --> 00:20:28,900 Memang, sebagian besar situs yang Anda kunjungi di Internet tidak memiliki daftar file untuk mengklik, 361 00:20:28,900 --> 00:20:34,040 mereka hanya menunjukkan konten. Jadi itulah bagaimana kita bisa melakukan itu, index.html. 362 00:20:34,040 --> 00:20:37,000 Jadi ini semua menyenangkan dan baik, tapi ini adalah halaman web yang cukup sederhana. 363 00:20:37,000 --> 00:20:41,640 Biarkan aku pergi ke depan dan membuka index.html di vhosts saya, 364 00:20:41,640 --> 00:20:47,620 host lokal, direktori html, dan mari kita menambahkan sesuatu dari kepentingan yang lebih besar. 365 00:20:47,620 --> 00:20:56,120 Jadi ada dunia halo, mari kita bukannya mengatakan 'Ini adalah CS50, Harvard College. . . " 366 00:20:56,120 --> 00:21:00,000 Jadi awal deskripsi katalog kursus semacam sana. 367 00:21:00,000 --> 00:21:03,780 Sekarang jika saya ulang, saya harus melihat ini di halaman rumah saya. 368 00:21:03,780 --> 00:21:09,560 Oke, dan aku melihat itu, tapi anggaplah bahwa saya ingin daftar sekarang beberapa konten lebih dalam file ini. 369 00:21:09,560 --> 00:21:15,160 Aku bisa pergi ke sini dan mengatakan, tidak ada prasyarat, 370 00:21:15,160 --> 00:21:18,740 meskipun beberapa dari Anda mungkin seperti, 'Ha ha ha, ada prasyarat. " 371 00:21:18,740 --> 00:21:24,320 Tapi - resmi. Jadi ulang, dan sekarang kami memiliki kekhasan yang sama yang kami lihat terakhir kali. 372 00:21:24,320 --> 00:21:26,240 Tapi kenapa begitu? Itu adalah memperbaiki sederhana. 373 00:21:26,240 --> 00:21:31,440 Mengapa halaman ini rusak? 374 00:21:31,440 --> 00:21:34,170 [Mahasiswa, dipahami] >> Ya, kami telah dipecahkan ini sebelum 375 00:21:34,170 --> 00:21:37,440 dengan secara eksplisit mengatakan browser 'menempatkan satu baris di sini. " 376 00:21:37,440 --> 00:21:39,440 Dan itu karena, sekali lagi, browser yang hanya akan melakukan 377 00:21:39,440 --> 00:21:42,610 eksplisit apa bahasa markup mengatakan itu untuk dilakukan, 378 00:21:42,610 --> 00:21:45,730 jadi meskipun Anda mungkin telah menekan enter sekali atau dua kali atau bahkan sepuluh kali, 379 00:21:45,730 --> 00:21:49,870 itu akan menggabungkan semua ke dalam satu ruang, hanya dengan konvensi. 380 00:21:49,870 --> 00:21:52,770 Jadi, jika Anda benar-benar ingin istirahat garis, Anda harus menggunakan tag br, 381 00:21:52,770 --> 00:21:56,840 dan sekarang pemberitahuan, seperti hari Senin, saya menempatkan bagian dalam / dari tag ini, 382 00:21:56,840 --> 00:22:00,090 hanya karena ini hanya tidak merasa benar 383 00:22:00,090 --> 00:22:02,990 untuk memulai satu baris kemudian menghentikannya dengan apa-apa di antara. 384 00:22:02,990 --> 00:22:07,740 >> Jadi konvensi di HTML adalah untuk membuka dan menutup tag secara bersamaan. 385 00:22:07,740 --> 00:22:11,050 Sebagai samping, Anda akan melihat banyak situs dalam buku-buku tidak melakukan hal itu. 386 00:22:11,050 --> 00:22:14,240 Hal ini benar untuk melakukan atau tidak melakukan hal itu, tapi kami akan berdebat 387 00:22:14,240 --> 00:22:17,430 bahwa desain-bijaksana dan Gaya, ini hanya lebih baik 388 00:22:17,430 --> 00:22:20,540 karena kemudian tag setiap baik terbuka dan tertutup entah bagaimana. 389 00:22:20,540 --> 00:22:23,370 Jadi sekarang mari kita menyimpan dan membuka kembali. Kembali ke browser, oke. 390 00:22:23,370 --> 00:22:26,680 Sekarang kita sedang membuat beberapa kemajuan, tapi itu tidak cukup. 391 00:22:26,680 --> 00:22:33,210 Mari kita pergi ke depan dan mulai mengetik di beberapa tubuh yang lebih panjang dari teks. 392 00:22:33,210 --> 00:22:40,610 Jadi katakanlah, 'melompat A cepat rubah cokelat selama anjing malas. " 393 00:22:40,610 --> 00:22:42,700 Dan sekarang biarkan aku hanya copy dan paste ini beberapa kali 394 00:22:42,700 --> 00:22:45,040 sehingga kita memiliki paragraf teks. 395 00:22:45,040 --> 00:22:47,780 Biarkan aku pergi kembali ke sini. Jadi itu tidak tampak sangat baik. 396 00:22:47,780 --> 00:22:50,000 Saya punya satu baris, sehingga tidak apa-apa, 397 00:22:50,000 --> 00:22:52,140 tapi sekarang, setelah kami sampai ke titik memiliki halaman web 398 00:22:52,140 --> 00:22:55,640 yang memiliki banyak konten dan garis tidak hanya tunggal untuk menunjukkan HTML, 399 00:22:55,640 --> 00:22:58,570 kita bisa mulai memikirkan hal-hal sebagai paragraf yang sebenarnya. 400 00:22:58,570 --> 00:23:01,590 Dan kita bisa mulai menyusun halaman web kami sedikit lebih bersih. 401 00:23:01,590 --> 00:23:05,120 Dan memang, apa yang bisa saya lakukan adalah pergi di sini dalam tag tubuh saya, 402 00:23:05,120 --> 00:23:09,400 dan kau tahu apa, jika 'Ini adalah CS50. . . " benar-benar demarks awal paragraf, 403 00:23:09,400 --> 00:23:11,310 baik, mari kita tag seperti itu. 404 00:23:11,310 --> 00:23:13,570 Biarkan saya indent teks, hanya dengan konvensi, saya katakan 405 00:23:13,570 --> 00:23:15,710 bahwa ayat ini berakhir di sini, 406 00:23:15,710 --> 00:23:18,320 dan kemudian daripada melakukan hal ini istirahat baris, biarkan aku hanya mengatakan 407 00:23:18,320 --> 00:23:23,300 bahwa ini milik ada dan sebagai sebuah paragraf baru, 408 00:23:23,300 --> 00:23:27,610 dan aku hanya akan cepat indent dengan hanya clobbering semua hal ini. 409 00:23:27,610 --> 00:23:30,660 >> Jadi sekarang kita memiliki ayat indentasi sana, 410 00:23:30,660 --> 00:23:33,510 dan sekarang markup kami mulai mendapatkan lebih sedikit 411 00:23:33,510 --> 00:23:37,070 semantik konsisten dengan apa yang kita coba lakukan. 412 00:23:37,070 --> 00:23:40,130 Kami memiliki paragraf, jadi mari kita menyebutnya sebuah paragraf dengan tag p. 413 00:23:40,130 --> 00:23:43,370 Kami memiliki paragraf kedua, jadi mari kita menyebutnya sebuah paragraf dengan tag p. 414 00:23:43,370 --> 00:23:45,850 Dan sekarang, apa browser biasanya akan melakukan 415 00:23:45,850 --> 00:23:48,490 adalah seperti dalam buku bahasa Inggris atau esai, 416 00:23:48,490 --> 00:23:51,280 di mana Anda biasanya melihat beberapa jeda baris antara paragraf. 417 00:23:51,280 --> 00:23:53,720 Browser akan melakukannya untuk Anda secara otomatis. 418 00:23:53,720 --> 00:23:56,680 Jadi sekarang kita memiliki dua paragraf dan kita bisa melanjutkan. 419 00:23:56,680 --> 00:23:58,770 Tapi, tentu saja, di Web, bila Anda memiliki tubuh teks 420 00:23:58,770 --> 00:24:01,370 itu tidak biasanya hanya gumpalan besar teks. 421 00:24:01,370 --> 00:24:04,040 Ada sering hyperlink di sana. 422 00:24:04,040 --> 00:24:07,250 Jadi jika kita ingin, misalnya, mencakup beberapa link ke sana, 423 00:24:07,250 --> 00:24:10,760 kira apa yang mungkin menarik dalam apa pun halaman web saya di sini adalah menciptakan - 424 00:24:10,760 --> 00:24:12,780 biarkan aku pergi ke Google.com, 425 00:24:12,780 --> 00:24:16,540 dan biarkan aku mencari rubah coklat cepat. 426 00:24:16,540 --> 00:24:22,150 Pergi ke gambar Google, dan, bagaimana - ini lucu. 427 00:24:22,150 --> 00:24:27,420 Kita akan pergi dengan ini. Jadi di sini kita memiliki melompat cepat rubah cokelat selama anjing malas. 428 00:24:27,420 --> 00:24:30,560 Jadi apa yang akan saya lakukan di sini, hanya untuk kepentingan demonstrasi, 429 00:24:30,560 --> 00:24:32,950 disinyalir bahwa gambar ini pada server saya, 430 00:24:32,950 --> 00:24:35,240 dan saya telah membuat gambar-gambar. 431 00:24:35,240 --> 00:24:38,720 Apa yang saya lakukan adalah hanya klik kanan atau mengontrol klik pada gambar, 432 00:24:38,720 --> 00:24:42,370 dan apa yang Anda akan melihat di hampir semua browser adalah menu kecil - 433 00:24:42,370 --> 00:24:48,800 berhenti melakukan itu - menu kecil yang memungkinkan Anda untuk memilih lokasi copy link atau URL copy. 434 00:24:48,800 --> 00:24:52,750 Jadi biarkan aku kembali sekarang untuk HTML saya, dan anggaplah bahwa saya ingin 435 00:24:52,750 --> 00:24:56,420 untuk hyperlink ini ke halaman web lain. 436 00:24:56,420 --> 00:24:58,640 >> Apa tag yang disebut untuk itu? 437 00:24:58,640 --> 00:25:01,650 [Mahasiswa, dipahami] >> Ya. Jadi href untuk referensi hiper. 438 00:25:01,650 --> 00:25:04,660 Biarkan aku pergi ke depan dan paste yang masuk 439 00:25:04,660 --> 00:25:07,290 Ini adalah URL yang cukup panjang, jadi biar tampilannya kembali. 440 00:25:07,290 --> 00:25:09,950 Kurung dekat, jadi sekarang perhatikan Aku jalan ke sini 441 00:25:09,950 --> 00:25:11,960 karena URL yang terjadi cukup lama. 442 00:25:11,960 --> 00:25:15,180 Biarkan saya gulir ke sini untuk akhir rubah cokelat gesit, 443 00:25:15,180 --> 00:25:18,830 dan kemudian saya akan menutup tag ini dengan 00:25:21,280 di mana saya hanya menutup nama tag. 445 00:25:21,280 --> 00:25:24,470 Sekarang biarkan aku pergi ke depan dan menyimpan file tersebut, kembali halaman web, 446 00:25:24,470 --> 00:25:27,880 dan sekarang, secara default, yang akan berwarna biru bagi saya, 447 00:25:27,880 --> 00:25:31,980 tapi memang, sekarang saya bisa klik ini dan voila. Ada gambar yang. 448 00:25:31,980 --> 00:25:33,990 Dan itu tidak harus gambar, itu bisa dikaitkan 449 00:25:33,990 --> 00:25:36,270 ke beberapa situs acak lain di Internet. 450 00:25:36,270 --> 00:25:39,610 Aku bisa melakukan ini, misalnya, dengan CS50, sehingga salah 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, kutipan dekat, jangkar dekat. 453 00:25:50,340 --> 00:25:53,990 Jadi sekarang itu URL bahkan lebih pendek, dan kali ini kita tidak akan link ke gambar. 454 00:25:53,990 --> 00:25:57,880 Kita bukannya akan link ke halaman lain. 455 00:25:57,880 --> 00:25:59,840 Sekarang, kita memiliki gambar di sini. 456 00:25:59,840 --> 00:26:02,970 Saya merasa seperti kita bisa melakukan sedikit lebih baik daripada hanya terhubung ke sebuah gambar. 457 00:26:02,970 --> 00:26:05,760 Bagaimana jika kita ingin benar-benar mewujudkan dalam halaman web kita sendiri? 458 00:26:05,760 --> 00:26:09,290 >> Nah, apa yang bisa saya lakukan di sini adalah, daripada link ke grafis ini, 459 00:26:09,290 --> 00:26:14,690 biarkan aku malah memotong URL, dan kami akan menyingkirkan hyperlink itu dan membersihkan ini. 460 00:26:14,690 --> 00:26:17,190 Dan kita akan turun di sini dan menyingkirkan ini. 461 00:26:17,190 --> 00:26:20,910 Kami tidak benar-benar membutuhkan semua kalimat sekarang, jadi biar mempersingkat halaman sedikit. 462 00:26:20,910 --> 00:26:24,530 Dan kemudian di sini biarkan aku pergi ke depan dalam sebuah paragraf baru, 463 00:26:24,530 --> 00:26:30,100 mengatakan saya tidak ingin teks sekarang, aku ingin gambar yang sumber akan menjadi URL itu. 464 00:26:30,100 --> 00:26:33,100 Gambar, seperti ganti baris, baik ada atau tidak. 465 00:26:33,100 --> 00:26:35,900 Jadi biarkan aku segera menutup tag tersebut. 466 00:26:35,900 --> 00:26:39,440 Biarkan aku pergi ke depan sekarang dan tutup paragraf yang aku di dalam, 467 00:26:39,440 --> 00:26:43,010 dan jika semua berjalan dengan baik dengan halo, dunia, jika saya reload sekarang, 468 00:26:43,010 --> 00:26:45,520 Saya, memang, lihat tepat di dalam halaman web saya sendiri gambar. 469 00:26:45,520 --> 00:26:48,570 Jadi sekarang kita memiliki tag gambar, tag anchor dan sejenisnya, 470 00:26:48,570 --> 00:26:51,320 dan untuk mengukur baik, biarkan aku melakukan satu hal lain yang sering diabaikan 471 00:26:51,320 --> 00:26:55,900 di website hari ini: Mari kita memberikan beberapa teks deskriptif untuk gambar ini 472 00:26:55,900 --> 00:26:58,090 bagi orang-orang yang berada pada perangkat mobile 473 00:26:58,090 --> 00:27:00,640 dan karena itu tidak mungkin dapat men-download gambar ini sangat cepat, 474 00:27:00,640 --> 00:27:03,310 untuk orang yang buta dan tidak mungkin dapat melihat gambar 475 00:27:03,310 --> 00:27:06,480 tetapi mereka mungkin memiliki pembaca layar yang dapat memberitahu mereka apa gambar ini adalah. 476 00:27:06,480 --> 00:27:09,100 Dan untuk melakukan itu, ada atribut lain untuk tag gambar 477 00:27:09,100 --> 00:27:11,290 disebut alt, untuk teks alternatif. 478 00:27:11,290 --> 00:27:14,650 Dan apa yang dapat saya lakukan di sini adalah mengatakan, 'Ini adalah cepat rubah cokelat. " 479 00:27:14,650 --> 00:27:17,650 Sehingga bahkan jika manusia tidak dapat melihat gambar pada layar, 480 00:27:17,650 --> 00:27:20,560 ia setidaknya bisa mendengar, seperti dengan beberapa bagian dari perangkat lunak, 481 00:27:20,560 --> 00:27:23,080 apa yang sebenarnya ada di layar. 482 00:27:23,080 --> 00:27:25,040 >> Itu tidak akan mengubah estetika halaman, 483 00:27:25,040 --> 00:27:27,640 tetapi tentu saja praktek yang baik bagi pengguna. 484 00:27:27,640 --> 00:27:31,760 Baiklah, mari kita meninggalkan halaman web dalam bentuk yang sekarang, 485 00:27:31,760 --> 00:27:33,890 tapi mari kita lihat apakah kita tidak bisa sekarang memperkenalkan 486 00:27:33,890 --> 00:27:36,210 beberapa lebih baik pendekatan untuk menulis halaman-halaman web, 487 00:27:36,210 --> 00:27:39,980 beberapa pelajaran yang akan melayani kita dengan baik sebagai halaman kami mendapatkan lebih banyak dan lebih kompleks. 488 00:27:39,980 --> 00:27:42,220 Apa yang kita tidak akan melakukan selama beberapa minggu ke depan 489 00:27:42,220 --> 00:27:46,810 adalah memandu Anda melalui semua tag HTML beberapa lusin bahwa ada. 490 00:27:46,810 --> 00:27:49,800 Banyak seperti di awal kembali di minggu 0, mungkin akan cukup 491 00:27:49,800 --> 00:27:52,120 untuk memberikan gambaran tingkat tinggi dari beberapa konsep, 492 00:27:52,120 --> 00:27:54,530 tur singkat dari beberapa blok Anda mungkin mampu, 493 00:27:54,530 --> 00:27:58,240 cukup nyaman, untuk menavigasi pada Anda sendiri, potongan-potongan teka-teki yang berbeda. 494 00:27:58,240 --> 00:28:00,460 Dan itu akan terjadi lagi dalam HTML, kemungkinan besar, 495 00:28:00,460 --> 00:28:04,320 dimana ada sumber daya yang cukup di Web bahwa kita akan mengarahkan Anda pada, 496 00:28:04,320 --> 00:28:06,920 berbagai buku teks, jika Anda lebih memilih untuk membaca buku teks, 497 00:28:06,920 --> 00:28:10,560 yang akan memandu Anda melalui semua berbagai hal yang dapat Anda lakukan dengan HTML, 498 00:28:10,560 --> 00:28:16,100 tapi benar-benar, kita telah melihat sejauh ini di HTML sebagian besar konsep dasar. 499 00:28:16,100 --> 00:28:19,900 Kami memiliki gagasan tag dibuka, tag ditutup. 500 00:28:19,900 --> 00:28:22,100 Beberapa tag yang baik dibuka dan ditutup 501 00:28:22,100 --> 00:28:24,620 dalam arti bahwa mereka kosong, harus ada apa-apa dalam diri mereka 502 00:28:24,620 --> 00:28:27,490 seperti tag foto atau ganti baris, yang hanya ada. 503 00:28:27,490 --> 00:28:32,330 Kami juga melihat sudah pada gagasan atribut, seperti alt atau sumber. 504 00:28:32,330 --> 00:28:36,410 Perhatikan bahwa kata-kata cenderung, dengan konvensi, menjadi pendek dan ringkas. 505 00:28:36,410 --> 00:28:39,140 >> Kami tidak memiliki kewenangan atas hal-hal apa yang disebut, 506 00:28:39,140 --> 00:28:42,060 orang lain yang menemukan HTML datang dengan nama-nama ini. 507 00:28:42,060 --> 00:28:44,710 Jadi Anda hanya harus mulai untuk mengetahui atau mencari, setiap kali Anda membutuhkannya, 508 00:28:44,710 --> 00:28:47,160 apa nama adalah untuk tag dan atribut. 509 00:28:47,160 --> 00:28:49,510 Dalam kasus ini atribut, atribut umum 510 00:28:49,510 --> 00:28:52,900 memodifikasi perilaku tag tertentu. 511 00:28:52,900 --> 00:28:55,710 Dalam kasus ini, atribut sumber memberitahu tag gambar 512 00:28:55,710 --> 00:28:57,940 apa sumber gambar harus. 513 00:28:57,940 --> 00:29:04,460 Atribut href menceritakan tag anchor apa yang sebenarnya harus terhubung ke. 514 00:29:04,460 --> 00:29:06,800 Tetapi dalam hal struktur dari suatu halaman web, meskipun Facebook 515 00:29:06,800 --> 00:29:09,680 dan Google dan terlihat seperti seperti kekacauan lengkap 516 00:29:09,680 --> 00:29:12,560 bawah kap pada pandangan pertama, jika Anda mulai membacanya 517 00:29:12,560 --> 00:29:16,950 lebih metodis, mereka semua mengikuti struktur, dasar dasar. 518 00:29:16,950 --> 00:29:19,660 Tapi kita bisa meningkatkan stilisasi dari hal-hal ini. 519 00:29:19,660 --> 00:29:24,180 Jadi biarkan aku pergi ke beberapa contoh yang saya dipersiapkan sebelumnya. 520 00:29:24,180 --> 00:29:27,280 Biarkan aku pergi ke depan dan menyalinnya dari folder lain di sini 521 00:29:27,280 --> 00:29:29,380 dan menempatkan mereka ke dalam direktori ini. 522 00:29:29,380 --> 00:29:32,210 Di muka, apa yang saya lakukan adalah menyiapkan beberapa file: 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 Biarkan aku pergi ke depan dan membuka yang pertama dari file-file, 525 00:29:38,740 --> 00:29:42,570 dan mari kita lihat apakah kita tidak bisa mulai untuk membuat mesin pencari sendiri. 526 00:29:42,570 --> 00:29:46,530 Pada bagian atas file ini, seperti yang biasanya terjadi di kelas, hanya sekelompok komentar. 527 00:29:46,530 --> 00:29:49,760 Dalam HTML, meskipun, cara-cara yang Anda mulai komentar 528 00:29:49,760 --> 00:29:55,640 adalah <- dan kemudian Anda dalam komentar, komentar multi-line!. 529 00:29:55,640 --> 00:29:59,800 Ketika Anda siap untuk menghentikan komentar itu, Anda dapat melakukan ->. 530 00:29:59,800 --> 00:30:02,380 Jadi semuanya di atas dengan warna biru hanya komentar. 531 00:30:02,380 --> 00:30:04,620 >> Ini adalah deklarasi DOCTYPE saya, yang sekali lagi, 532 00:30:04,620 --> 00:30:07,080 Anda hanya bisa copy dan paste pada iman, untuk saat ini. 533 00:30:07,080 --> 00:30:10,410 Ini hanya memberitahu browser, 'Di sinilah beberapa HTML 5.' 534 00:30:10,410 --> 00:30:13,600 Di bawah itu, on line 14, adalah yang pertama dari tag yang sebenarnya, 535 00:30:13,600 --> 00:30:16,900 dan ini hanya mengatakan, seperti sebelumnya, di sini datang beberapa HTML, 536 00:30:16,900 --> 00:30:19,460 inilah kepala halaman saya, di sini datang judul, 537 00:30:19,460 --> 00:30:23,900 dan kemudian, sebaliknya, itu saja untuk judul, itu saja untuk kepala. 538 00:30:23,900 --> 00:30:26,460 Di sini sekarang datang tubuh halaman saya. 539 00:30:26,460 --> 00:30:31,040 Jadi tag baru beberapa saat: h1 singkatan pos 1. 540 00:30:31,040 --> 00:30:33,850 Ada tradisi di HTML selama bertahun-tahun kembali 541 00:30:33,850 --> 00:30:37,990 memiliki ukuran yang berbeda dari teks. 542 00:30:37,990 --> 00:30:41,980 Dan kembali pada hari, masing-masing berarti, secara umum, hanya besar dan berani. 543 00:30:41,980 --> 00:30:45,860 Tapi ada juga h2, yang besar tapi tidak cukup sebagai besar dan tebal. 544 00:30:45,860 --> 00:30:49,320 Ada h3, yang merupakan jenis besar tapi tidak hampir sama besar dan tebal, 545 00:30:49,320 --> 00:30:52,380 dan sebagainya, semua jalan ke h6. 546 00:30:52,380 --> 00:30:55,550 Hari ini, meskipun, h1, h2 dan h3 benar-benar dimaksudkan 547 00:30:55,550 --> 00:30:57,980 memiliki arti yang lebih semantik kepada mereka, 548 00:30:57,980 --> 00:31:01,100 dimana h1 adalah benar-benar sebuah judul: judul halaman web, 549 00:31:01,100 --> 00:31:04,210 judul kolom atau sesuatu seperti itu teks. 550 00:31:04,210 --> 00:31:09,030 Jadi aku sengaja mengatakan h1 CS50 pencarian> h1 551 00:31:09,030 --> 00:31:12,640 untuk specifiy bahwa ini benar-benar pos, judul halaman saya. 552 00:31:12,640 --> 00:31:14,850 Bukan dalam arti judul bar judul, 553 00:31:14,850 --> 00:31:18,960 tapi judul yang Anda benar-benar melihat di halaman web itu sendiri, di dalam tubuh. 554 00:31:18,960 --> 00:31:20,990 Sekarang ini, Anda mungkin bisa menebak apa itu, 555 00:31:20,990 --> 00:31:23,110 meskipun kita memiliki potongan baru beberapa 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 ketika website mengambil masukan dari pengguna. 558 00:31:28,770 --> 00:31:31,700 Di kelas ini, dalam masalah set pada pemrograman web, 559 00:31:31,700 --> 00:31:33,880 kita tidak akan membuat website, per se, 560 00:31:33,880 --> 00:31:37,570 dengan konten statis yang menunjukkan foto-foto yang Anda telah diambil, 561 00:31:37,570 --> 00:31:40,010 atau ini adalah resume saya, dan hal-hal tentang saya, 562 00:31:40,010 --> 00:31:42,450 karena hal-hal yang relatif mudah untuk menempatkan bersama-sama. 563 00:31:42,450 --> 00:31:44,400 Sulit untuk membuat hal-hal yang indah di Web, 564 00:31:44,400 --> 00:31:46,390 tapi setidaknya memasang konten cukup sepele. 565 00:31:46,390 --> 00:31:49,380 Tapi hal-hal benar-benar menarik ketika seseorang dapat mengunjungi situs web Anda 566 00:31:49,380 --> 00:31:52,260 dan memberikan masukan dan dapat mengisi formulir, 567 00:31:52,260 --> 00:31:55,800 dapat memeriksa kotak centang off dan dapat berinteraksi dengan website Anda. 568 00:31:55,800 --> 00:31:57,780 Dan memang, mungkin setiap website yang Anda pedulikan 569 00:31:57,780 --> 00:32:00,710 hari ini, secara rinci, entah bagaimana interaktif. 570 00:32:00,710 --> 00:32:03,110 Facebook, Google, dan sejenisnya, 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 mulai melakukan itu sekarang. Mari kita transisi sekarang 573 00:32:07,780 --> 00:32:11,150 dari hanya menggunakan HTML untuk markup dari konten statis 574 00:32:11,150 --> 00:32:14,790 sebagai gantinya mekanisme pengiriman untuk konten dinamis. 575 00:32:14,790 --> 00:32:17,350 Dan untuk mencapai tujuan itu, mari kita menerapkan mesin pencari kita sendiri. 576 00:32:17,350 --> 00:32:20,820 Mari kita lakukan sebagai berikut. Berikut adalah tag form. 577 00:32:20,820 --> 00:32:24,090 Atribut aksi menetapkan bahwa ketika pengguna mengisi formulir ini 578 00:32:24,090 --> 00:32:28,400 dengan keyboard mereka, maka akan diserahkan ke URL ini di sini. 579 00:32:28,400 --> 00:32:31,230 Jadi aku jenis kecurangan. Ini akan membawa kita sedikit lebih lama 580 00:32:31,230 --> 00:32:33,780 dari satu kelas untuk melaksanakan seluruh mesin pencari, 581 00:32:33,780 --> 00:32:35,880 jadi kami hanya akan melakukan front end, sehingga untuk berbicara. 582 00:32:35,880 --> 00:32:38,650 Kami akan melakukan bagian yang memungkinkan pencarian pengguna, dan kami akan semacam punt ke Google 583 00:32:38,650 --> 00:32:40,950 bagian yang sulit untuk menemukan hasil pencarian, 584 00:32:40,950 --> 00:32:43,520 namun, secara khusus, saya akan berbicara dengan web server Google 585 00:32:43,520 --> 00:32:46,710 menggunakan salah satu dari dua metode yang sangat populer. 586 00:32:46,710 --> 00:32:50,000 Satu yang bisa, yang lain, bahwa kita akhirnya akan melihat, karena pos, 587 00:32:50,000 --> 00:32:52,660 meskipun ada orang lain yang kurang sering digunakan. 588 00:32:52,660 --> 00:32:56,440 Jadi bisa saja memunculkan ide, saya ingin mendapatkan beberapa konten, mendapatkan beberapa hasil pencarian. 589 00:32:56,440 --> 00:32:58,440 Ini, Anda mungkin bisa menebak apa hal ini. 590 00:32:58,440 --> 00:33:01,900 Ini adalah beberapa jenis masukan, itu, pada kenyataannya, akan terlihat seperti kolom teks, 591 00:33:01,900 --> 00:33:05,200 dan nama itu masukan, nama variabel itu, sehingga untuk berbicara, 592 00:33:05,200 --> 00:33:08,610 yang akan q untuk query dengan konvensi. 593 00:33:08,610 --> 00:33:11,700 Dan lagi, jenis masukan ini tidak akan menjadi kotak centang; 594 00:33:11,700 --> 00:33:13,890 itu tidak akan menjadi menu, itu akan menjadi text field 595 00:33:13,890 --> 00:33:18,060 seperti yang dilambangkan oleh atribut di sini, dan ini kotak teks, 596 00:33:18,060 --> 00:33:20,680 seperti istirahat garis, baik ada atau tidak. 597 00:33:20,680 --> 00:33:24,480 Jadi kita memiliki elemen kosong dengan garis miring di dalam tag tersebut. 598 00:33:24,480 --> 00:33:28,050 Lalu aku akan menempatkan satu baris, dan Anda bisa, mungkin, coba tebak ini akan dapat dilakukan. 599 00:33:28,050 --> 00:33:30,210 Ini adalah satu lagi jenis form input. 600 00:33:30,210 --> 00:33:32,350 >> Yang satu ini akan digunakan untuk mengirimkan formulir. 601 00:33:32,350 --> 00:33:36,140 Jadi ini akan menjadi tombol besar bahwa pengguna dapat mengklik untuk mengirimkan formulir, 602 00:33:36,140 --> 00:33:40,800 dan label pada tombol yang akan menjadi 'CS50 Cari. " 603 00:33:40,800 --> 00:33:44,170 Tutup bentuk, tubuh dekat, dekat HTML. 604 00:33:44,170 --> 00:33:46,280 Mari kita lihat apa yang kita miliki dalam bentuk halaman web. 605 00:33:46,280 --> 00:33:48,260 Jadi biarkan aku pergi ke browser saya, 606 00:33:48,260 --> 00:33:50,360 biarkan aku pergi, masih, ke host lokal. 607 00:33:50,360 --> 00:33:54,650 Ini masih index.html, jadi jika saya ingin melihat file ini disebut search0, 608 00:33:54,650 --> 00:33:59,710 Saya hanya bisa melakukan / search0.html, masukkan - 609 00:33:59,710 --> 00:34:01,880 dan yang pertama dari kesalahan saya. 610 00:34:01,880 --> 00:34:04,400 Apa yang terjadi? Saya jelas tidak memiliki izin 611 00:34:04,400 --> 00:34:06,430 untuk mengakses file ini, untuk beberapa alasan. 612 00:34:06,430 --> 00:34:10,170 Tapi itu karena, tidak seperti pekerjaan yang kita lakukan sejauh ini di C, 613 00:34:10,170 --> 00:34:14,340 di mana program Anda menulis diasumsikan runable oleh Anda, 614 00:34:14,340 --> 00:34:17,590 dieksekusi oleh Anda, itu tidak benar-benar terjadi di Web, 615 00:34:17,590 --> 00:34:21,010 dimana kadang-kadang Anda mungkin ingin membuat file di server, 616 00:34:21,010 --> 00:34:23,310 tetapi Anda tidak ingin seluruh dunia untuk dapat melihat mereka. 617 00:34:23,310 --> 00:34:25,469 Sebaliknya, Anda ingin dunia melihat beberapa file 618 00:34:25,469 --> 00:34:27,730 tetapi tidak yang lain, hanya demi privasi itu. 619 00:34:27,730 --> 00:34:30,730 Jadi itu lebih dari dasar opt-in ketika Anda melakukan hal-hal di Web. 620 00:34:30,730 --> 00:34:32,810 Dan jadi biar benar-benar ketik ls di sini, 621 00:34:32,810 --> 00:34:37,440 dan Anda melihat file yang saya miliki, tapi ingat bahwa jika saya lakukan ls-l lama, 622 00:34:37,440 --> 00:34:41,520 Aku akan mendapatkan daftar panjang yang memberi saya beberapa rincian lebih lanjut tentang file 623 00:34:41,520 --> 00:34:45,139 yang sekarang, benar-benar, untuk pertama kalinya relevan untuk kita. 624 00:34:45,139 --> 00:34:47,840 Perhatikan bahwa di paling kanan adalah nama dari file saya, 625 00:34:47,840 --> 00:34:50,690 dan kemudian saat di mana mereka terakhir diubah atau disalin. 626 00:34:50,690 --> 00:34:54,370 Nomor ini di sini adalah apa? Apakah Anda ingat? 627 00:34:54,370 --> 00:34:56,400 Ukuran dalam byte, seberapa besar file tersebut. 628 00:34:56,400 --> 00:34:59,520 >> Jadi saya tampaknya memiliki semacam logo di sini yang lebih besar dari semua file lainnya. 629 00:34:59,520 --> 00:35:03,610 Ini adalah siapa saya, ini adalah apa yang saya dan apa yang kelompok saya masuk 630 00:35:03,610 --> 00:35:07,430 Tapi kemudian, di sini di sebelah kiri adalah sedikit dari urutan samar, 631 00:35:07,430 --> 00:35:10,040 dan kami berbicara, saya pikir, secara singkat tentang hal ini di masa lalu, 632 00:35:10,040 --> 00:35:12,050 tetapi ini harus dilakukan dengan izin. 633 00:35:12,050 --> 00:35:14,020 Dan bahkan jika itu sedikit kabur, 634 00:35:14,020 --> 00:35:17,270 RW mungkin berarti membaca & menulis. 635 00:35:17,270 --> 00:35:22,560 Jadi ternyata bahwa strip menunjukkan set berbeda perizinan untuk orang yang berbeda. 636 00:35:22,560 --> 00:35:24,730 Dan pola ini, pada dasarnya, sebagai berikut. 637 00:35:24,730 --> 00:35:27,650 Ketika Anda melihat urutan garis sini, mereka terlihat sebagai berikut. 638 00:35:27,650 --> 00:35:30,450 Ada tanda hubung, maka ada tiga strip, 639 00:35:30,450 --> 00:35:33,390 kemudian ada tiga, maka ada tiga. 640 00:35:33,390 --> 00:35:36,800 Yang pertama adalah baik dasbor atau iklan itu untuk direktori. 641 00:35:36,800 --> 00:35:40,220 Jadi yang satu ini cukup mudah. Jika itu folder, ia mengatakan d, selain itu tanda hubung. 642 00:35:40,220 --> 00:35:44,080 Ada beberapa kasus lain, tapi untuk saat ini kita hanya akan peduli tentang file dan direktori. 643 00:35:44,080 --> 00:35:48,090 Ketiga berikutnya strip - dan saya sudah artifisial dimasukkan ruang. 644 00:35:48,090 --> 00:35:50,490 Mereka, jelas, tidak ada ketika kami melihat mereka beberapa saat yang lalu. 645 00:35:50,490 --> 00:35:52,900 Ini adalah hak akses pemilik file, 646 00:35:52,900 --> 00:35:55,840 dan ingat dari kedua lalu bahwa itu membaca & menulis. 647 00:35:55,840 --> 00:35:58,560 Itu karena saya, sebagai orang yang menciptakan file ini beberapa saat yang lalu, 648 00:35:58,560 --> 00:36:01,250 Aku, hanya dengan default, pada komputer Linux, 649 00:36:01,250 --> 00:36:03,910 memiliki kemampuan untuk terus membaca dan menulis file tersebut. 650 00:36:03,910 --> 00:36:07,170 >> Jadi sistem operasi hanya memberi saya RW otomatis. 651 00:36:07,170 --> 00:36:10,840 Yang tengah berhubungan dengan kelompok saya, bahwa siswa, 652 00:36:10,840 --> 00:36:14,590 yang merupakan semacam berarti pada alat karena aku satu-satunya orang menggunakan alat. 653 00:36:14,590 --> 00:36:16,620 Jadi biarkan aku hanya melambaikan tangan saya pada saat itu untuk saat ini. 654 00:36:16,620 --> 00:36:19,190 Tapi yang terakhir adalah yang paling penting untuk Web. 655 00:36:19,190 --> 00:36:21,580 Ini adalah semua orang di dunia, dan fakta 656 00:36:21,580 --> 00:36:24,600 bahwa yang --- berarti bahwa tidak ada orang lain di dunia ini 657 00:36:24,600 --> 00:36:26,680 mempunyai izin untuk file ini. 658 00:36:26,680 --> 00:36:29,180 Jelas masalah, jadi saya harus memperbaiki 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 Itu mungkin bodoh, kan? Saya tidak ingin orang di Web 661 00:36:35,850 --> 00:36:38,530 untuk pergi untuk mengunjungi halaman saya dan entah bagaimana mengubah file tersebut, 662 00:36:38,530 --> 00:36:40,800 meskipun mereka benar-benar tidak bisa dengan file HTML, 663 00:36:40,800 --> 00:36:44,110 tetapi hanya pada prinsipnya, mungkin hanya ingin mereka bisa membacanya. 664 00:36:44,110 --> 00:36:47,910 Apa artinya untuk membacanya? Ini tidak berarti mereka akan peduli tentang HTML yang sebenarnya, 665 00:36:47,910 --> 00:36:51,820 tapi browser harus mampu mengurai bahwa 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 harus mampu membacanya, jadi saya minimal perlu memberikan r. 668 00:36:57,990 --> 00:37:00,240 Saya bisa melakukan ini dengan cara yang berbeda, tapi mungkin 669 00:37:00,240 --> 00:37:03,080 yang paling sederhana adalah dengan menjalankan perintah ini di sini. 670 00:37:03,080 --> 00:37:10,860 Chmod, modus perubahan, maka + r sehingga semua orang, di dunia + baca, 671 00:37:10,860 --> 00:37:13,830 dan kemudian nama file, search0.html. 672 00:37:13,830 --> 00:37:18,310 >> Sekarang jika saya lakukan ls-l lagi, perhatikan bahwa file yang telah berubah, 673 00:37:18,310 --> 00:37:21,440 dan memang, saya sudah dihidupkan r untuk semua orang. 674 00:37:21,440 --> 00:37:23,350 Saya juga menyalakannya untuk kelompok saya, tapi itu baik-baik saja, 675 00:37:23,350 --> 00:37:27,150 karena jika aku berpaling pada untuk semua orang, kelompok saya adalah bagian dari itu. 676 00:37:27,150 --> 00:37:31,480 Jadi itu baik juga. Ini hanya berarti komputer kini telah berhasil dibaca. 677 00:37:31,480 --> 00:37:34,430 Sekarang biarkan aku kembali ke browser saya, klik reload. 678 00:37:34,430 --> 00:37:36,330 Ah-ha. Kami sekarang memiliki CS50 Cari. 679 00:37:36,330 --> 00:37:39,830 Saya sudah diperbesar sedikit artifisial - mesin pencari cukup mengerikan. 680 00:37:39,830 --> 00:37:41,930 Tapi mari kita lihat apakah itu benar-benar bekerja. 681 00:37:41,930 --> 00:37:45,880 Pertama, biarkan saya melakukan cek kewarasan cepat, biarkan aku mengendalikan klik dan melihat sumber halaman. 682 00:37:45,880 --> 00:37:50,780 Perhatikan bahwa dalam Chrome kita sekarang melihat HTML yang sama yang saya buat sendiri. 683 00:37:50,780 --> 00:37:55,420 Jangan bingung di sini, meskipun. Aku tidak bisa mulai mengubah kode di sini, 684 00:37:55,420 --> 00:37:59,420 karena browser memiliki pandangan read-only dari kode ini. 685 00:37:59,420 --> 00:38:06,060 Browser baru saja meminta host lokal untuk sebuah file bernama search0.html. 686 00:38:06,060 --> 00:38:09,490 Sekarang murni kebetulan bahwa alat 687 00:38:09,490 --> 00:38:13,480 kebetulan pada komputer yang sama sebagai browser saya. 688 00:38:13,480 --> 00:38:20,470 Aku hanya bisa memiliki, ekuivalen, telah mengetik di www.facebook.com/search0.html, 689 00:38:20,470 --> 00:38:23,830 dan jika Facebook memiliki file bernama itu, saya kemudian akan melihat HTML mereka. 690 00:38:23,830 --> 00:38:27,360 Dan, tentu saja, saya tidak bisa mengubah file yang datang kembali dari Facebook, baik. 691 00:38:27,360 --> 00:38:29,360 Jadi sekarang kita semacam mengaburkan garis. 692 00:38:29,360 --> 00:38:32,130 Alat ini baik server, melayani sampai halaman web, 693 00:38:32,130 --> 00:38:34,870 tetapi juga klien dalam arti bahwa saya menggunakan browser 694 00:38:34,870 --> 00:38:37,630 untuk benar-benar berbicara dengan server. 695 00:38:37,630 --> 00:38:39,610 Jadi mari kita lihat apakah saya mesin pencari Google bekerja. 696 00:38:39,610 --> 00:38:44,930 Biarkan aku pergi ke depan dan mencari fox coklat cepat, masuk. 697 00:38:44,930 --> 00:38:47,540 Dan voila, saya sekarang memiliki mesin pencari sendiri. 698 00:38:47,540 --> 00:38:51,460 >> Tapi bagaimana cara kerjanya? 699 00:38:51,460 --> 00:38:55,380 Sedikit peregangan, tapi - dan sekarang Anda tidak dapat melihat, tepatnya, bagian itu menarik. 700 00:38:55,380 --> 00:38:57,370 Perhatikan apa yang terjadi. 701 00:38:57,370 --> 00:39:00,430 Perhatikan URL. Ternyata bahwa metode itu, 702 00:39:00,430 --> 00:39:02,780 disebut dapatkan, super-sederhana. 703 00:39:02,780 --> 00:39:10,270 Ketika Anda tentukan dalam bentuk yang Anda ingin 'mendapatkan' hasil dari beberapa server, 704 00:39:10,270 --> 00:39:13,200 apa yang akan lakukan adalah mengambil apa pun yang Anda ketik ke dalam formulir 705 00:39:13,200 --> 00:39:15,290 dan memasukkannya ke dalam URL. 706 00:39:15,290 --> 00:39:18,580 Ini akan menstandarisasi bagaimana itu akan dimasukkan ke dalam URL sebagai berikut. 707 00:39:18,580 --> 00:39:22,290 Perhatikan bahwa ini adalah URL yang nilai atribut tindakan saya. 708 00:39:22,290 --> 00:39:24,730 Di situlah saya ingin formulir berakhir. 709 00:39:24,730 --> 00:39:26,950 Tapi kemudian melihat ini tanda tanya. 710 00:39:26,950 --> 00:39:30,230 Ini adalah konvensi di Web dimana untuk memberikan masukan pengguna 711 00:39:30,230 --> 00:39:35,320 ke sebuah situs web, Anda tambahkan ke URL tanda tanya, 712 00:39:35,320 --> 00:39:38,330 dan kemudian Anda memiliki sejumlah besar pasangan kunci-nilai. 713 00:39:38,330 --> 00:39:42,380 Nama kunci, atau dikenal sebagai parameter di Web, 714 00:39:42,380 --> 00:39:46,380 maka Anda memiliki tanda yang sama, maka Anda memiliki nilai parameter yang. 715 00:39:46,380 --> 00:39:49,810 Jadi pada dasarnya nama variabel dan nilai variabel, 716 00:39:49,810 --> 00:39:54,250 namun nama mereka variabel dan nilai-nilai berasal dari bentuk HTML. 717 00:39:54,250 --> 00:39:56,250 Mengapa Plus sana, menurut Anda? 718 00:39:56,250 --> 00:39:59,340 Karena aku tidak mengetik + di antara kata-kata saya. 719 00:39:59,340 --> 00:40:01,430 [Mahasiswa, dipahami] 720 00:40:01,430 --> 00:40:05,080 >> Ya, itu hanya untuk spasi. Kemungkinannya, setiap kali Anda telah melihat URL, 721 00:40:05,080 --> 00:40:07,320 ada pernah ada ruang di dalamnya, jika hanya karena 722 00:40:07,320 --> 00:40:09,440 jika ada, Anda tidak bisa benar-benar menyalin dan tempel 723 00:40:09,440 --> 00:40:12,700 ke IM atau ke email karena akan pecah. 724 00:40:12,700 --> 00:40:15,420 Anda ingin semuanya menjadi satu string karakter bersebelahan. 725 00:40:15,450 --> 00:40:18,450 >> Jadi browser cukup pintar untuk menyadari, eh-eh. 726 00:40:18,450 --> 00:40:22,610 Jangan hanya menempatkan ruang di sana. Biarkan saya menyandikan ruang dalam beberapa cara standar. 727 00:40:22,610 --> 00:40:25,170 Salah satu konvensi untuk melakukannya adalah memiliki browser 728 00:40:25,170 --> 00:40:29,350 otomatis menempatkan + di mana Anda sebaliknya akan memiliki ruang. 729 00:40:29,350 --> 00:40:32,140 Jadi sekarang, pemberitahuan Google telah jenis user-friendly. 730 00:40:32,140 --> 00:40:34,380 Aku pasti tidak menciptakan halaman web ini, 731 00:40:34,380 --> 00:40:37,200 tetapi mereka telah prepopulated bidang teks mereka sendiri 732 00:40:37,200 --> 00:40:39,490 dengan apa, tepatnya, saya mengetik masuk 733 00:40:39,490 --> 00:40:43,090 Misalkan saya ingin mencari sesuatu yang lain, seperti anjing malas. 734 00:40:43,090 --> 00:40:45,340 Saya hanya bisa mengetik ini di sini, re-search. 735 00:40:45,340 --> 00:40:47,730 Perhatikan bahwa URL perubahan di sini, 736 00:40:47,730 --> 00:40:51,390 tetapi perhatikan bahwa aku benar-benar dapat mencari apapun yang saya inginkan 737 00:40:51,390 --> 00:40:53,610 hanya dengan memahami bagaimana bekerja URL. 738 00:40:53,610 --> 00:40:56,840 Aku bisa melakukan kucing malas, masukkan, 739 00:40:56,840 --> 00:41:01,370 dan perhatikan sekarang aku mendapatkan sangat malas - harus kita? Saya merasa seperti kita seharusnya. 740 00:41:01,370 --> 00:41:09,900 Saya mendapatkan kucing sangat malas. 741 00:41:09,900 --> 00:41:11,930 Baiklah. Ini adalah salah satu hal terbodoh yang telah kami lakukan. 742 00:41:11,930 --> 00:41:17,160 Tapi itu adalah kucing malas. 743 00:41:17,160 --> 00:41:19,730 Bagaimanapun, apa takeaway kunci di sini? 744 00:41:19,730 --> 00:41:22,830 Sekarang kita semacam bermain di dunia HTTP. 745 00:41:22,830 --> 00:41:26,050 HTML adalah bahasa markup ini hanya, tag terbuka, tag dekat, 746 00:41:26,050 --> 00:41:29,490 yang memberitahu browser bagaimana untuk membuat konten pada halaman web. 747 00:41:29,490 --> 00:41:32,850 Tapi ketika Anda mulai transmisi data di Internet 748 00:41:32,850 --> 00:41:36,290 antara browser web dan server, yang mana protokol ini 749 00:41:36,290 --> 00:41:39,370 dikenal sebagai HyperText Transfer Protocol mengambil alih. 750 00:41:39,370 --> 00:41:42,630 Ini adalah semacam konvensi manusia, ketika Sam dan saya berjabat tangan pada hari Senin, 751 00:41:42,630 --> 00:41:48,300 memulai sambungan dan kemudian menutup koneksi, ide yang sama di sini. 752 00:41:48,300 --> 00:41:53,100 Bagaimana hasil Google datang kembali ke saya? 753 00:41:53,100 --> 00:41:55,290 Bagaimana pengiriman formulir saya pergi ke Google? 754 00:41:55,290 --> 00:41:58,160 Nah, ingat dari hari lain bahwa apa yang sebenarnya terjadi 755 00:41:58,160 --> 00:42:02,150 bawah kap ketika Anda meminta halaman web, 756 00:42:02,150 --> 00:42:04,860 Browser Anda mengirimkan pesan yang agak-samar seperti 757 00:42:04,860 --> 00:42:09,510 GET / HTTP/1.1 untuk home page default. 758 00:42:09,510 --> 00:42:13,000 >> Atau, dalam hal ini, karena saya secara khusus meminta sebelumnya 759 00:42:13,000 --> 00:42:17,340 search0.html, ini kemudian akan menjadi pesan yang agak samar- 760 00:42:17,340 --> 00:42:20,040 bahwa browser saya mengirimkan ke alat. 761 00:42:20,040 --> 00:42:23,090 Atau, dalam hal ini dari Google, apa yang sebenarnya dikirim 762 00:42:23,090 --> 00:42:33,740 adalah permintaan untuk / pencarian, dan kemudian q =? kucing malas, dengan ditambah ada. 763 00:42:33,740 --> 00:42:36,790 Jadi pesan ini, bahwa saya, manusia, saya tidak pernah mengetik, 764 00:42:36,790 --> 00:42:40,620 tetapi yang dikirimkan oleh browser saya, ini adalah bagaimana HTTP terjadi. 765 00:42:40,620 --> 00:42:43,240 Ini adalah setara dengan tangan kami telah terguncang. 766 00:42:43,240 --> 00:42:46,320 Ini adalah permintaan, dan server yang akan mengirim respon. 767 00:42:46,320 --> 00:42:48,560 Jadi mari kita lihat ini di bawah tenda. 768 00:42:48,560 --> 00:42:55,320 Seperti sebelumnya, kita dapat membuka bidang ini khusus dalam browser. 769 00:42:55,320 --> 00:42:58,720 Lihat halaman, memeriksa elemen. 770 00:42:58,720 --> 00:43:01,550 Jadi di bawah memeriksa elemen, melihat bahwa apa yang terjadi di Chrome, 771 00:43:01,550 --> 00:43:04,160 dan IE dan Firefox memiliki mekanisme yang sama, 772 00:43:04,160 --> 00:43:07,370 kita memiliki alat pengembang ini dapat diakses kepada kami. 773 00:43:07,370 --> 00:43:09,630 Orang normal tidak menggunakan tab. 774 00:43:09,630 --> 00:43:11,940 Tapi kita, sekarang, tertarik pada apa yang terjadi 775 00:43:11,940 --> 00:43:13,890 bawah kap pada tingkat jaringan. 776 00:43:13,890 --> 00:43:16,130 Jadi jika saya naikkan tingkat jaringan di sini, 777 00:43:16,130 --> 00:43:18,510 biarkan aku pergi ke depan dan memperluas jendela ini, 778 00:43:18,510 --> 00:43:21,840 membuka entri ini di sini, dan melihat header. 779 00:43:21,840 --> 00:43:26,010 Jadi apa yang terjadi ketika saya meminta file dari server web 780 00:43:26,010 --> 00:43:29,410 adalah browser saya mengirimkan sejumlah hal. 781 00:43:29,410 --> 00:43:32,390 Dan biarkan aku melihat sumber. Jadi di bawah header permintaan, 782 00:43:32,390 --> 00:43:35,250 dan ini hanya Chrome menunjukkan kepada saya beberapa output diagnostik, 783 00:43:35,250 --> 00:43:37,340 semacam seperti debugger dari beberapa macam, 784 00:43:37,340 --> 00:43:40,500 melihat bahwa apa yang telah saya disorot di sini adalah tepat apa 785 00:43:40,500 --> 00:43:47,060 Chrome mengirimkan ke server untuk meminta sebuah file yang bernama search0.html. 786 00:43:47,060 --> 00:43:50,160 Hal ini memberitahu server apa yang dianggapnya namanya, 787 00:43:50,160 --> 00:43:52,210 berkat bidang usus tuan rumah, maka ada beberapa 788 00:43:52,210 --> 00:43:56,950 hal yang cukup esoteris di sini, seperti ada hubungannya dengan tanggal dan waktu, 789 00:43:56,950 --> 00:43:59,720 ada hubungannya dengan bahasa yang browser mengerti, 790 00:43:59,720 --> 00:44:02,850 namun garis benar-benar penting adalah dua pertama di sini. 791 00:44:02,850 --> 00:44:05,490 >> Apa server merespon dengan? Nah, jika kita scroll ke bawah sini 792 00:44:05,490 --> 00:44:08,510 dan melihat sumber hal ini, perhatikan bahwa server 793 00:44:08,510 --> 00:44:13,700 telah menanggapi dengan pesan yang agak samar juga, 304 tidak diubah. 794 00:44:13,700 --> 00:44:16,030 Itu agak aneh, biarkan aku benar-benar mencoba untuk memperbaiki hal ini. 795 00:44:16,030 --> 00:44:18,670 Biarkan aku tahan shift dan klik ulang di sini 796 00:44:18,670 --> 00:44:22,460 untuk memaksa browser untuk benar-benar membuat permintaan ini untuk pertama kalinya. 797 00:44:22,460 --> 00:44:25,700 Kemudian biarkan aku memperbesar, dan kita akan melihat sekarang bahwa respon server, 798 00:44:25,700 --> 00:44:28,950 karena saya memegang pergeseran, adalah 200 OK. 799 00:44:28,950 --> 00:44:31,170 Jadi Anda mungkin pernah melihat nomor 200 800 00:44:31,170 --> 00:44:33,300 dalam jumlah konteks Web, tapi apa 801 00:44:33,300 --> 00:44:36,760 Anda telah kadang-kadang terlihat tak terduga dari server? 802 00:44:36,760 --> 00:44:42,010 404, file tidak ditemukan, 403, terlarang, 500, server error. 803 00:44:42,010 --> 00:44:44,890 Jadi ada kode-kode numerik bahwa dunia menggunakan di Web 804 00:44:44,890 --> 00:44:47,870 untuk menandakan kesalahan, seperti fungsi C 805 00:44:47,870 --> 00:44:51,030 dapat kembali kesalahan dan utama dapat kembali kode keluar. 806 00:44:51,030 --> 00:44:54,160 200, meskipun, Anda jarang melihat karena itu berarti semuanya baik-baik. 807 00:44:54,160 --> 00:44:59,000 Dan 304 Anda mungkin pernah melihat karena apa itu menandakan? 808 00:44:59,000 --> 00:45:03,330 Itu tidak memiliki - mari kita lihat apakah kita dapat mensimulasikan ini lagi - 809 00:45:03,330 --> 00:45:07,170 Oh, sekarang sudah tidak bekerja sama. 304 mengatakan tidak diubah, 810 00:45:07,170 --> 00:45:09,170 jadi mengapa server bahkan menanggapi? 811 00:45:09,170 --> 00:45:12,550 Nah, untuk efisiensi, web server secara otomatis untuk Anda, 812 00:45:12,550 --> 00:45:16,570 jika file tidak berubah, tidak akan memancarkan kembali seluruh file HTML. 813 00:45:16,570 --> 00:45:19,150 Itu hanya akan memberitahu browser itu belum berubah. 814 00:45:19,150 --> 00:45:21,220 Hanya menggunakan salinan yang sudah Anda miliki. 815 00:45:21,220 --> 00:45:22,650 Jadi ada gagasan dari caching di Web 816 00:45:22,650 --> 00:45:25,840 untuk kinerja, sehingga Anda tidak membuang-buang waktu dan bandwidth limbah 817 00:45:25,840 --> 00:45:29,160 download file lagi dan lagi tidak perlu. 818 00:45:29,160 --> 00:45:31,460 >> Tapi ini halaman web, sekarang, adalah super-sederhana, 819 00:45:31,460 --> 00:45:34,980 dan hanya menunjukkan saya HTML yang datang kembali. 820 00:45:34,980 --> 00:45:40,940 Mari kita benar-benar menggunakan tab jaringan sekarang untuk melakukan pencarian Google seperti rubah coklat cepat. 821 00:45:40,940 --> 00:45:43,010 Biarkan aku kemudian klik CS50 pencarian, 822 00:45:43,010 --> 00:45:46,950 dan sekarang, perhatikan di bagian bawah sini sejumlah barang kembali 823 00:45:46,950 --> 00:45:49,900 karena ketika saya mengunjungi sebuah website nyata seperti Google.com, 824 00:45:49,900 --> 00:45:53,520 mereka memiliki gambar, mereka memiliki teks, mereka memiliki bahasa yang disebut JavaScript sana. 825 00:45:53,520 --> 00:45:55,940 Jadi setiap baris dalam tabel ini di sini 826 00:45:55,940 --> 00:46:01,490 merupakan sesuatu yang Google dimuntahkan dalam menanggapi permintaan tunggal saya. 827 00:46:01,490 --> 00:46:04,160 Yang saya peduli, meskipun, ini yang pertama. 828 00:46:04,160 --> 00:46:08,420 Dan jika saya pergi ke pencarian, permintaan, klik lihat sumber di sini, 829 00:46:08,420 --> 00:46:11,300 melihat bahwa, memang, pesan samar bahwa browser saya dikirim 830 00:46:11,300 --> 00:46:15,010 ke Google adalah dua baris disini, 831 00:46:15,010 --> 00:46:18,420 diikuti oleh beberapa informasi rahasia di sini yang akan kita abaikan untuk saat ini. 832 00:46:18,420 --> 00:46:20,890 Tapi perhatikan juga, apa yang Chrome cukup berguna dengan, 833 00:46:20,890 --> 00:46:24,540 itu juga menunjukkan kepada saya string query yang dikirim masuk 834 00:46:24,540 --> 00:46:27,410 Jadi daripada menunjukkan saya ini, yang secara harfiah dikirim, 835 00:46:27,410 --> 00:46:30,800 jika saya melihatnya diterjemahkan, Chrome, hanya untuk tujuan debugging, 836 00:46:30,800 --> 00:46:34,270 untuk pengembang seperti kita, itu hanya menunjukkan saya versi manusia-ramah - 837 00:46:34,270 --> 00:46:36,390 yang tidak bagaimana Anda mengeja rubah, rupanya. 838 00:46:36,390 --> 00:46:40,520 Aku hanya melihat ini sekarang - tapi itu menunjukkan kepada Anda apa yang saya, rupanya, diketik. 839 00:46:40,520 --> 00:46:45,340 Sementara itu, respon yang datang kembali dari server lagi 200 OK. 840 00:46:45,340 --> 00:46:47,930 Tetapi termasuk dalam respon itu, tentu saja, 841 00:46:47,930 --> 00:46:51,920 jika kita benar-benar melihat HTML halaman - 842 00:46:51,920 --> 00:46:55,440 Maaf, ini adalah cara pintas keyboard sedikit kacau hari ini. 843 00:46:55,440 --> 00:46:59,020 >> Aku akan menangani ini nanti. Jadi, jika kita benar-benar melihat sumber halaman, 844 00:46:59,020 --> 00:47:02,990 yang bisa saya lakukan di sini dengan mengklik respon, 845 00:47:02,990 --> 00:47:10,080 ini adalah apa yang benar-benar meludah kembali, selain itu pesan 200 OK samar dari server. 846 00:47:10,080 --> 00:47:12,520 Sebuah samar sedikit, tetapi di mana semua ini berasal? 847 00:47:12,520 --> 00:47:15,570 Nah, mari kita lakukan satu hal lain di sini. Perintah lain yang agak-samar, 848 00:47:15,570 --> 00:47:20,530 tapi jenis yang satu ini rapi dalam hal itu mengungkapkan kepada kita apa yang terjadi di bawah tenda. 849 00:47:20,530 --> 00:47:22,530 Jadi aku kembali pada Mac saya di sini, saya telah terhubung 850 00:47:22,530 --> 00:47:25,980 melalui program yang disebut SSH, Secure Shell, ke server lain 851 00:47:25,980 --> 00:47:28,940 karena sebagian besar komputer Harvard memblokir perintah kita akan menjalankan 852 00:47:28,940 --> 00:47:31,640 karena ada perintah ini pada beberapa server disebut traceroute 853 00:47:31,640 --> 00:47:34,810 yang memungkinkan Anda untuk melacak rute antara titik a dan b, 854 00:47:34,810 --> 00:47:37,020 dan sejauh ini kami telah mengambil sepenuhnya untuk diberikan 855 00:47:37,020 --> 00:47:40,170 bahwa saya dapat mengetikkan Google.com dan entah bagaimana mendapatkan kembali data 856 00:47:40,170 --> 00:47:43,530 dari setengah seluruh negara atau setengah di seluruh dunia. 857 00:47:43,530 --> 00:47:45,810 Dengan traceroute kita benar-benar dapat menyelam dalam sedikit lebih dalam 858 00:47:45,810 --> 00:47:49,370 tentang bagaimana Internet bekerja, dan melihat apa yang terjadi di bawah tenda. 859 00:47:49,370 --> 00:47:54,440 Jadi mari kita pergi ke depan dan sewenang-wenang melacak rute ke, katakanlah, Stanford.edu, 860 00:47:54,440 --> 00:47:57,150 yang di seluruh negeri, dan tekan enter. 861 00:47:57,150 --> 00:47:59,380 Perintah ini dapat menjadi super-cepat atau super-lambat, 862 00:47:59,380 --> 00:48:02,010 tapi apa yang kita lihat sekarang, baris demi baris, 863 00:48:02,010 --> 00:48:08,060 adalah setiap salah satu dari langkah-langkah atau hop antara kami dan Palo Alto, atau Stanford, 864 00:48:08,060 --> 00:48:11,010 di mana mereka memiliki server web mereka. 865 00:48:11,010 --> 00:48:16,600 Jadi, apa masing-masing baris mewakili lebih konkret, meskipun? 866 00:48:16,600 --> 00:48:19,100 Sepotong jargon dari Internet? [Mahasiswa, dipahami] 867 00:48:19,100 --> 00:48:21,570 >> Apa itu? [Mahasiswa, dipahami] 868 00:48:21,570 --> 00:48:25,390 >> Oh, jadi ada waktu, tapi apa setiap baris - apa yang saya maksud dengan hop? 869 00:48:25,390 --> 00:48:29,140 >> Nah, ada hal-hal di Internet disebut router. 870 00:48:29,140 --> 00:48:33,020 Dan router, seperti namanya, rute informasi dari satu titik ke titik b. 871 00:48:33,020 --> 00:48:36,920 Tapi ada beberapa hal di luar a dan b. 872 00:48:36,920 --> 00:48:40,010 Ada c dan d dan e dan f antara baris 1, 873 00:48:40,010 --> 00:48:43,480 yang terjadi menjadi alamat IP komputer saya, 874 00:48:43,480 --> 00:48:46,890 atau alamat numerik saya, yang unik mengidentifikasi komputer saya, 875 00:48:46,890 --> 00:48:50,300 dan langkah 15, yang sebenarnya server web keenam, 876 00:48:50,300 --> 00:48:54,640 ternyata, yang aku menyimpulkan dari ini, atau versi 6 dari server web mereka di Stanford. 877 00:48:54,640 --> 00:48:56,680 Tapi apa semacam rapi adalah, kita dapat melihat jalan 878 00:48:56,680 --> 00:49:00,480 bahwa saya dan 0 s 1 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 memiliki pengenal yang unik yang terlihat seperti ini. 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number. 882 00:49:08,150 --> 00:49:10,370 Di suatu tempat di kampus ini, mungkin di pusat ilmu pengetahuan, 883 00:49:10,370 --> 00:49:16,780 adalah router disebut Core Gateway 2-te83, apa pun artinya, 884 00:49:16,780 --> 00:49:20,590 jadi ini adalah salah satu router besar Harvard mewah yang banyak rute lalu lintas mereka. 885 00:49:20,590 --> 00:49:24,640 Berikut lain dari router Harvard, yang satu ini adalah Border Gateway, 886 00:49:24,640 --> 00:49:28,310 berarti perbatasan itu mungkin di pinggiran kampus di suatu tempat. 887 00:49:28,480 --> 00:49:32,790 Lalu ada satu nox, baris 4, yaitu Crossroads Utara, 888 00:49:32,790 --> 00:49:35,070 yang merupakan ISP besar, penyedia layanan Internet, 889 00:49:35,070 --> 00:49:37,740 bahwa tempat-tempat seperti Harvard menghubungkan hingga. 890 00:49:37,740 --> 00:49:40,760 Tapi kemudian hal-hal mendapatkan sedikit menarik di baris 6. 891 00:49:40,760 --> 00:49:45,960 Di mana bit saya tiba-tiba? Kansas. 892 00:49:45,960 --> 00:49:49,300 Dunia memiliki kebiasaan menggunakan kode bandara di banyak hal-hal ini, 893 00:49:49,300 --> 00:49:52,900 atau singkatan setidaknya untuk negara atau kota, 894 00:49:52,900 --> 00:49:56,490 sehingga terlihat seperti, hanya dalam 60 ms, 895 00:49:56,490 --> 00:49:59,420 paket informasi, 0 dan 1 adalah dari laptop saya 896 00:49:59,420 --> 00:50:03,210 mendapat semua jalan ke Kansas, dan sekali lagi, dalam 60 ms. 897 00:50:03,210 --> 00:50:08,180 >> Apalagi, setelah Kansas, mereka mengambil tur melalui Houston, mungkin, 898 00:50:08,180 --> 00:50:10,140 seperti yang disarankan oleh nama server ini. 899 00:50:10,140 --> 00:50:13,310 Jadi hanya sebagai server di Internet harus memiliki alamat numerik, 900 00:50:13,310 --> 00:50:18,360 itu juga bisa, opsional, memiliki alamat yang sedikit lebih manusia-ramah bahwa manusia datang dengan. 901 00:50:18,360 --> 00:50:20,510 Sekarang, pada langkah 8, kita tidak tahu apa ini. 902 00:50:20,510 --> 00:50:22,550 Kadang-kadang router hanya jenis mengabaikan Anda, 903 00:50:22,550 --> 00:50:25,010 dan mereka hanya tidak menjawab pertanyaan, jadi itu baik-baik saja. 904 00:50:25,010 --> 00:50:29,290 Yang setelah langkah 8 tampaknya mana? L.A. 905 00:50:29,290 --> 00:50:35,290 Perhatikan hanya dalam 78 ms, apa yang membawa kita manusia seperti 6 + jam untuk melakukannya secara fisik, 906 00:50:35,290 --> 00:50:40,110 mengambil paket informasi di Internet 78 ms untuk melakukan perjalanan sejauh itu. 907 00:50:40,110 --> 00:50:45,890 Langkah 10 adalah di LA juga, dan langkah 11 tampaknya sudah utara, di dekat Stanford. 908 00:50:45,890 --> 00:50:48,750 Ini adalah batas router mereka, atau router perbatasan. 909 00:50:48,750 --> 00:50:51,240 Beberapa langkah di Stanford yang mengabaikan kita, 910 00:50:51,240 --> 00:50:55,610 dan terakhir, kami mencapai server web hanya dalam 87 ms. 911 00:50:55,610 --> 00:50:57,760 Sekarang, semua angka-angka ini, sebagai samping, 912 00:50:57,760 --> 00:51:00,640 hanya memberitahu Anda berapa lama waktu yang dibutuhkan untuk data untuk mendapatkan dari saya 913 00:51:00,640 --> 00:51:03,530 untuk masing-masing router, dan itu tidak akumulatif. 914 00:51:03,530 --> 00:51:06,960 Apa program ini dilakukan adalah, pertama kali mengirimkan pesan, pada dasarnya, ke router pertama. 915 00:51:06,960 --> 00:51:09,490 Kemudian satu ke router kedua, kemudian satu ke router ketiga, 916 00:51:09,490 --> 00:51:12,610 mengukur setiap kali. Jadi dalam teori, kali ini akan tumbuh 917 00:51:12,610 --> 00:51:14,860 atau setidaknya cukup dekat satu sama lain, 918 00:51:14,860 --> 00:51:18,090 dan, memang, orang-orang yang ada di sini di kampus super-kecil. 919 00:51:18,090 --> 00:51:20,820 Segera setelah Anda mulai terjadi di seluruh negeri, dibutuhkan data yang 920 00:51:20,820 --> 00:51:24,830 sedikit lebih lama untuk melakukan perjalanan, lebih dekat ke 100 ms, memberi atau mengambil. 921 00:51:24,830 --> 00:51:28,330 Tapi mari kita pergi ke arah lain sekarang. Bagaimana Cambridge University di Inggris? 922 00:51:28,330 --> 00:51:32,540 Biarkan aku bukannya menjalankan traceroute dari www.cam untuk Cambridge, 923 00:51:32,540 --> 00:51:36,710 Ac untuk akademik.,. Uk, dan tekan enter sini. 924 00:51:36,710 --> 00:51:38,830 Itu cukup sialan cepat. 925 00:51:38,830 --> 00:51:43,300 Data saya benar-benar pergi ke Cambridge, Inggris, dalam hitungan detik waktu. 926 00:51:43,300 --> 00:51:45,340 >> Jadi mari kita lihat jalan yang butuh. 927 00:51:45,340 --> 00:51:47,520 Harvard, Harvard, Harvard, Crossroads Utara, 928 00:51:47,520 --> 00:51:52,690 yang merupakan ISP, dan kemudian ini adalah Crossroads Utara, dan kemudian bam. 929 00:51:52,690 --> 00:51:58,320 Apa yang ada di antara langkah 6, dan 7 router 6 dan 7? 930 00:51:58,320 --> 00:52:02,040 The Samudra Atlantik. Dan kami menyimpulkan ini dari kenyataan bahwa 931 00:52:02,040 --> 00:52:06,530 kita pergi dari 20 ms 80 ms sini untuk sini. 932 00:52:06,530 --> 00:52:10,050 Jadi sesuatu yang mengambil 60 ms, memberi atau mengambil, untuk mendapatkan lebih. 933 00:52:10,050 --> 00:52:12,910 Dan itu mungkin tubuh besar air. 934 00:52:12,910 --> 00:52:15,250 Apa yang terjadi setelah itu? Nah, di sini kita berada di London, 935 00:52:15,250 --> 00:52:18,860 hanya 88 ms nanti. Lebih London, lebih London, 936 00:52:18,860 --> 00:52:21,730 tidak yakin di mana ini, tapi kami akan menganggap itu di luar London, 937 00:52:21,730 --> 00:52:26,390 Cambridge sini, dan akhirnya kita - secara harfiah, 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 web server mereka tampaknya disebut Scorpius 940 00:52:31,720 --> 00:52:35,500 bawah kap mesin, meskipun kita tahu sebagai www. 941 00:52:35,500 --> 00:52:38,790 Jenis pikiran-bertiup, saya pikir. Pertama kali saya pernah melakukan ini, itu benar-benar meniup pikiran saya. 942 00:52:38,790 --> 00:52:41,670 Sayangnya, Harvard blok semacam ini lalu lintas, biasanya, pada jaringan. 943 00:52:41,670 --> 00:52:44,340 Jadi Anda tidak bisa melakukannya super mudah. 944 00:52:44,340 --> 00:52:48,500 Sadarilah, meskipun, ini di sini adalah mungkin. 945 00:52:48,500 --> 00:52:53,630 Baiklah. Mari kita 5 menit istirahat kami di sini. Kami akan kembali dan menyelam lebih dalam. 946 00:52:53,630 --> 00:53:00,850 Jadi kita kembali, dan kami sudah jenis melenggang sekitar dalam arah yang berbeda beberapa di sini. 947 00:53:00,850 --> 00:53:03,700 Jadi mari kita meringkas apa yang telah terjadi di sini. 948 00:53:03,700 --> 00:53:07,990 Kami memulai percakapan berbicara tentang bahasa yang disebut HTML. 949 00:53:07,990 --> 00:53:10,680 Sekali lagi, bukan bahasa pemrograman. Ini hanya sebuah bahasa markup 950 00:53:10,680 --> 00:53:15,490 yang sebagian besar tentang estetika dan penataan konten dalam bentuk halaman web. 951 00:53:15,490 --> 00:53:19,220 Tapi HTML, oleh karena itu, perlu semacam mekanisme 952 00:53:19,220 --> 00:53:22,870 untuk bepergian antara browser web dan server. 953 00:53:22,870 --> 00:53:28,360 HTML Oleh karena itu semacam naik di atas bahasa lainnya, 954 00:53:28,360 --> 00:53:31,280 atau lebih tepat, protokol, yang dikenal sebagai HTTP. 955 00:53:31,280 --> 00:53:33,730 >> Dan HTTP, seperti yang telah kita lihat sejauh ini, 956 00:53:33,730 --> 00:53:37,140 adalah jenis analog dengan konvensi ini manusia berjabat tangan. 957 00:53:37,140 --> 00:53:39,940 Ketika browser ingin meminta halaman dari server, 958 00:53:39,940 --> 00:53:43,450 mengirimkan bahwa "mendapatkan" permintaan dari browser ke server, 959 00:53:43,450 --> 00:53:48,040 dan kemudian server merespon dengan nomor seperti 200, semua baik-baik saja, 960 00:53:48,040 --> 00:53:53,290 serta HTML atau beberapa nomor buruk seperti 404, file tidak ditemukan. 961 00:53:53,290 --> 00:53:58,220 Tapi sementara itu, HTTP itu sendiri tidak Internet, per se. 962 00:53:58,220 --> 00:54:01,550 HTTP hanya layanan, fitur dari Internet 963 00:54:01,550 --> 00:54:05,530 seperti G chatting adalah layanan lain, seperti email merupakan layanan lain. 964 00:54:05,530 --> 00:54:09,180 Ada segala macam hal yang dapat kita lakukan di Internet. 965 00:54:09,180 --> 00:54:12,670 HTTP adalah hanya salah satu 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 menyebutkan nama, Anda mungkin sudah pernah mendengar nama, TCP / IP. 968 00:54:21,750 --> 00:54:25,160 Jadi cerita kami hanya diberitahu ada adalah semua tentang 969 00:54:25,160 --> 00:54:28,720 bagaimana data perjalanan dari titik ke titik b. 970 00:54:28,720 --> 00:54:30,950 Dan dalam hal ini, kita melihat pada tingkat 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 dikirim. 973 00:54:35,390 --> 00:54:40,510 Tapi sepanjang jalan, itu akan menghadapi berbagai hambatan. 974 00:54:40,510 --> 00:54:43,770 Selain router ini, ada hal-hal yang disebut firewall di Internet, 975 00:54:43,770 --> 00:54:46,680 dan sehingga data, seperti yang kita hanya transmisi 976 00:54:46,680 --> 00:54:49,720 dari saya ke Stanford, dari saya ke Cambridge, 977 00:54:49,720 --> 00:54:54,560 dikirim ke, pada tingkat ini, sesuatu yang disebut alamat IP. 978 00:54:54,560 --> 00:54:57,340 Kami melihat ini beberapa saat yang lalu, dan alamat IP 979 00:54:57,340 --> 00:55:02,480 hanya alamat numerik dari w.x.y.z bentuk, 980 00:55:02,480 --> 00:55:08,070 di mana masing-masing adalah antara, memberi atau mengambil, 0 dan 255, 981 00:55:08,070 --> 00:55:10,080 meskipun Anda tidak dapat cukup menggunakan semua angka-angka. 982 00:55:10,080 --> 00:55:14,220 Tapi masing-masing pemegang tempat adalah angka antara 0 dan 255. 983 00:55:14,220 --> 00:55:16,820 Jadi alamat IP hari ini adalah 32 bit. 984 00:55:16,820 --> 00:55:20,780 >> Sekarang, yang memberi kita alamat IP berapa banyak mungkin di dunia? 985 00:55:20,780 --> 00:55:24,420 Sekitar 4 miliar, karena setiap saat kita sedang menghitung dalam kekuatan dari 2 986 00:55:24,420 --> 00:55:27,760 sepanjang jalan hingga 32 dari sesuatu, yang biasanya memberi kita 4 miliar. 987 00:55:27,760 --> 00:55:30,160 Jadi itu banyak alamat IP, tetapi Anda mungkin telah membaca, 988 00:55:30,160 --> 00:55:32,410 atau mungkin Anda sekarang melihat dalam pers populer, 989 00:55:32,410 --> 00:55:36,020 dorongan menuju versi baru dari IP yang disebut IPv6. 990 00:55:36,020 --> 00:55:38,290 Saat ini kita sedang menggunakan versi 4. 991 00:55:38,290 --> 00:55:41,060 Ada benar-benar belum versi 5, kami hanya melompat tepat untuk 6. 992 00:55:41,060 --> 00:55:46,760 Versi 6 akan menggunakan 128 bit untuk alamat IP, yang panik besar. 993 00:55:46,760 --> 00:55:49,430 Kita tidak harus berlari keluar untuk beberapa waktu sekarang, 994 00:55:49,430 --> 00:55:52,980 tapi kami telah mulai kehabisan alamat IP versi 4, 995 00:55:52,980 --> 00:55:56,110 karena kita semua memiliki hal-hal tidak hanya seperti laptop dan desktop, 996 00:55:56,110 --> 00:55:58,700 banyak dari kita memiliki telepon, banyak dari kita memiliki perangkat lain 997 00:55:58,700 --> 00:56:01,600 seperti TiVo dan sejenisnya yang memiliki alamat IP sendiri. 998 00:56:01,600 --> 00:56:03,720 Harvard sendiri memiliki puluhan ribu komputer. 999 00:56:03,720 --> 00:56:07,970 Jadi dunia ini benar-benar kehabisan alamat IP, setidaknya dari formulir ini. 1000 00:56:07,970 --> 00:56:10,340 Jadi selama beberapa tahun ke depan, Anda akan melihat alamat 1001 00:56:10,340 --> 00:56:12,870 pada komputer Anda sendiri mungkin perlahan-lahan mengubah 1002 00:56:12,870 --> 00:56:16,740 sebagai perusahaan semakin banyak dan universitas mulai mendukung versi yang lebih baru. 1003 00:56:16,740 --> 00:56:22,770 Tapi alamat IP tidak cukup untuk komputer untuk meminta data dari komputer b. 1004 00:56:22,770 --> 00:56:24,950 Karena komputer b bisa menjadi server, 1005 00:56:24,950 --> 00:56:27,600 dan server, seperti yang saya sebutkan sebelumnya, dapat melakukan hal-hal tandan. 1006 00:56:27,600 --> 00:56:29,940 Hal ini dapat meng-host halaman web, dapat menjadi server email, 1007 00:56:29,940 --> 00:56:32,310 dapat menjadi server Skype, dapat menjadi server obrolan G. 1008 00:56:32,310 --> 00:56:35,870 >> Semua berbagai layanan yang dapat disediakan di server 1009 00:56:35,870 --> 00:56:38,330 semua bisa, secara fisik, berada di mesin yang sama. 1010 00:56:38,330 --> 00:56:40,380 Jadi selain alamat IP, 1011 00:56:40,380 --> 00:56:43,250 dunia memiliki hal-hal yang disebut port di Internet. 1012 00:56:43,250 --> 00:56:47,830 Sebuah port hanya nomor, sehingga ada nomor unik untuk HTTP. 1013 00:56:47,830 --> 00:56:50,280 Nomornya adalah 80. 1014 00:56:50,280 --> 00:56:55,870 HTTP juga menggunakan nomor 443, namun lebih khusus, untuk HTTPS dienkripsi. 1015 00:56:55,870 --> 00:57:00,030 Setiap kali Anda melihat s, untuk aman, yang menggunakan nomor yang berbeda. 1016 00:57:00,030 --> 00:57:06,580 Ada nomor lain, seperti 25, yang digunakan untuk sesuatu yang disebut SMTP, atau dikenal sebagai email. 1017 00:57:06,580 --> 00:57:09,620 Ada sesuatu yang disebut 22 untuk SSH, 1018 00:57:09,620 --> 00:57:11,850 dan ada sejumlah besar pelabuhan lain di luar sana. 1019 00:57:11,850 --> 00:57:14,460 Sekarang, kita manusia jarang melihat angka-angka. 1020 00:57:14,460 --> 00:57:21,970 Namun, ketika Anda mengetikkan alamat seperti http://www.facebook.com, 1021 00:57:21,970 --> 00:57:26,560 browser diam-diam memasukkan 80, karena Anda menggunakan HTTP. 1022 00:57:26,560 --> 00:57:30,630 Jika Anda, sebagai gantinya, HTTPS jenis, itu diam-diam memasukkan 443. 1023 00:57:30,630 --> 00:57:35,180 Dan kita bisa melihat jenis ini secara manual jika saya menarik sebuah 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 karena itu secara eksplisit tidak hanya mengutip nama website 1026 00:57:44,550 --> 00:57:47,650 tapi port yang saya ingin berbicara dengan, dan tekan enter. 1027 00:57:47,650 --> 00:57:50,170 Perhatikan menghilang, karena browser mengasumsikan, 1028 00:57:50,170 --> 00:57:53,360 oh, 80, aku bahkan tidak akan repot-repot untuk menunjukkan bahwa Anda. 1029 00:57:53,360 --> 00:57:56,400 Tapi alasan untuk ini adalah bahwa jika saya benar-benar ingin mengirim seseorang email, 1030 00:57:56,400 --> 00:58:02,340 Saya benar-benar akan mengirimnya kepada mereka pada port 25, bahwa menjadi SMTP. 1031 00:58:02,340 --> 00:58:04,890 Sedikit terlalu menyederhanakan, tapi beberapa dari Anda memiliki teman-teman 1032 00:58:04,890 --> 00:58:09,290 yang benar-benar bekerja di Facebook, dan mereka, sama, memiliki server yang menerima email. 1033 00:58:09,290 --> 00:58:12,610 >> Setiap kali Anda mengirim email, gmail apa yang dilakukannya bagi Anda 1034 00:58:12,610 --> 00:58:14,960 atau Outlook atau apa pun program yang anda gunakan, 1035 00:58:14,960 --> 00:58:19,270 itu semacam diam-diam memasukkan nomor itu juga, 25, dalam kasus itu. 1036 00:58:19,270 --> 00:58:24,490 Ini kombinasi alamat IP dan nomor yang unik mengidentifikasi 1037 00:58:24,490 --> 00:58:29,190 komputer di Internet dan layanan tertentu pada komputer itu. 1038 00:58:29,190 --> 00:58:33,460 Sekarang, tentu saja, sebagian besar dari kita mungkin pernah diketik secara manual alamat IP. 1039 00:58:33,460 --> 00:58:37,340 Mungkin Anda miliki dalam alat, tetapi di dunia nyata, tidak begitu banyak. 1040 00:58:37,340 --> 00:58:42,750 Mengapa kita tidak mengetik alamat IP ke browser? 1041 00:58:42,750 --> 00:58:45,860 Ini akan bekerja, pada kenyataannya, kita bisa melihat ini, mari saya tunjukkan 1042 00:58:45,860 --> 00:58:50,000 satu lagi perintah yang harus bekerja paling di mana saja di kampus Harvard pada Mac atau PC. 1043 00:58:50,000 --> 00:58:53,970 Ada perintah ini disebut nslookup, nama lookup server. 1044 00:58:53,970 --> 00:58:59,960 Jika saya mencari www.cnn.com, ternyata memiliki CNN - oh, menarik. 1045 00:58:59,960 --> 00:59:03,180 CNN telah mulai menggunakan layanan web Amazon. 1046 00:59:03,180 --> 00:59:06,380 Anda mungkin tahu dari komputasi awan, salah satu Amazon satu pemain besar dalam komputasi awan. 1047 00:59:06,380 --> 00:59:10,240 Apa yang saya lakukan adalah hanya, aku berkata, 'Beri aku alamat server web CNN,' 1048 00:59:10,240 --> 00:59:14,090 tapi ternyata bahwa server web CNN dikelola oleh Amazon, 1049 00:59:14,090 --> 00:59:16,030 Amazon layanan web, ini menunjukkan. 1050 00:59:16,030 --> 00:59:19,680 Dan alamat server yang ini di sini. 1051 00:59:19,680 --> 00:59:22,350 Jadi saya tidak yakin apakah ini akan berhasil, karena mereka tidak terbiasa menggunakan Amazon. 1052 00:59:22,350 --> 00:59:32,830 Tapi mari kita coba ini, http://, alamat IP, masukkan, dan - 1053 00:59:32,830 --> 00:59:35,690 apakah itu akan berhasil? 1054 00:59:35,690 --> 00:59:39,280 Ya. Hal ini akan bekerja. Internet super-lambat hari ini. 1055 00:59:39,280 --> 00:59:43,680 Tapi, suatu saat, Anda akan melihat beberapa berita. 1056 00:59:43,680 --> 00:59:48,360 Di sana kami pergi. Bank of America sedang digugat. Baiklah. 1057 00:59:48,360 --> 00:59:54,000 >> Hal ini karena alamat IP hanya terjadi oleh identik dengan www.cnn.com. 1058 00:59:54,000 --> 00:59:59,920 Tentu saja, itu akan menjadi pemasaran yang mengerikan untuk mengatakan, kunjungi kami di Web di 50.112.94.127. 1059 00:59:59,920 --> 01:00:02,370 Anda tidak akan pernah ingat. Jadi, bahkan hari ini Anda mungkin ingat hal-hal 1060 01:00:02,370 --> 01:00:07,210 seperti 1-800-COLLECT atau mnemonik dunia datang dengan untuk nomor telepon. 1061 01:00:07,210 --> 01:00:09,540 Yang, sebelum ponsel, yang agak sulit untuk diingat 1062 01:00:09,540 --> 01:00:11,800 sampai Anda hanya bisa mengetik dalam dan melupakannya. 1063 01:00:11,800 --> 01:00:15,730 Jadi Web, juga memiliki konvensi ini nama dan alamat IP, 1064 01:00:15,730 --> 01:00:17,770 dan ada hal-hal di luar sana yang disebut DNS server, 1065 01:00:17,770 --> 01:00:23,870 sistem nama domain server, yang menerjemahkan alamat IP ke nama dan sebaliknya. 1066 01:00:23,870 --> 01:00:26,340 Jadi itulah apa yang terjadi di bawah tenda. 1067 01:00:26,340 --> 01:00:29,540 Pada akhirnya, kita memiliki TCP / IP, yang merupakan protokol ini sangat rendah tingkat 1068 01:00:29,540 --> 01:00:32,570 itu, benar-benar, hanya mendapatkan 0 dan 1 di seluruh Internet, 1069 01:00:32,570 --> 01:00:36,030 dan ia melakukannya dengan menempatkan mereka ke dalam amplop virtual, 1070 01:00:36,030 --> 01:00:38,820 jika Anda mau, dan menulis di luar amplop 1071 01:00:38,820 --> 01:00:43,930 alamat IP dari tujuan, serta nomor port numerik 1072 01:00:43,930 --> 01:00:47,520 dari layanan pada itu tujuan yang ingin berbicara dengan. 1073 01:00:47,520 --> 01:00:51,060 Sementara itu, di amplop ada juga sesuatu yang dikenal sebagai alamat pengirim, 1074 01:00:51,060 --> 01:00:55,600 yang merupakan alamat IP Anda, sehingga ketika CNN mendapat paket informasi dari Anda, 1075 01:00:55,600 --> 01:00:58,710 membuka amplop maya, melihat bahwa Anda ingin halaman rumah, 1076 01:00:58,710 --> 01:01:04,630 ia tahu dari bagian pengirim amplop maya siapa yang harus mengirim kembali ke HTML. 1077 01:01:04,630 --> 01:01:07,470 Jadi mari kita lihat ini secara rinci sedikit lebih. 1078 01:01:07,470 --> 01:01:11,370 Ini adalah dari sebuah perusahaan bernama Ericson, dari beberapa tahun lalu. 1079 01:01:11,370 --> 01:01:14,780 Dan mereka mengambil beberapa kebebasan dengan bagaimana Internet benar-benar bekerja, 1080 01:01:14,780 --> 01:01:18,920 tetapi melukiskan gambaran yang jauh lebih visual daripada kapur hanya di sini. 1081 01:01:18,920 --> 01:01:26,690 Jadi saya memberi Anda "Sedikit Internet." 1082 01:02:26,660 --> 01:02:29,840 >> [Narator] Untuk pertama kalinya dalam sejarah, 1083 01:02:29,840 --> 01:02:35,260 orang dan mesin bekerja sama, mewujudkan mimpi. 1084 01:02:35,260 --> 01:02:38,910 Sebuah gaya menyatukan yang tidak mengenal batas geografis. 1085 01:02:38,910 --> 01:02:43,230 Tanpa memandang ras, suku, atau warna. 1086 01:02:43,230 --> 01:02:47,770 Sebuah era baru di mana komunikasi benar-benar membawa orang bersama-sama. 1087 01:02:47,770 --> 01:02:50,070 Ini adalah 1088 01:02:50,070 --> 01:02:54,980 The Dawn of Net. 1089 01:02:54,980 --> 01:03:04,640 Ingin tahu cara kerjanya? Klik di sini untuk memulai perjalanan Anda ke Net. 1090 01:03:04,640 --> 01:03:07,890 Sekarang, apa yang terjadi ketika Anda mengklik pada link tersebut? 1091 01:03:07,890 --> 01:03:10,150 Anda memulai arus informasi. 1092 01:03:10,150 --> 01:03:13,310 Informasi ini perjalanan ke dalam ruang surat pribadi Anda 1093 01:03:13,310 --> 01:03:18,500 mana paket IP Mr itu, label, dan mengirimkannya dalam perjalanan. 1094 01:03:18,500 --> 01:03:20,960 Setiap paket terbatas dalam ukuran. 1095 01:03:20,960 --> 01:03:23,880 Ruang mail harus memutuskan bagaimana membagi informasi 1096 01:03:23,880 --> 01:03:26,070 dan bagaimana paket itu. 1097 01:03:26,070 --> 01:03:29,550 Sekarang, paket membutuhkan label yang berisi informasi penting 1098 01:03:29,550 --> 01:03:35,570 seperti alamat pengirim, alamat penerima, dan jenis paket itu. 1099 01:03:51,700 --> 01:03:54,980 Karena ini paket tertentu akan keluar ke Internet, 1100 01:03:54,980 --> 01:03:57,720 itu juga mendapat alamat untuk server proxy, 1101 01:03:57,720 --> 01:04:01,520 yang memiliki fungsi khusus, seperti yang akan kita lihat nanti. 1102 01:04:01,520 --> 01:04:06,650 Paket ini sekarang diluncurkan ke jaringan area lokal, atau LAN. 1103 01:04:06,650 --> 01:04:10,160 Jaringan ini digunakan untuk menghubungkan semua komputer lokal ' 1104 01:04:10,160 --> 01:04:15,900 router, printer, dan sebagainya, untuk pertukaran informasi dalam dinding-dinding fisik bangunan. 1105 01:04:15,900 --> 01:04:20,290 LAN adalah tempat yang cukup terkendali, dan, sayangnya, 1106 01:04:20,290 --> 01:04:23,950 kecelakaan bisa terjadi. 1107 01:04:31,190 --> 01:04:34,710 Jalan raya dari LAN dikemas dengan semua jenis informasi. 1108 01:04:34,710 --> 01:04:38,900 Ini adalah paket IP, paket Novell, AppleTalk paket. 1109 01:04:38,900 --> 01:04:41,270 Mereka akan melawan lalu lintas, seperti biasa. 1110 01:04:41,270 --> 01:04:44,260 Router lokal membaca alamat dan, jika perlu, 1111 01:04:44,260 --> 01:04:48,520 mengangkat paket ke jaringan lain. 1112 01:04:48,520 --> 01:04:54,270 Ah, router. Sebuah simbol kontrol di dunia yang tampaknya tidak teratur. 1113 01:04:54,270 --> 01:05:05,480 [Router bergumam dan berbicara dengan dirinya sendiri] 1114 01:05:05,480 --> 01:05:10,030 >> [Narator] Itu dia, sistematis, tidak peduli, metodis, 1115 01:05:10,030 --> 01:05:14,150 konservatif, dan kadang-kadang tidak cukup sampai dengan kecepatan. 1116 01:05:14,150 --> 01:05:17,680 Tapi setidaknya dia yang tepat, untuk sebagian besar. 1117 01:05:32,270 --> 01:05:36,820 Seperti paket meninggalkan router, mereka membuat jalan mereka ke dalam internet perusahaan 1118 01:05:36,820 --> 01:05:40,830 dan kepala untuk beralih router. 1119 01:05:40,830 --> 01:05:46,250 Sedikit lebih efisien daripada router, switch router bermain cepat dan lepas dengan paket IP, 1120 01:05:46,250 --> 01:05:48,920 cekatan routing mereka di sepanjang jalan mereka. 1121 01:05:48,920 --> 01:05:52,130 A 'penyihir pinball,' digital jika Anda mau. 1122 01:05:52,130 --> 01:06:04,270 [Router beralih berbicara untuk dirinya sendiri] 1123 01:06:09,830 --> 01:06:12,150 [Narator] Seperti paket tiba di tempat tujuan, 1124 01:06:12,150 --> 01:06:14,740 mereka dijemput oleh antarmuka jaringan, 1125 01:06:14,740 --> 01:06:18,040 siap untuk dikirim ke tingkat berikutnya. 1126 01:06:18,040 --> 01:06:21,010 Dalam kasus ini, proxy. 1127 01:06:21,010 --> 01:06:25,040 Proxy digunakan oleh banyak perusahaan sebagai semacam orang tengah 1128 01:06:25,040 --> 01:06:27,630 dalam rangka untuk mengurangi beban pada koneksi internet 1129 01:06:27,630 --> 01:06:32,240 dan untuk alasan keamanan, juga. 1130 01:06:32,240 --> 01:06:38,750 Seperti yang Anda lihat, paket semua dari berbagai ukuran tergantung pada konten mereka. 1131 01:06:55,210 --> 01:07:01,890 Proxy membuka paket dan mencari alamat web atau URL. 1132 01:07:01,890 --> 01:07:04,950 Tergantung pada apakah alamat diterima, 1133 01:07:04,950 --> 01:07:08,000 paket dikirim ke Internet. 1134 01:07:13,890 --> 01:07:19,630 Namun demikian, beberapa alamat yang tidak bertemu dengan persetujuan dari proxy. 1135 01:07:19,630 --> 01:07:25,680 Artinya, pedoman perusahaan atau manajemen. 1136 01:07:25,680 --> 01:07:30,580 Ini sewenang ditangani. 1137 01:07:30,580 --> 01:07:32,410 Kita akan memiliki semua itu. 1138 01:07:32,410 --> 01:07:36,350 Bagi mereka yang membuatnya, itu di jalan lagi. 1139 01:07:46,850 --> 01:07:53,310 >> Selanjutnya, firewall. 1140 01:07:53,310 --> 01:07:57,410 Firewall perusahaan melayani dua tujuan. 1141 01:07:57,410 --> 01:08:02,420 Ini mencegah beberapa hal agak menjijikkan dari Internet bisa masuk ke Intranet, 1142 01:08:02,420 --> 01:08:10,280 dan juga dapat mencegah informasi sensitif dari perusahaan yang dikirim keluar ke Internet. 1143 01:08:10,280 --> 01:08:12,980 Setelah melalui firewall, router mengambil paket 1144 01:08:12,980 --> 01:08:18,180 dan menempatkan mereka ke jalan yang lebih sempit, atau bandwidth, seperti yang kita katakan. 1145 01:08:18,180 --> 01:08:23,720 Jelas, jalan tidak cukup luas untuk membawa mereka semua. 1146 01:08:23,720 --> 01:08:29,319 Sekarang, Anda mungkin bertanya-tanya apa yang terjadi pada semua paket yang tidak membuatnya sepanjang jalan. 1147 01:08:29,319 --> 01:08:32,270 Nah, ketika Mr IP tidak menerima pengakuan 1148 01:08:32,270 --> 01:08:35,000 bahwa paket telah diterima pada waktunya, 1149 01:08:35,000 --> 01:08:39,890 ia hanya mengirimkan paket pengganti. 1150 01:08:39,890 --> 01:08:44,760 Kami sekarang siap untuk memasuki dunia internet. 1151 01:08:44,760 --> 01:08:49,370 Sebuah sarang laba-laba dari jaringan interkoneksi yang span seluruh dunia. 1152 01:08:49,370 --> 01:08:56,050 Di sini, router dan switch membangun hubungan antara jaringan. 1153 01:08:56,050 --> 01:08:59,200 Sekarang, Net adalah sebuah lingkungan yang sama sekali berbeda daripada Anda akan menemukan 1154 01:08:59,200 --> 01:09:01,569 dalam dinding-dinding pelindung dari LAN Anda. 1155 01:09:01,569 --> 01:09:04,060 Di sini, itu 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 hal untuk mengeksplorasi dan tempat-tempat untuk pergi. 1158 01:09:09,760 --> 01:09:12,760 Berkat kontrol yang sangat sedikit dan regulasi, 1159 01:09:12,760 --> 01:09:18,300 ide-ide baru menemukan tanah subur untuk mendorong amplop kemungkinan mereka. 1160 01:09:18,300 --> 01:09:22,330 Tapi karena kebebasan ini, bahaya tertentu juga mengintai. 1161 01:09:22,330 --> 01:09:27,000 Anda tidak akan pernah tahu kapan Anda akan bertemu dengan ping ditakuti kematian, 1162 01:09:27,000 --> 01:09:29,890 sebuah versi khusus dari ping permintaan normal, 1163 01:09:29,890 --> 01:09:35,720 yang idiot terpikir untuk mengacaukan host tidak curiga. 1164 01:09:35,720 --> 01:09:39,130 Jalur paket kami mengambil mungkin melalui satelit, 1165 01:09:39,130 --> 01:09:43,090 saluran telepon, nirkabel, atau kabel bahkan melintasi samudra. 1166 01:09:43,090 --> 01:09:46,520 Mereka tidak selalu mengambil rute tercepat atau terpendek mungkin, 1167 01:09:46,520 --> 01:09:50,290 tetapi mereka akan sampai di sana pada akhirnya. 1168 01:09:50,290 --> 01:09:55,230 Mungkin itu sebabnya kadang-kadang disebut "The World Wide Tunggu." 1169 01:09:55,230 --> 01:09:57,980 Tapi ketika semuanya bekerja dengan lancar, 1170 01:09:57,980 --> 01:10:03,800 Anda dapat menghindari dunia lima kali selama di drop dari topi, secara harfiah. 1171 01:10:03,800 --> 01:10:08,230 Dan semua untuk biaya panggilan lokal atau kurang. 1172 01:10:08,230 --> 01:10:15,070 Menjelang akhir tujuan kita, kita akan menemukan firewall lain. 1173 01:10:15,070 --> 01:10:18,420 >> Tergantung pada perspektif Anda sebagai paket data, 1174 01:10:18,420 --> 01:10:23,730 firewall bisa menjadi benteng keamanan atau musuh yang ditakuti. 1175 01:10:23,730 --> 01:10:28,530 Itu semua tergantung pada sisi mana Anda berada dan apa niat Anda. 1176 01:10:28,530 --> 01:10:34,990 Firewall dirancang untuk membiarkan hanya 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 upaya untuk masuk melalui pelabuhan lain ditutup untuk bisnis. 1179 01:10:57,660 --> 01:11:03,480 Port 25 digunakan untuk paket mail, 1180 01:11:03,480 --> 01:11:10,720 sedangkan port 80 adalah pintu masuk untuk paket dari internet ke server web. 1181 01:11:10,720 --> 01:11:15,080 Di dalam firewall, paket disaring lebih teliti. 1182 01:11:15,080 --> 01:11:17,970 Beberapa paket membuatnya mudah melalui bea cukai, 1183 01:11:17,970 --> 01:11:21,420 sementara yang lain terlihat hanya sedikit meragukan. 1184 01:11:21,420 --> 01:11:24,060 Sekarang, petugas firewall tidak mudah tertipu, 1185 01:11:24,060 --> 01:11:32,120 seperti saat ini ping paket kematian mencoba untuk menyamarkan dirinya sebagai sebuah paket ping normal. 1186 01:11:32,120 --> 01:11:37,520 [Firewall petugas berbicara dengan paket] 1187 01:11:37,520 --> 01:11:40,510 [Narator] Bagi paket cukup beruntung untuk membuat sejauh ini, 1188 01:11:40,510 --> 01:11:45,730 perjalanan hampir berakhir. 1189 01:11:45,730 --> 01:11:52,130 Ini hanya berbaris pada interface yang akan diambil sampai ke server web. 1190 01:11:52,130 --> 01:11:55,440 Saat ini, web server dapat berjalan pada banyak hal, 1191 01:11:55,440 --> 01:11:59,230 dari mainframe ke web cam ke komputer di meja Anda. 1192 01:11:59,230 --> 01:12:01,720 Mengapa tidak kulkas Anda? 1193 01:12:01,720 --> 01:12:04,870 Dengan pengaturan yang tepat, Anda dapat mengetahui apakah Anda memiliki bakat 1194 01:12:04,870 --> 01:12:08,390 untuk ayam Cacciatore, atau jika Anda harus pergi berbelanja. 1195 01:12:08,390 --> 01:12:11,760 Ingat, ini adalah fajar Net. 1196 01:12:11,760 --> 01:12:17,310 Hampir semuanya adalah mungkin. 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 membongkar. 1199 01:12:26,320 --> 01:12:31,200 Informasi yang dikandungnya, yaitu, permintaan Anda untuk informasi, 1200 01:12:31,200 --> 01:12:34,830 dikirim ke aplikasi web server. 1201 01:12:41,540 --> 01:12:47,140 Paket itu sendiri adalah daur ulang, 1202 01:12:47,140 --> 01:12:57,570 siap untuk digunakan lagi, dan penuh dengan informasi yang Anda minta, 1203 01:12:57,570 --> 01:13:03,340 ditangani, dan dikirim keluar dalam perjalanan kembali kepada Anda. 1204 01:13:03,340 --> 01:13:13,250 Kembali melewati firewall, router, dan melalui Internet. 1205 01:13:13,250 --> 01:13:21,020 Kembali melalui firewall perusahaan Anda 1206 01:13:21,020 --> 01:13:24,180 dan ke antarmuka Anda, 1207 01:13:24,180 --> 01:13:31,180 siap untuk memasok web browser Anda dengan informasi yang Anda minta. 1208 01:13:31,180 --> 01:13:39,840 Artinya, film ini. 1209 01:13:39,840 --> 01:13:43,550 Senang dengan upaya mereka, dan mempercayai dunia yang lebih baik, 1210 01:13:43,550 --> 01:13:50,250 terpercaya kami paket data naik off bahagia ke matahari terbenam hari yang lain, 1211 01:13:50,250 --> 01:13:56,880 mengetahui sepenuhnya mereka telah melayani tuannya dengan baik. 1212 01:13:56,880 --> 01:14:02,560 Sekarang, bukankah itu happy ending? 1213 01:14:02,560 --> 01:14:07,040 [Malan] Oke, itu sudah cukup. Kita akan melihat Anda minggu depan. 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]