Doug LLOYD: Jika Anda sudah telah menonton video ini dalam urutan yang kami sarankan, kami akan menjalani sedikit pergeseran budaya. Karena sekarang, kita akan mulai berbicara tentang internet dan web teknologi. Jadi sampai sekarang, kami telah benar-benar telah melakukan banyak C. Dan ketika kami sudah menjalankan program kami, kami telah menjalankan mereka dari baris perintah. Itu cukup banyak bagaimana pengguna memiliki telah berinteraksi dengan program yang kita tulis. Mereka mengambil sesuatu untuk meminta, sesuatu terjadi di jendela terminal, dan kemudian itu dilakukan. Kadang-kadang Anda mungkin memiliki gigih Data yang tetap setelah itu. Tapi itu cukup banyak itu. Ini pada baris perintah. Ini satu-satunya cara pengguna dapat berinteraksi. Dari titik ini, kita akan mulai transisi sehingga pengguna dapat berinteraksi dengan situs kami. Jadi kita akan menulis website, yang tidak ditulis dalam C, tetapi ditulis dalam berbagai lainnya bahasa pemrograman, termasuk PHP, dan itu semacam bahasa pembantu, HTML, CSS, dan sejenisnya. Jadi kita akan mulai berbicara tentang hal-hal. Sebelum kita masuk ke web pemrograman itu sendiri, Saya pikir itu mungkin baik Ide untuk mengambil langkah mundur dan bicara tentang bagaimana komputer dan manusia berinteraksi melalui web. Jadi video ini benar-benar primer, panduan dasar, ke internet. Sekarang, peringatan di sini adalah CS50 bukan kelas jaringan. Jadi apa yang kita akan berbicara di sini adalah tingkat cukup tinggi. Kami tidak akan masuk ke setiap tingkat rendah rincian tentang bagaimana semua hal ini bekerja. Jika Anda tertarik dalam hal itu, aku akan sangat merekomendasikan mengambil kelas pada jaringan komputer. Dan kita bahkan mungkin memberitahu kebohongan putih atau dua hanya untuk tujuan membuat pemahaman umum yang jelas. Jadi dengan mengatakan bahwa, mari kita bicara tentang bagaimana kita berinteraksi dengan internet. Jadi di sini kita. Berikut kita. Kami cukup menantikan mendapatkan ke internet, yang seperti yang kita semua tahu, adalah sesak penuh kucing. Sekarang kita hanya terhubung ke internet seperti ini? Nah, mungkin tidak. Secara intuitif, Anda tahu itu, katakanlah misalnya, ketika Anda mengubah Wi-Fi Anda jaringan pada komputer Anda, Anda tidak melihat satu yang disebut internet kecuali yang kebetulan menjadi nama Anda Wi-Fi lokal. Benar? Ini biasanya seperti rumah. Atau jika Anda sedang bekerja, itu mungkin menjadi nama perusahaan Anda. Tidak ada satu opsi bernama internet. Dan sesuatu atau beberapa hal yang ada di antara ketika kami ingin terhubung ke internet. Apa sajakah hal-hal? Nah, kita akan berbicara tentang itu. Kami juga akan berbicara tentang beberapa hal penting kita butuhkan untuk dapat untuk terhubung ke internet. Dan yang pertama ini hal ini alamat IP. Jadi, Anda mungkin pernah mendengar alamat IP jangka sebelumnya. Apa artinya? Nah, alamat IP adalah pada dasarnya pengenal unik dari komputer Anda pada jaringan. Sama seperti setiap rumah atau kantor memiliki alamat yang unik yang satu bisa mengirim surat. Demikian pula, setiap komputer jika ingin menerima data atau mengirim data, perlu memiliki alamat yang unik. Sehingga ketika informasi dikirim atau diterima, itu sedang dikirim dari atau diterima ke lokasi yang benar. Ini skema pengalamatan, seperti yang saya kata, disebut pengalamatan IP. IP adalah singkatan dari Internet Protocol, yang akan kita bicarakan lagi segera. Sekarang, apa alamat IP terlihat seperti? Nah, skema dasarnya adalah, ketika pertama kali dilaksanakan, untuk memberikan setiap komputer alamat 32-bit yang unik. Itu banyak bit. Itu 4 miliar alamat. Dan umumnya, alih-alih menggunakan notasi heksadesimal, yang kami telah digunakan sebelumnya dalam konteks pointer di C untuk berbicara tentang alamat, kita biasanya mewakili IP alamat dalam sedikit lebih dari ramah manusia cara, mewakili mereka empat kelompok 8 bit direpresentasikan sebagai angka desimal. Karena manusia tidak sering berbicara heksadesimal, kecuali Anda pemrograman. Tetapi orang-orang yang menggunakan internet belum tentu programmer. Dan sehingga mudah dan dapat diakses bagi mereka untuk dapat berbicara tentang apa yang mereka Alamat IP adalah dalam kasus mereka mungkin perlu memanggil seseorang memecahkan sesuatu, lebih baik untuk membuatnya di lebih angka desimal konvensional umum Format. Dan alamat IP hanya tampak cukup banyak seperti ini, w.x.y.z, di mana masing-masing dari surat-surat merupakan nilai non-negatif di kisaran 0 sampai 255. Ingat bahwa jumlah 8-bit dapat menyimpan 256 nilai yang berbeda. Dan jadi itu sebabnya jangkauan kami adalah 0 sampai 255. Dan kami memiliki empat kelompok 8 bit untuk grand total 32 bit. Dan alamat IP mungkin terlihat seperti ini. Ini adalah semacam generik alamat IP default, 123.45.67.89. Semua dari mereka adalah di kisaran 0 sampai 255, jadi itu alamat IP yang valid. Di sini, di Harvard University, semua alamat IP kita mulai dengan 140,247. Itu hanya cara bahwa IP alamat di wilayah geografis ini telah ditetapkan. Dan jadi ini mungkin alamat IP yang mungkin ada di sini di Harvard. Jadi seperti yang saya katakan, jika setiap alamat IP adalah 32 bit, kami memiliki sekitar 4 miliar untuk memberikan, sedikit lebih dari 4 miliar. Tapi kita bisa melihat jenis masalah, kan? Apa penduduk dunia saat ini? Nah, itu suatu tempat utara dari 7 miliar orang. Dan di dunia Barat setidaknya, kebanyakan orang memiliki lebih dari satu perangkat mampu konektivitas internet. Saya punya satu di sini. Dan aku punya satu lagi di saku saya. Dan aku punya satu kembali di kantor saya. Dan jadi itu tiga. Dan itu bahkan tidak menghitung orang yang saya miliki di rumah, juga. Dan itu semacam masalah, kan? Kami memiliki setidaknya 7 miliar orang dan hanya 4 miliar alamat. Dan setiap perangkat yang seharusnya untuk diidentifikasi secara unik. Kami telah mengembangkan beberapa workarounds untuk menangani masalah ini, sesuatu yang disebut pribadi Alamat IP, yang kita tidak akan masuk ke dalam video ini. Tapi pada dasarnya, hal itu memungkinkan memajukan web, internet, untuk jenis palsu keluar sedikit bahwa Anda memiliki unik alamat dengan memiliki alamat pribadi dan kemudian menyalurkan mereka melalui satu alamat tunggal, yang dibagi oleh banyak komputer yang berbeda. Tapi itu benar-benar tidak memperbaiki jangka panjang. Bahkan yang tetap tidak akan bertahan selamanya. Dan jadi kita perlu memiliki yang berbeda cara menangani ini. Jadi seperti yang saya katakan, kami memiliki sekitar 4 miliar. Tapi itu tidak akan cukup baik, kan? Dan cara yang telah diputuskan ada kami akan berurusan dengan hal ini adalah untuk membuat alamat IP lagi. Alih-alih alamat 32-bit, kami akan memiliki alamat 128-bit. Jadi, bukannya 4 miliar alamat, kita akan untuk memiliki sejumlah besar alamat, yang 340 miliar miliar miliar miliar, sehingga banyak alamat IP. Dan skema baru ini disebut IPv6 umumnya bagaimana hal itu disebut. Skema lama menjadi IPv4. Ini adalah sedikit masalah di bahwa masalah ini telah diketahui tentang untuk waktu yang sangat lama. Dan Anda akan melihat ini banyak di konteks komputer dan komputasi. Kami baik masalah mengantisipasi. Tapi kami buruk di berurusan dengan mereka meskipun kita tahu tentang mereka. Jadi IPv6 telah sekitar untuk sementara waktu. Dan hanya dalam beberapa terakhir tahun kita benar-benar memiliki mulai pentahapan dalam ini alamat IPv6 untuk phase out alamat IPv4. Tapi beberapa tempat memiliki mereka. Dan mereka terlihat mirip ke alamat IP biasa. Tapi mereka jauh lebih lama. Jadi, bukannya sekarang memiliki empat kelompok 8 byte untuk alamat Anda, kita sekarang memiliki delapan kelompok dari 16 byte. Dan 8 kali 16 adalah 128. Dan kami mewakili tersebut dalam waktu kurang bentuk heksadesimal konvensional. Karena memiliki angka 16-bit berarti bahwa bukannya menjadi kisaran 0 sampai 255, Kita akan memiliki kisaran 0 sampai 65.535. Dan sehingga memiliki a bunch mereka terjebak bersama-sama akan sangat sulit untuk dibaca. Dan jadi kami biasanya menggunakan hex hanya keluar dari kenyamanan. Dan alamat IPv6 khas mungkin terlihat seperti ini. Ini tentu jauh lebih lama daripada alamat IPv4 yang telah kita lihat sebelumnya. Tapi ini akan menjadi alamat IPv6 yang valid. Yang satu ini juga tentang alamat IPv6. Ini terjadi pada milik Google. Dan pemberitahuan ada sekelompok nol ada. Kadang-kadang alamat ini bisa mendapatkan begitu lama. Dan karena kita masih cukup awal di IPv6, kadang-kadang bisa ada potongan besar nol di sana yang tidak kita butuhkan. Jika Anda membaca ini dengan suara keras, itu 2001.4860.4860.0.0.0.0.8844. Ini semacam banyak, kan? Jadi jika Anda melihat sekelompok nol, Anda mungkin kadang-kadang melihat alamat IPv6 seperti ini, di mana mereka menghilangkan nol dan menggunakan usus ganda sebagai gantinya. Ini adalah OK, meskipun. Karena kita tahu bahwa ada seharusnya delapan potongan yang berbeda. Dan dengan implikasi, kita melihat empat. Jadi kita tahu bahwa harus ada empat set dari nol seperti ini, yang mengisi dalam. Jadi kadang-kadang, Anda mungkin melihat alamat IPv6 tidak memiliki delapan potongan dipisahkan seperti yang kami lakukan di sini. Anda mungkin melihat itu tampak seperti ini. Dan itu hanya berarti bahwa segala sesuatu yang Anda tidak melihat di antara mana yang usus ganda adalah hanya zero dipisahkan. Jadi ok. Kita tahu sedikit lebih tentang alamat IP sekarang. Tapi bagaimana kita mendapatkannya? Kita tidak bisa hanya memilih satu yang kita inginkan. Jika kita melakukan itu, kita mungkin berakhir pertempuran seseorang untuk alamat IP yang sama. Atau seseorang mungkin memiliki memilih itu sebelumnya. Jika kita mencoba dan mengambil itu, kita akan untuk mengalami sedikit masalah. Dan jadi kita tidak bisa hanya memilih alamat IP yang kita inginkan. Jadi cara kita mendapatkan IP address adalah suatu tempat antara komputer kita dan internet, bahwa internet besar di luar sana, ada sesuatu yang disebut server DHCP, Konfigurasi Dynamic Host Protocol Server. Ini seteguk besar teks. Tapi benar-benar semua yang dilakukannya itu memberikan Anda alamat IP. DHCP server Anda memiliki daftar alamat yang sah dapat menetapkan. Dan memberikan Anda satu. Itu cukup banyak semua yang ada untuk itu. Sekarang sebelum DHCP, tugas ini dari menetapkan alamat jatuh ke administrator sistem. Jadi orang yang sebenarnya akan memiliki secara manual menetapkan komputer Anda dan alamat ketika Anda terhubung ke jaringan. Jadi DHCP hanya semacam mengotomatisasi ini Proses memberikan Anda alamat IP. Tapi itulah cara Anda mendapatkannya. Ini hanya program berjalan suatu tempat antara Anda dan internet yang memiliki bank Alamat IP yang bisa memberikan. Dan ketika Anda terhubung ke jaringan, memberikan Anda satu. Jadi mari kita kembali diagram ini. Suatu tempat antara Anda dan internet, ada server DHCP. OKE. Jadi itu bagus. Sekarang, mari kita bicara tentang DNS. Jadi kita sudah bicara meskipun alamat IP ini. Dan kita tahu bahwa jika kita akan mengidentifikasi secara unik perangkat di internet, itu harus memiliki alamat yang unik. Dan kita bisa mengunjungi yang mengatasi jika kita ingin. Tapi Anda mungkin belum pernah diketik dalam sesuatu seperti 192.168.1.0 ke browser Anda, kan? Anda tidak mengetikkan nomor ke dalam browser Anda. Anda biasanya mengetikkan nama yang dapat dibaca manusia seperti google.com atau cs50.harvard.edu, benar? Mereka tidak alamat IP, meskipun. Jadi ada layanan ini disebut Nama Domain Sistem, DNS, yang menerjemahkan IP alamat untuk kata-kata dipahami manusia atau frasa yang jauh lebih berkesan daripada mengingat satu set empat angka atau, segera, satu set delapan nomor heksadesimal. Itu akan benar-benar menantang, kan? Pikirkan tentang sebelum hari ponsel. Anda harus menghafal Anda Anda nomor telepon teman. Ini mungkin saja sulit setelah beberapa saat. Dan sama, jika Anda ingin untuk mengunjungi sekelompok website, Anda mungkin tidak ingin ingat sekelompok angka. Anda lebih suka mengingat sekelompok kata-kata. Jadi pemetaan ini, menerjemahkan ini, dari set angka untuk nama yang dapat dibaca manusia jenis membuat DNS halaman kuning dari web. Dan Anda dapat berpikir tentang seolah-olah itu hanya daftar besar berjalan dari 0.0.0.0 semua jalan ke 255.255.255.255, yang akan menjadi possible-- tertinggi yang kisaran penuh dari 0s ke 255s semua 4 alamat IPv4 miliar-ish. Saya membuat orang-orang di bagian atas dan bagian bawah. Tapi satu di tengah-tengah ada sebenarnya alamat IP. Jadi jika kami mengunjungi 74.125.202.138, ternyata yang menerjemahkan ke situs yang ada, io-- apa sih itu? Nah, tidak setiap nama yang memetakan adalah sebenarnya jelas apa itu, kan? Jadi kadang-kadang seseorang yang memiliki alamat IP mungkin nama tuan sesuatu mereka bahwa mereka sebenarnya tidak. Sebagai contoh, alamat IP jika Anda pergi ke sana, sebenarnya hanya google.com. Tapi Google memiliki banyak server yang berbeda. Dan mereka tidak bisa menyebut mereka semua google.com. Sehingga mereka memiliki mereka sendiri sistem internal menerjemahkan google.com ke server apapun sebenarnya terhubung ke alamat IP. Dan kemudian ada lagi sistem yang ada antara menerjemahkan gobbledygook yang di sini untuk google.com. Tapi kita tidak akan masuk ke dalam itu. Dan juga untuk IPv6s, kita juga akan untuk memiliki halaman kuning yang akan jauh lebih besar. Dan juga, dalam tengah there-- itu sulit untuk menemukan IPv6 alamat yang sah. Tapi saya menemukan satu untuk Google. Tapi itu situs Google Irlandia. Tetapi jika Anda pergi ke alamat IPv6, jika browser Anda adalah IPv6 mampu, yang akan membawa Anda ke Homepage Irlandia Google. Jadi di sana Anda pergi. Tapi ini tidak sepenuhnya benar, kan? Sistem tampaknya rumit, kan? Jika ada daftar besar 4 miliar hal yang harus mencari, itu cukup besar. Tidak ada halaman kuning dunia, kan? Jika Anda masih mendapatkan kuning halaman dikirim ke you-- Aku punya tambang hari lain, dan aku hanya daur ulang itu. Tetapi jika Anda mendapatkan kuning halaman dikirimkan kepada Anda, Anda tidak mendapatkan buku itu setiap nomor telepon yang ada di planet ini, benar? Anda mendapatkan daftar nomor telepon lokal, yang Anda paling mungkin untuk memanggil. Dan itulah sebenarnya apa DNS adalah. Jika Anda berpikir tentang hal itu, DNS adalah benar-benar halaman kuning lokal. Dan server DNS besar seperti google.coms, mereka sebenarnya hanya lebih seperti perpustakaan yang memiliki salinan semua kuning lokal halaman atau semua catatan DNS lokal. Jadi benar-benar ada satu repositori dari DNS penuh internet, seperti ada tidak ada halaman kuning dari dunia. Ada semua ini kecil lokal DNSS skala yang ada di luar sana. Dan ada layanan yang agregat mereka bersama-sama. Tetapi mereka bergantung pada orang- sistem DNS yang lebih kecil memperbarui informasi mereka, sehingga mereka memiliki informasi yang paling akurat. Jadi sekali lagi, analogi ini adalah diagregasi besar Sistem DNS adalah seperti perpustakaan yang memiliki salinan setiap halaman kuning dari dunia. Mereka tidak melakukan sendiri memperbarui buku-buku. Mereka bergantung pada buku-buku yang datang, sehingga mereka dapat memperbarui informasi jika mereka membutuhkannya. Jadi sistem DNS tidak blok raksasa. Ini desentralisasi di banyak, banyak server. Jadi sekarang kita tahu bahwa di suatu tempat antara kami dan internet terdapat server DNS serta server DHCP. Sekarang, jalur akses, apa titik akses kami? Nah, titik akses Anda mungkin cukup akrab dengan dari sebenarnya menghubungkan ke internet. Itu jaringan yang Anda pilih, rumah atau jaringan kerja Anda atau apa pun. Dan aku generalisasi konsep jalur akses di sini untuk tujuan video ini. Tapi sebenarnya ada banyak hal yang dapat digulung ke dalam titik akses. Ada konsep router, yang adalah semacam istilah umum yang kita gunakan. Tapi ada juga beralih dan hal-hal benar-benar disebut jalur akses yang terpisah dari konsep umum ini dari akses titik. Tapi pada dasarnya apa yang terjadi adalah dengan IPv4, saya kata kita memiliki konsep ini dari alamat pribadi, kan? Dan bukan setiap mesin memiliki alamat IP yang unik, yang kami telah kehabisan, karena kami lebih dari 4 miliar perangkat mencoba untuk menyambung ke internet, apa yang kita lakukan adalah bukan menetapkan Alamat IP untuk router. Bahwa router atau titik akses hanya di rumah Anda, misalnya. Dan pekerjaan router untuk semacam bertindak sebagai polisi lalu lintas, memungkinkan semua orang yang terhubung untuk router yang menggunakan IP yang sama alamat untuk keluar. Apakah itu masuk akal? Jadi semua orang di rumah Anda memiliki alamat IP pribadi. Mereka tidak dapat terhubung ke internet, atau internet lebih tidak bisa berbicara kepada mereka, melalui alamat pribadi. Mereka hanya bisa berbicara dengan mereka melalui alamat di router. Dan itu router Pekerjaan untuk mengambil informasi bahwa Anda mengirimkan router dan langsung ke tempat yang benar dan untuk informasi yang datang ke router untuk router untuk mengirimkannya kepada Anda. Jadi router yang benar-benar perangkat sini-terutama router di rumah Anda, jenis yang paling umum kasus penggunaan untuk sebagian people-- yang memiliki alamat IP publik. Itulah perangkat yang terhubung ke internet. Dan Anda terhubung ke router memiliki arus informasi melalui itu atas nama Anda. Seperti yang saya katakan, jaringan rumah modern, router dan saklar dan jalur akses semua jenis dibundel up dalam satu perangkat. Kadang-kadang modem adalah dibundel dalam sana juga. Itu biasanya hanya disebut router. Tapi itu benar-benar semua hal-hal bersama-sama. Besar jaringan bisnis skala atau disebut Wide Area Networks, WAN, benar-benar menjaga perangkat ini terpisah. Mereka memiliki switch. Mereka memiliki router. Mereka memiliki beberapa jalur akses. Sebagai contoh, pada universitas Anda akan melihat hal-hal yang terlihat seperti disebut router dipasang ada di sekitar kampus. Mereka adalah semua jalur akses yang mengalir ke router, switch, dan sebagainya, untuk menyampaikan informasi bersama. Karena jaringan ini begitu besar yang satu titik akses tunggal tidak dapat menutupi daerah yang besar. Dan jaringan ini besar, jaringan bisnis, dan sebagainya, dibagi ke dalam terpisah perangkat, sehingga jaringan dan skala dan tumbuh jika diperlukan. Jadi sekali lagi, di suatu tempat di antara kita dan internet, kita memiliki titik akses. Dan itulah yang kita hubungkan. Dan melalui sana, kami bisa mendapatkan ke internet. Seperti yang saya katakan di mulai dari video ini, ini bukan saja pada jaringan. Jadi ini bukan seluruh cerita. Dan aku sudah jenis dipoles itu. Dan mungkin aku sudah meninggalkan Anda bahkan sedikit bingung seperti apa beberapa hal-hal ini. Tapi itu OK. Kita tidak perlu keseluruhan cerita. Ini cukup bagi kita untuk mengetahui bergerak maju hanya pada dasarnya sedikit tentang bagaimana internet bekerja. Jadi apa yang kita tahu adalah kita memiliki ini jaringan pribadi di rumah kami. Dan kita terhubung ke router. Dan router yang terhubung ke internet pada umumnya. Tapi apa internet pada umumnya? Saya selalu mengatakan ini, tapi apa itu? Nah, itu benar-benar hanya semua ini jaringan individu di rumah saya, dan di rumah Anda, dan pada setiap lainnya rumah, yang terhubung bersama-sama. Ini adalah saling berhubungan jaringan, antar-net. Jadi, bukannya berpikir tentang internet sebagai awan raksasa ini, ini ethereal hal yang ada di luar sana, itu benar-benar hanya sambungan di antara semua jaringan ini. Jadi di sini kita pergi. Kami memiliki jaringan lokal kita. Dan kami tidak satu-satunya orang mungkin pada jaringan lokal kami mencoba untuk menggunakan internet. Mungkin ada beberapa kita berusaha untuk masuk. Dan kita tidak hanya jaringan yang ada di dunia, bukan? Ada jaringan lain, juga, bahwa mencoba untuk terhubung ke internet. Tapi internet tidak, lagi, sebuah entitas yang terpisah. Itu hanya seperangkat aturan yang memungkinkan jaringan ini, jaringan ini kecil, biru, ungu, dan jaringan merah di sini, untuk berkomunikasi satu sama lain. Jadi tidak ada hal mereka semua terhubung ke. Mereka semua hanya terhubung satu sama lain, kan? Dan sebagainya di suatu tempat di ini jaringan ada layanan bahwa kita benar-benar ingin. Jadi mungkin dalam jaringan biru adalah di mana Google hidup. Dan dalam jaringan ungu adalah di mana Facebook tinggal. Dan dalam jaringan merah, baik, mungkin di situlah semua kucing yang berada. Dan jika kita ingin mendapatkan informasi tentang kucing, kami hanya melintasi rantai jaringan untuk mendapatkan informasi yang kita inginkan. Dan di sini, saya sudah diwakili jaringan karena semua mampu berbicara satu sama lain. Dan kita hanya bisa berbicara dengan jaringan. Tetapi jaringan tidak dapat berbicara kembali kepada kami. Tapi itu tidak benar baik, kan? Ini adalah semua jalan dua arah. Informasi dapat mengalir melalui jaringan bolak-balik. Bagaimana cara melakukannya? Nah, internet benar-benar sistem protokol. Dan kita akan mulai berbicara tentang apa yang mereka protokol dalam video masa depan. Tapi sekali lagi, internet bukan hal yang terpisah. Ini seperangkat aturan yang mendefinisikan bagaimana jaringan berkomunikasi, jaringan ini kecil, ini jaringan lokal yang kita terbiasa, orang-orang di rumah kami, orang-orang di sekolah kami, orang-orang di pekerjaan kita, semua berbagi jaringan. Dan bagaimana jaringan ini interkoneksi dan berbicara satu sama lain, itulah sebenarnya apa yang internet itu semua tentang. Jadi mari kita, di masa depan video, berbicara tentang beberapa protokol yang terdiri internet untuk mudah-mudahan memberikan sedikit lebih dari baik-bulat pemahaman. Aku Doug Lloyd. Ini adalah CS50.