[Powered by Google Translate] [Week 7, Sambungan]
[David J. Malan, Universiti Harvard]
[Ini adalah CS50.] [CS50.TV]
Semua hak. Selamat Balik. Ini adalah CS50,
dan ini adalah akhir 7 minggu.
Jadi salah satu daripada perkara-perkara ini bodoh sedikit yang berlaku di sekeliling Internet
dan kita slurped, dan ia kini perlu membuat sedikit rasa geeky kepada anda.
Nah, ia adalah funnier kepada lelaki ini daripada ia adalah untuk anda semua.
Bercakap, baik, lelaki,
hari ini adalah hari jadi Nate.
Untuk memberi anda rasa Nate betapa baik dan saya
pada pembangunan web berdasarkan kelas Isnin dan berdasarkan sekarang ini,
Saya fikir saya akan tarik sehingga halaman rumah Nate, jika anda tidak pernah melihat lagi.
Ini HTML di sini ia Nate.
Jadi melihat kod sumber beliau jika anda ingin melihat bagaimana untuk melakukan ini, dan Nate,
jika kita boleh memalukan anda hanya secara ringkas, kakitangan mendapat anda sesuatu yang sedikit
jika anda ingin berkongsi beberapa pencuci mulut dengan beberapa kanak-kanak di dalam kelas di sini.
Jika anda ingin datang atas ke bawah.
Anda semua memuji dan sangat bagus, tetapi tiada siapa yang duduk di mana-mana sahaja berhampiran Nate,
untuk sebab-sebab tertentu, dalam zon belakang itu.
Jadi mungkin anda boleh mencari beberapa orang untuk menikmati ini dengan.
Happy Birthday, Nate.
>> Hellos tambahan: Kami menunjukkan klip beberapa daripada pelajar CS50x kami.
Jika anda mahu untuk melihat siapa lagi ia adalah di dunia
yang berikut bersama-sama, anda boleh pergi ke URL ini,
di mana Yusuf, salah satu TFS kami, telah meletakkan bersama montaj pelbagai
semua orang yang telah mengemukakan video ini, di kalangan mereka Rick Astley.
Dan jika anda menatal ini, ia adalah benar-benar agak inspirasi
untuk melihat kepelbagaian negara-negara dan bandar-bandar dari mana orang yang memuji.
Jadi jika anda ingin mengambil melihat pada itu, yang akan melalui akhir semester.
Hari ini kita terus melihat kami di Web, pengaturcaraan web, HTML dan sebagainya,
dan kita juga telah makan tengah hari yang akan datang Jumaat ini
jika anda ingin, dan khususnya, telah tidak berbuat demikian sebelum.
Tema Jumaat ini akan menjadi hari jadi Nate,
jadi jika anda ingin mempunyai makan tengah hari ulang tahun dengan Nate
dan lain-lain, beberapa rakan-rakan kami dari Industri,
sila menuju ke URL yang sana.
Angkasa, seperti biasa, adalah terhad. Juga, jika anda terlupa,
menyedari bahawa minggu depan adalah tarikh akhir untuk masalah menetapkan memburu penyapu jalan 4,
mana selepas pulih semua mereka JPEG dari card.raw,
anda dan rakan-rakan seksyen anda, jika anda mahu, boleh cuba gambar
sebagai banyak saintis komputer dari kad memori yang mungkin,
dan anda dan seksyen anda kemudian akan memenangi hadiah yang hebat.
Merujuk kembali kepada spesifikasi pset 4 sebagai apa yang mengemukakan dan apabila.
Juga, jika anda ingin mempunyai perbuatan anda diabadikan
di laman web dan kursus sejarah pakaian,
tahu bahawa anda dialu-alukan sekarang untuk mula mengemukakan reka bentuk
bagi tahun ini T-shirt dan sweatshirts dan sebagainya.
Kami akan melakukan yang terbaik untuk memasukkan seberapa banyak yang kita boleh,
tetapi kita akan mempunyai beberapa ahli kajian kakitangan semua reka bentuk
untuk memastikan mereka selaras dengan spesifikasi,
dan kita kemudian memilih umumnya segelintir daripada mereka hendaklah dipamerkan.
Jadi jika anda adalah jenis reka bentuk, hanya tahu bahawa keperluan
untuk grafik PNG, sekurang-kurangnya 200 DPI,
mereka tidak harus lebih daripada 4000 x 4000 piksel,
dan tidak lebih daripada 10 MB, tetapi anda dialu-alukan untuk menggunakan perkara-perkara seperti
Photoshop atau GIMP atau pelbagai program grafik,
apa sahaja yang anda mempunyai sekurang-pelupusan anda.
>> Juga di ufuk adalah projek akhir. Projek akhir benar-benar adalah kemuncak 50,
mana semua tugasan dalam kursus,
ia adalah peluang anda benar-benar melakukan perkara yang anda sendiri.
Dan yang boleh semata-mata untuk melakukan sesuatu untuk suka-suka,
ia boleh menyelesaikan beberapa masalah yang mendesak kumpulan pelajar anda mempunyai,
untuk beberapa laman web baru, beberapa mekanisme koleksi baru untuk data.
Ia boleh menjadi satu aplikasi mudah alih untuk Android, IOS.
Betul, langit adalah had, dan lebih beberapa minggu akan datang,
seperti yang kita peralihan dari C ke bahasa-bahasa peringkat tinggi seperti PHP dan JavaScript,
anda akan mendapati diri anda semakin berjinak dengan beberapa teknik sebenar dunia,
beberapa alat dunia sebenar, dan untuk menambah bahawa,
tahu bahawa kursus ini mempunyai sejarah seminar,
di mana dalam tempoh beberapa minggu akan datang, beberapa tenaga pengajar
dan rakan-rakan kita dari di kampus akan menawarkan seminar pilihan
yang pergi di atas dan di luar apa yang biasanya dilakukan dalam seksyen
untuk memperkenalkan anda kepada perkara-perkara seperti pengaturcaraan Android,
untuk memperkenalkan anda kepada perkara-perkara seperti IOS pengaturcaraan
atau lebih maju teknik pembangunan web.
Ada sejarah keseluruhan ini sudah talian.
Jika anda pergi ke cs50.net/seminars, kita telah melakukan ini untuk agak beberapa tahun,
dan anda akan melihat bahawa diarkibkan di sini dengan PDF dan video dan sebagainya
adalah video beberapa dozen seminar.
Tahun lepas, misalnya, kita mempunyai satu seminar pada Acing temuduga teknikal anda,
jika anda sebenarnya mencari untuk pergi dan melakukan persembahan magang atau sepenuh masa.
Windows mudah alih pembangunan, pembangunan Android, Google Maps,
API, CSS, membangun untuk BlackBerry, Emacs.
Betul, anda dialu-alukan untuk melihat di mana-mana seminar ini mengikut keselesaan anda.
Dan kita akan memegang beberapa orang yang baru semester ini, serta.
>> Jadi apakah hadapan dengan projek akhir?
Well, pertama, walaupun tarikh ini adalah agak berlaku,
ini adalah benar-benar hanya satu peluang untuk mula berfikir tentang projek akhir agak realistik.
Kita tahu hanya permulaan beberapa daripada apa yang kita masih akan meliputi dalam perjalanan,
HTML, PHP dan sebagainya, tetapi anda semua biasa dengan web,
dan saya bias perbualan ini ke arah Web hanya kerana
kebanyakan orang akhirnya melakukan berasaskan web projek akhir,
tetapi itu tidak bermakna yang diperlukan.
Menggunakan C adalah halus, Objektif C, Jawa,
mana-mana bahasa lain yang anda mungkin tahu atau tidak mahu tahu agak halus.
Tetapi untuk mendapatkan jus yang mengalir pada mulanya, kita akan mengharapkan penyerahan sebuah preproposal
yang, setiap PDF di laman web, yang kini berada di cs50.net,
dan di sebelah kiri atas anda akan melihat projek akhir
adalah spesifikasi untuk projek akhir,
dan di sana adalah butiran pada preproposal dan sebagainya.
Ia cukup banyak bisul ke e-mel kepada rakan-rakan pengajaran anda
hanya untuk menyerang sehingga perbualan dengan dia atau dia tentang apa yang anda fikirkan.
Di On projects.cs50.net adalah repositori idea daripada orang di kampus
jika anda sedang bergelut untuk tampil dengan beberapa idea,
dan manual.cs50.net/APIs adalah repositori pautan kepada API.
>> Apa, walaupun, adalah API?
Apakah API? Saya telah berkata ia sekurang-kurangnya dua kali,
mengikut transkrip beberapa minggu yang lalu.
Apa itu? [Pelajar, difahami]
>> Okay, baik. Jadi sesuatu pengaturcaraan antara muka.
Permohonan antara muka pengaturcaraan, dan ini boleh mengambil beberapa bentuk,
tetapi apakah ini benar-benar bisul turun kepada adalah kod
bahawa orang lain hs bertulis atau data yang orang lain telah mengumpul
yang disediakan kepada anda dalam beberapa cara perancangan.
Anda boleh menulis kod dalam C, PHP, Python, Ruby,
apa bahasa pilihan anda biasanya adalah,
dan anda entah bagaimana boleh membina fungsi orang lain
atau orang lain set data.
Sebagai contoh, jika saya pergi ke pautan ini di sini,
dan anda akan melihat sepasang pautan pada halaman berikutnya
di mana kita mempunyai API sendiri CS50, yang sangat Harvard-centric, dan kemudian pihak ketiga API.
Antara API pihak ketiga adalah perkara yang benar-benar berguna
seperti yang mampu untuk menghantar orang untuk SMS,
dapat menerima mesej teks SMS dari orang-orang.
Dan perkara-perkara seperti itu yang anda mungkin tidak mempunyai idea bagaimana untuk melaksanakan sendiri,
tetapi terima kasih kepada perkhidmatan, beberapa, bebas dan beberapa komersial
anda boleh membina di atas mereka dan melakukan sesuatu yang menarik minat anda.
Antara API CS50 adalah perkara-perkara kampus-centric seperti
Kursus Harvard, tenaga, acara, makanan, peta, berita, tweet dan sendiri Shuttleboy,
dan ini adalah API yang melihat sesuatu yang sedikit seperti ini.
>> Biar saya tarik sehingga API HarvardFood.
Jika anda pernah ke laman web HUD, anda mungkin telah berada di sana
hanya melihat apa untuk makan malam atau untuk melihat apa jam untuk beberapa d-dewan.
Nah, ia tidak terutamanya mudah untuk mengemudi,
dan sebagainya apa yang kita tidak sedikit masa lalu kita menulis perisian,
ia berlaku dalam PHP, yang sebenarnya skrin scrapes keseluruhan laman web HUD.
Untuk menyaring sesuatu mengikis bermaksud untuk menulis program dalam bahasa seperti PHP
yang berpura-pura untuk menjadi pelayar, walaupun anda mungkin menghadapi pada command prompt,
yang berpura-pura menjadi pelayar, menghubungkan ke laman web,
memuat turun HTML, bahasa di mana ia ditulis,
dan kemudian membacanya, atau lebih khusus, ia mem-parsing
atas ke bawah, kiri ke kanan.
Dan apa yang kita lakukan ialah kita menulis kod kami dalam apa-apa cara yang
bila-bila masa kita melihat sesuatu dalam HTML itu yang kelihatan seperti sesuatu pada menu,
seperti hamburger, kami kemudiannya akan mengimport ke dalam pangkalan data kami sendiri.
Dan bila-bila masa yang kita lihat kandungan nutrisi, kita akan import ke dalam pangkalan data kami sendiri.
Dan apa yang kita lakukan adalah memanfaatkan hakikat bahawa laman web HUD,
walaupun ia mungkin sedikit cabaran bagi kita manusia untuk mengemudi
di bawah hood, semua HTML yang dihasilkan oleh program komputer mereka sendiri.
Jadi semua HTML mereka, walaupun ia mungkin kelihatan kemas,
seperti laman web yang paling bawah hood ia mengikuti corak.
Jadi kita hanya menghabiskan beberapa jam memikirkan corak yang
supaya pada akhirnya, kita buang semua HTML berantakan,
semua estetika menghadap berani dan italik dan sebagainya,
dan apa yang kita kemudiannya mampu lakukan ialah mendedahkan bahawa data yang sama.
Sebagai contoh, dalam cara ini.
Jadi kita, menurut untuk dokumentasi sini,
telah memaklumkan kepada dunia bahawa jika anda meminta URL
yang kelihatan seperti ini, food.cs50.net / sesuatu,
dan anda menyediakan parameter tertentu, yang kita akan bercakap tentang hari ini,
seperti tarikh akhir masa, permulaan tarikh waktu makan, dan sebagainya,
apa yang pelayan kami akan kembali kepada anda, sebagai contoh,
fail CSV, koma separted nilai seperti fail Excel,
mengandungi segala-galanya untuk sarapan pagi pada tarikh ini tertentu pada bulan Mac tahun lepas
apabila saya berlaku untuk menulis dokumentasi ini.
>> Bagi mereka yang biasa, CSV tidak adalah format fail sahaja.
Ada satu lagi format yang lebih versatil
dipanggil JSON, JavaScript Objek Tatatanda.
Data boleh kembali dalam format tersebut.
Jadi Fleet sini ialah bahawa sama ada anda menyelam ke dalam API ini
atau mana-mana lain CS50 atau apa-apa di luar sana di Internet,
atau tidak sama sekali, sedar bahawa dunia telah semakin mula menyeragamkan
bagaimana mesin bergaul.
Kami menggunakan standard format data seperti CSV atau JSON.
Dan apakah ini bermakna bagi anda ialah anda boleh menulis bahagian yang menarik program
yang membolehkan pengguna anda mencari menu makan-dewan,
yang membolehkan mereka mewujudkan senarai kegemaran yang membolehkan mereka mendapat isyarat teks
apabila makanan kegemaran mereka adalah kira-kira untuk berkhidmat dalam beberapa d-dewan
dengan menggunakan set data orang lain dan bangunan di atas API mereka.
Jadi lebih pada itu dalam bentuk seminar dan dokumentasi bahawa anda mempunyai di sini dalam talian.
Jadi orang-orang, maka, adalah API.
>> Itu membawa kita kembali ke HTML. Recap cepat.
Apakah HTML?
[Pelajar, difahami] Baik >>. Hiperteks Markup Language.
Orang lain, apa yang Hypertext Markup Language?
Hiperteks Markup Language.
Okay. Jadi HTML, Hiperteks.
Hiperteks hanya merujuk kepada Web, bagi sebahagian besar.
Markup bermakna bahawa ia bukan sebenarnya bahasa pengaturcaraan, HTML.
Ia bukan satu bahasa yang anda boleh meluahkan logik masuk
Ia tidak mempunyai gelung. Ia tidak mempunyai syarat.
Ia tidak mempunyai fungsi, per se.
Sebaliknya, ia mempunyai perkara-perkara yang dipanggil tag, atau lebih tepat, unsur-unsur.
Dan mereka mempunyai unsur-unsur tag permulaan dan tag akhir,
atau tag terbuka dan tags tertutup, dan apa yang mereka tags umumnya bermakna untuk pelayar adalah,
mula melakukan sesuatu dan kemudian berhenti melakukan sesuatu, walaupun terdapat pengecualian itu.
Kadang-kadang ia hanya 'meletakkan satu baris di sini,' misalnya.
Dan kita melihat contoh bahawa hari lain, antara menghadap berani,
garis rehat, dan kemudian beberapa tag lain.
Jadi HTML adalah bahasa di mana laman web ditulis.
Jadi jika saya pergi ke sesuatu seperti Google.com
dan tarik sehingga hanya halaman rumah mereka,
ingat bahawa jika anda klik kanan atau mengawal klik
dan melihat sumber halaman pandangan, biasanya
ia adalah satu keadaan huru-hara lengkap hari ini di bawah hood, tetapi kerana
komputer tidak mengambil berat tentang ruang putih, jadi ini tidak perlu kelihatan cantik.
Tetapi jika kita mengezum masuk pada bahagian itu,
melihat bahawa Chrome, hanya untuk menjadi baik, warna berkod perkara.
Sesungguhnya, ini adalah tag yang sangat pertama yang kita lihat dalam laman web.
Dan sekali lagi, HTML 5, versi terbaru bahasa ini,
tidak mempunyai perkara ini pada mulanya,
<! DOCTYPE HTML, sama ada kecil atau huruf besar,
tetapi itu hanya jenis standard yang mengatakan, hei dunia, di sini datang fail HTML dalam 5 versi.
>> Bahagian yang menarik bermula di sini. Jadi <html, dan kemudian terdapat dua kanak-kanak
elemen HTML kali terakhir.
Apakah kedua-dua kanak-kanak utama?
Kepala dan badan, seperti seorang lelaki dengan tatu seketika lalu.
Terdapat dua bahagian laman web, kepala dan badan,
dan ingat, maka, bahawa mungkin laman web yang paling mudah kita boleh membuat kelihatan seperti ini.
Dan saya telah dilekukan ia hanya untuk menjadi jenis kemas dan rapi dengan kod saya,
tetapi apa yang benar-benar penting di sini ialah bahawa terdapat beberapa hierarki ini.
Dan mana-mana tag yang saya telah dibuka saya telah ditutup dan bahawa Oleh itu, terdapat simetri ini
kepada semua markup bahawa saya telah mencipta.
Jadi kali terakhir kita mula menulis laman web pada komputer riba saya sendiri.
Saya membuka Teks edit, saya selamatkan fail sebagai hello.html,
Saya kemudian mengheret fail ke browser saya, dan Voilà, saya mempunyai halaman di Internet.
Kini, ia bukan agak kes, saya mempunyai halaman pada cakera keras saya,
dan saya benar-benar satu-satunya orang di dunia yang akan melihat bahawa laman web dalam pelayar.
>> Jadi hari ini, kita memperkenalkan pelayan web sebenar
dan tanggapan sebenarnya menghidangkan kandungan di Internet
dan bagaimana ini semua bermula untuk dimuatkan bersama-sama.
Jadi ia ternyata bahawa semua masa ini dalam perkakas CS50
anda mempunyai web server pada komputer anda.
Kami telah, dalam keadilan, hanya digunakan untuk gedit, untuk dilafaz, untuk GDB dan sebagainya,
tetapi juga dipasang oleh kami untuk anda dalam perkakas adalah pelayan web,
dan bahawa pelayan web yang berlaku menjadi percuma, sumber terbuka,
salah satu yang paling popular di dunia, dipanggil Apache.
Namanya lebih teknikal adalah httpd, d untuk daemon sini,
yang merupakan perkataan teknikal bagi pelayan.
Jadi dipasang dalam perkakas CS50 adalah pelayan web, dan apakah itu bermakna?
Nah, pelayan web, konsep, beberapa pelayan di Internet yang menyajikan kandungan web.
Apabila diminta untuk fail, ia memuntahkannya keluar HTML yang dikomposisikan fail tersebut, dan Voilà.
Anda lihat halaman rumah beberapa laman web.
Tetapi pelayan adalah lebih tepat lagi, sekeping perisian.
Ia tidak perlu untuk menjadi pada mesin fizikal, ia hanya mempunyai untuk menjadi sekeping perisian berjalan.
Jadi perkakas CS50, sudah tentu, adalah suatu perisian
walaupun ia adalah jenis berpura-pura untuk menjadi mesin.
Ia berpura-pura menjadi dalam komputer komputer,
tetapi itu hanya bermakna bahawa perkakas pasti boleh menjalankan perkara-perkara seperti pelayan web.
Ia sebenarnya boleh menjalankan pelayan e-mel.
Kita boleh menjalankan pelayan mesej segera di dalam perkakas jika kita mahu,
dan sesungguhnya kami tidak menjalankan satu jenis lain pelayan, yang dikenali sebagai pelayan pangkalan data, mySQL.
Tetapi lebih pada minggu yang seterusnya.
Ini bermakna bahawa saya sebenarnya boleh melawat laman web
di dalam perkakas saya dengan menggunakan pelayar di dalam perkakas
atau walaupun pada laptop saya sendiri, Mac atau PC saya saya.
Jadi apa maknanya? Ia ternyata bahawa bila-bila masa anda menjalankan komputer Linux,
Nama samaran adalah "tuan rumah tempatan."
Ia tidak mempunyai nama domain kerana kita tidak membeli nama domain
untuk sesuatu seperti perkakas, jadi nama lalai adalah tuan rumah tempatan.
>> Tetapi untuk mendapatkan perkakas untuk memulakan berkhidmat sehingga laman web,
kita perlu untuk mewujudkan mereka terlebih dahulu.
Jadi mari kita berbuat demikian. Biar saya pergi ke tetingkap terminal di sini
dan notis bahawa saya di John tipikal Harvard prompt.
Biar saya pergi ke hadapan dan taip ls, dan kita akan melihat beberapa perkara yang biasa dari semester ini,
desktop, muat turun, dropbox dan sebagainya,
tetapi sekarang kita mula mengubah perhatian kita kepada pasangan.
Pada pelayan web Linux banyak terdapat folder ini dipanggil awam html,
tetapi kita akan melangkau bahawa satu untuk sekarang dan tumpuan pada ini vhosts,.
Sesiapa tahu apa vhost adalah?
Hanya istilah bodoh untuk menjadi tuan rumah maya,
dan apa ini bermakna adalah bahawa pada pelayan biasa
anda sebenarnya boleh menjadi tuan rumah beberapa laman web.
Anda boleh membeli nama domain seperti foo.com, dan anda boleh menjadi tuan rumah pada pelayan.
Tetapi anda juga boleh membeli bar.com dan tuan rumah pada pelayan yang sama.
Sebab itu, pelayar bijak untuk memaklumkan kepada pelayan
apabila pengguna meminta beberapa laman web, apakah nama domain pengguna mahu laman utama untuk.
Jadi apa yang baik tentang perkara ini ialah anda tidak perlu satu pelayan fizikal
atau satu CS50 perkakas untuk setiap laman web anda mungkin mahu mencipta.
Anda boleh menggunakan server yang sama dan membangunkan seratus laman web yang berbeza.
Dan sesungguhnya, jika anda adalah seseorang yang cuba untuk memulakan sebuah laman web,
sama ada untuk suka-suka atau untuk perniagaan, biasanya anda akan pergi keluar di Internet,
dan anda akan membayar seseorang 10 dolar sebulan, seratus ringgit sebulan
untuk menjadi tuan rumah laman web anda untuk anda.
Dan cara yang berfungsi adalah mereka mengenakan orang lain
sepuluh dolar sebulan atau seratus dolar sebulan
untuk menjadi tuan rumah laman web orang lain pada pelayan yang sama mereka.
Sebab mereka boleh berbuat demikian adalah kerana ciri ini dipanggil bhosts,
tetapi lanjut mengenai bahawa apabila ia datang masa untuk projek akhir.
>> Untuk sekarang, mari kita hanya menyelam di sana. Jadi vhosts cd, dan jika saya menaip ls sekarang,
melihat bahawa terdapat satu folder di sana dipanggil tuan rumah tempatan.
Ini kerana, secara lalai, perkakas angka
anda pernah akan menjalankan satu laman web pada perkakas.
Ini tidak benar-benar dunia sebenar, ia tidak pelayan web dunia sebenar.
Jadi biarlah saya pergi ke host tempatan, dan sekarang kita akan melihat di sana
satu direktori lepas dipanggil HTML.
Jadi ia sedikit mendalam, hierarki, tetapi jika dan apabila
anda membuat keputusan untuk mula membangunkan laman web berganda lebih n bulan depan atau tahun,
ini jenis struktur folder cenderung untuk membantu.
Sekarang mari kita pergi ke dalam HTML kerana saya hanya lakukan,
ls jenis, dan apa-apa yang ada.
Jadi sekarang mari kita pergi ke hadapan dan melakukan ini. Izinkan saya membuka Chrome
di dalam perkakas, dan biarlah saya pergi ke http://localhost.
Jadi benar-benar nama untuk perkakas saya, masukkan, dan saya mendapat indeks /.
Ini tidak benar-benar menunjukkan saya apa-apa kepentingan,
tetapi ternyata bahawa apa yang kita lihat adalah bahawa folder, HTML.
Tiada apa-apa di dalam folder itu sekarang,
jadi sebaliknya, apa yang saya akan perlu lakukan ialah mula-mula mencipta fail.
Buat fail HTML seperti yang kita lakukan pada hari Isnin, tetapi kali ini meletakkan ia di dalam perkakas.
Bagi anda yang cuba untuk mengikuti bersama-sama dengan komputer riba kini,
membiarkan saya melakukan satu selain yang akan dilindungi dalam pset berasaskan web,
tetapi untuk mendapatkan ini untuk bekerja untuk kali pertama,
anda akan perlu untuk menjalankan perintah ini: sudo perkhidmatan httpd permulaan.
Dan ini, sekali lagi, akan diulangi dalam pset terakhir,
tetapi jika anda bermain bersama-sama di rumah sekarang, pelayan web
dimatikan dalam perkakas, dan itulah supaya ia tidak sap sehingga RAM
dan memori selama 7 minggu di luar semester apabila kita tidak memerlukannya.
Jadi, anda perlu untuk menjalankan arahan ini sekali, dan anda akan mendapat output seperti itu.
Kemudian anda akan dapat untuk bermain bersama-sama di sini.
Sekarang mari kita kembali ke dalam folder ini.
Folder ini adalah kosong, jadi biarlah saya mula membuat fail,
gedit hello.html.
>> Semua hak. Gedit terbuka, seperti biasa. Biarlah saya melakukan DOCTYPE, html,
html, izinkan saya mendapatkan lebih awal daripada diri sendiri dan mula menutup tag saya terlebih dahulu.
Sekarang saya mempunyai kepala. Izinkan saya pergi ke hadapan dan menutup kepala,
izinkan saya kini melakukan tajuk halaman, hello dunia seperti masa lalu,
Tajuk rapat, sekarang mari saya melakukan satu badan.
Di sini saya akan mengatakan hello, dunia dengan beberapa exclams
untuk membuat jelas bahawa ia adalah rentetan yang berbeza.
Tutup badan, dan sekarang mari saya pergi ke hadapan dan memfailkan menjimatkan.
Biar saya pergi kembali ke tetingkap terminal saya, dan jika saya taip ls,
Saya perlu, mungkin, lihat hello.html. Dan saya lakukan.
Jadi sekarang mari kita kembali kepada pelayar saya, klik reload,
dan anda boleh lihat kita memang di dalam folder ini HTML.
Saya tidak melihat laman web lagi, ini adalah Apache, pelayan web,
hanya menunjukkan saya kandungan senarai direktori ini.
Sama seperti Mac OS atau Windows biasanya akan lakukan pada pemacu keras anda sendiri tempatan.
Jadi jika saya mahu melihat laman web ini, saya boleh klik pautan ini sedikit di sini, hello.html,
dan sesungguhnya, itulah apa yang saya ada ketika itu menjangkakan untuk melihat.
Kini, sekali lagi, ini tidak adalah URL bahawa mana-mana anda boleh melawat sekarang,
kerana untuk anda, tuan rumah tempatan, jika anda mempunyai komputer riba di sini,
ia merujuk kepada contoh anda sendiri perkakas.
Ini adalah perkakas peribadi saya,
tetapi ini adalah jenis bodoh bagi saya untuk mempunyai, mempunyai
pengguna seperti saya klik pada hello.html untuk benar-benar melihat kandungan halaman ini.
Ia ternyata bahawa pelayan web seperti Apache membiarkan anda mempunyai fail lalai untuk mana-mana pelayan web.
Notis di sini kita mempunyai hello.html.
Apakah arahan dalam Linux untuk menamakan semula fail?
>> MV, untuk bergerak. Jadi biarlah saya berbuat demikian,
dan biarkan saya menamakan semula hello.html untuk index.html.
Biar saya taip ls untuk mengesahkan ia kini telah dinamakan semula.
Sekarang ini akan - jika saya kembali kepada tuan rumah tempatan,
notis sekarang bahawa saya secara automatik melihat bahawa laman web.
Ini adalah sama dengan index.html sebenarnya melakukan saya /
tetapi perkara yang baik sekarang adalah bahawa pelayan web yang memikirkan,
oh, jika anda mempunyai fail yang, oleh konvensyen manusia, dipanggil index.html,
izinkan saya menunjukkan pengguna bahawa fail secara lalai
bukannya beberapa penyenaraian direktori bodoh yang tidak pada semua mesra pengguna.
Malah, kebanyakan laman web yang anda lawati di Internet tidak mempunyai senarai fail untuk klik pada,
mereka hanya menunjukkan kepada anda kandungan. Jadi itulah bagaimana kita boleh berbuat demikian, index.html.
Jadi ini adalah semua yang menyeronokkan dan baik, tetapi ini adalah satu laman web yang agak mudah.
Biar saya pergi ke hadapan dan membuka index.html dalam vhosts saya,
host tempatan, direktori html, dan mari menambah sesuatu kepentingan yang lebih besar.
Jadi ada dunia hello; mari kita bukannya mengatakan 'Ini adalah CS50, Harvard College. . '.
Jadi permulaan perihal katalog kursus sejenis sana.
Sekarang, jika saya reload, saya harus melihat ini dalam halaman rumah saya.
Okay, dan saya melihat bahawa, tetapi menganggap bahawa saya mahu kini menyenaraikan beberapa lagi kandungan dalam fail ini.
Saya boleh pergi ke sini dan berkata, tiada prasyarat,
walaupun sesetengah daripada anda mungkin suka, 'Ha ha ha, tiada prasyarat.'
Tetapi secara rasmi. Jadi tambah nilai, dan kini kita mempunyai quirk yang sama bahawa kita melihat masa lalu.
Tetapi mengapa itu? Ia adalah menetapkan mudah.
Mengapa halaman ini rosak?
[Pelajar, difahami] >> Ya, kita telah diselesaikan sebelum ini
dengan jelas memberitahu pelayar 'meletakkan baris di sini.'
Dan itu kerana, sekali lagi, pelayar yang hanya akan lakukan
jelas apa bahasa markup memberitahu ia lakukan,
jadi walaupun anda mungkin telah melanda masukkan sekali atau dua kali atau bahkan sepuluh kali,
ia akan menggabungkan semua ke dalam ruang tunggal, hanya mengikut konvensyen.
Jadi, jika anda benar-benar mahu baris, anda perlu menggunakan tag br,
dan kini notis, seperti hari Isnin, saya meletakkan dalam / tag ini,
hanya kerana ini hanya tidak berasa hak
untuk memulakan baris kemudian berhenti ia dengan apa-apa di antara.
>> Jadi konvensyen dalam HTML adalah untuk membuka dan menutup tag serentak.
Sebagai mengetepikan, anda akan melihat banyak laman web dalam buku-buku yang tidak berbuat demikian.
Ia adalah betul untuk melakukan atau tidak melakukan, tetapi kita akan berhujah
bahawa reka bentuk bijak dan stylistically, ini hanya lebih baik
kerana tag setiap kedua-dua dibuka dan ditutup entah bagaimana.
Jadi sekarang mari kita menyimpan dan menambah nilai. Kembali ke penyemak imbas, okay.
Sekarang kita sedang membuat beberapa kemajuan, tetapi ia tidak agak cukup.
Mari kita pergi ke hadapan dan mula menaip dalam badan beberapa lagi teks.
Jadi katakan, 'A cepat coklat musang melompat atas anjing malas.'
Dan sekarang mari saya hanya salin dan tampal ini beberapa kali
supaya kita mempunyai satu perenggan teks.
Biar saya kembali di sini. Jadi ia tidak melihat yang sangat baik.
Saya mempunyai satu baris, jadi ia adalah okay,
tetapi sekarang, apabila kita sampai kepada titik yang mempunyai laman web
yang mempunyai banyak kandungan dan bukan hanya satu garisan untuk menunjukkan HTML,
kita boleh mula untuk memikirkan perkara-perkara ini sebagai perenggan sebenar.
Dan kita boleh mula untuk struktur laman web kami sedikit lebih rapi.
Dan sesungguhnya, apa yang saya boleh lakukan ialah pergi di sini di dalam tag badan saya,
dan anda tahu apa, jika 'Ini adalah CS50. . '. benar-benar demarks permulaan perenggan,
baik, mari kita tag seperti itu.
Biar saya inden teks, hanya dengan konvensyen, biarlah saya katakan
bahawa perenggan ini berakhir di sini,
dan kemudian bukannya baris ini, izinkan saya hanya mengatakan
bahawa ini tergolong di sana dan sebagai perenggan baru,
dan saya akan hanya cepat inden dengan hanya clobbering semua barangan ini.
>> Jadi sekarang kita mempunyai perenggan dilekukan di sana,
dan kini markup kita bermula untuk mendapatkan lebih sedikit
semantik konsisten dengan apa yang kita cuba lakukan.
Kami mempunyai perenggan, jadi mari kita memanggilnya perenggan dengan tag p.
Kami mempunyai perenggan kedua, jadi mari kita memanggilnya perenggan dengan tag p.
Dan sekarang, apa pelayar biasanya akan melakukan
adalah sama seperti di dalam buku Bahasa Inggeris atau esei,
di mana anda biasanya melihat beberapa rehat selaras antara perenggan.
Pelayar akan melakukannya untuk anda secara automatik.
Jadi sekarang kita mempunyai dua perenggan dan kita boleh terus ini.
Tetapi, sudah tentu, di Web, apabila anda mempunyai badan teks
ia tidak biasanya hanya gumpalan besar teks.
Terdapat sering hyperlink di sana.
Jadi, jika kita mahu, sebagai contoh, termasuk beberapa pautan di sana,
menganggap apa yang mungkin kepentingan dalam apa jua laman web saya mewujudkan di sini adalah -
izinkan saya pergi ke Google.com,
dan biarkan saya mencari coklat cepat musang.
Pergi ke imej Google, dan, bagaimana pula - ini adalah comel.
Kami akan pergi dengan ini. Jadi di sini kita mempunyai coklat cepat melompat musang atas anjing malas.
Jadi apa yang saya akan lakukan di sini, hanya untuk demi demonstrasi,
menganggap bahawa imej ini adalah pada pelayan saya,
dan saya telah mencipta imej ini.
Apa yang saya hanya tidak telah klik kanan atau mengawal klik pada imej,
dan apa yang anda akan lihat dalam kebanyakan pelayar adalah menu sedikit -
berhenti berbuat demikian - menu kecil yang membolehkan anda untuk memilih salinan lokasi pautan atau URL salinan.
Jadi biarlah saya kembali sekarang untuk HTML saya, dan menganggap bahawa saya mahu
hyperlink ini ke laman web lain.
>> Apa adalah tag yang dipanggil untuk itu?
[Pelajar, difahami] >> Yeah. Jadi a href untuk rujukan hyper.
Biar saya pergi ke hadapan dan tampal bahawa masuk
Ia adalah URL yang agak panjang, jadi biarlah saya zum keluar.
Kurungan Tutup, jadi sekarang perasan saya cara di sini
kerana URL yang berlaku agak lama.
Biar saya tatal ke sini untuk akhir cepat coklat musang,
dan kemudian membiarkan saya menutup tag ini dengan </ a,
di mana saya hanya ditutup nama tag.
Sekarang mari saya pergi ke hadapan dan menyimpan fail itu, muatkan semula halaman web,
dan kini, secara lalai, itu akan digariskan dalam warna biru untuk saya,
tetapi sesungguhnya, saya kini boleh klik pada ini dan Voilà. Ada imej itu.
Dan ia tidak perlu menjadi imej, ia boleh dikaitkan
kepada beberapa laman web lain rawak di Internet.
Saya boleh lakukan ini, misalnya, dengan CS50, jadi satu contoh terakhir di sini.
'Ini adalah CS50' mungkin masuk akal untuk pergi, href =
http://www.cs50.net, quote rapat, sauh rapat.
Jadi sekarang bahawa URL yang lebih pendek, dan kali ini kita tidak akan menghubungkan kepada sesuatu imej.
Kami sebaliknya akan link ke laman lain.
Sekarang, kita mempunyai imej di sini.
Saya berasa seperti kita boleh melakukan sedikit lebih baik daripada hanya menghubungkan kepada sesuatu imej.
Apakah jika kita mahu sebenarnya menjelmakan ia dalam laman web kita sendiri?
>> Nah, apa yang boleh saya lakukan di sini adalah, bukannya pautan ke grafik ini,
izinkan saya bukannya memotong URL, dan kita akan menyingkirkan hiperlink itu dan membersihkan ini.
Dan kita akan pergi ke sini dan menyingkirkan ini.
Kita tidak benar-benar memerlukan semua ayat sekarang, jadi biarlah saya memendekkan halaman sedikit.
Dan kemudian turun di sini biarlah saya pergi ke hadapan dalam perenggan baru,
katakan saya tidak mahu teks sekarang, saya mahu imej yang sumber yang akan menjadi URL yang.
Imej, seperti baris, sama ada ada atau ia tidak.
Jadi biarlah saya segera menutup tag yang.
Biar saya pergi ke hadapan sekarang dan menutup perenggan bahawa saya di dalam,
dan jika semua berjalan lancar dengan hello, dunia, jika saya reload sekarang,
Saya, sememangnya, lihat betul-betul di dalam laman web saya sendiri imej.
Jadi sekarang kita mempunyai imej, tag tag sauh dan sebagainya,
dan untuk mengukur baik, biarlah saya melakukan satu perkara lain yang sering diabaikan
di laman web hari ini: Mari kita menyediakan beberapa teks deskriptif untuk imej ini
bagi orang-orang yang berada pada peranti mudah alih
dan oleh itu tidak mungkin dapat memuat turun imej ini sangat cepat,
bagi orang-orang yang buta dan mungkin tidak dapat untuk melihat imej
tetapi mereka mungkin mempunyai pembaca skrin yang boleh memberitahu mereka apa imej ini adalah.
Dan untuk berbuat demikian, terdapat atribut lain untuk tag imej
alt dipanggil, untuk teks alternatif.
Dan apa yang boleh saya lakukan di sini berkata, 'Ini adalah coklat cepat musang.'
Jadi bahawa bahkan jika manusia tidak boleh melihat imej pada skrin,
dia sekurang-kurangnya dapat mendengar, seperti dengan sehelai beberapa perisian,
apa yang sebenarnya ada pada skrin.
>> Yang tidak akan berubah estetika halaman,
tetapi ia sudah tentu amalan yang baik untuk pengguna.
Baiklah, mari kita meninggalkan laman web ini dalam bentuk semasa,
tetapi mari kita lihat jika kita tidak boleh memperkenalkan
beberapa pendekatan yang lebih baik untuk menulis laman web ini,
beberapa pelajaran yang akan melayani kita serta halaman kami mendapatkan lebih banyak dan lebih kompleks.
Apa yang kita tidak akan lakukan dalam tempoh beberapa minggu akan datang
berjalan anda melalui semua beberapa dozen HTML tags bahawa terdapat.
Banyak seperti di awal kembali di titik 0 minggu, ia mungkin akan mencukupi
untuk memberikan gambaran peringkat tinggi beberapa konsep,
lawatan cepat beberapa blok anda mungkin dapat,
agak selesa, untuk mengemudi sendiri, pelbagai kepingan teka-teki.
Dan itu akan berlaku lagi dalam HTML, kemungkinan besar,
mana ada sumber yang mencukupi di Web bahawa kami akan menunjukkan anda di,
buku teks pelbagai, jika anda memilih untuk membaca buku teks,
yang akan berjalan anda melalui semua pelbagai perkara yang anda boleh lakukan dengan HTML,
tetapi benar-benar, kita telah melihat setakat ini dalam HTML kebanyakan konsep-konsep asas.
Kami mempunyai tanggapan tags sedang dibuka, tag ditutup.
Beberapa tag yang kedua-duanya dibuka dan ditutup
dalam erti kata bahawa mereka kosong; perlu ada apa-apa di dalam mereka
seperti tag imej atau satu baris, yang hanya ada.
Kami juga kelihatan sudah pada tanggapan sifat, seperti alt atau sumber.
Perhatikan bahawa kata-kata ini cenderung, mengikut konvensyen, menjadi pendek dan ringkas.
>> Kami tidak mempunyai budi bicara atas apa perkara-perkara ini dipanggil,
orang lain yang mencipta HTML datang dengan nama-nama ini.
Jadi anda hanya perlu untuk memulakan untuk mengetahui atau melihat, bila-bila masa anda memerlukan mereka,
apa nama adalah untuk tag dan sifat-sifat ini.
Dalam hal ini sifat, ciri-ciri umumnya
mengubah suai tingkah laku tag beberapa.
Dalam kes ini, sifat sumber memberitahu tag imej
apa sumber imej harus.
Sifat href menceritakan tag anchor apa yang ia sebenarnya harus menghubungkan ke.
Tetapi dari segi struktur laman web, walaupun Facebook
dan Google dan kelihatan seperti seperti keadaan kucar-kacir yang lengkap
di bawah hood pada pandangan pertama, jika anda mula membaca melalui
lebih teratur, mereka semua mengikuti asas ini, struktur asas.
Tetapi kita boleh memperbaiki penyesuaian dgn mode perkara-perkara ini.
Jadi biarlah saya pergi ke beberapa contoh yang saya bersedia terlebih dahulu.
Biar saya pergi ke hadapan dan menyalin mereka dari folder lain di sini
dan meletakkan mereka ke dalam direktori ini.
Terlebih dahulu, apa yang saya lakukan ialah menyediakan beberapa fail:
search0, search1, search2, dan search3 dan 4.
Biar saya pergi ke hadapan dan membuka pertama fail-fail,
dan mari kita lihat jika kita tidak boleh memulakan untuk mewujudkan enjin carian kami sendiri.
Pada bahagian atas fail ini, seperti biasanya kes dalam kelas, hanya sekumpulan komen.
Dalam HTML, walaupun, dengan cara yang mana anda mula komen
adalah <- dan maka anda berada di dalam komen, komen yang berbilang talian.
Apabila anda sudah bersedia untuk menghentikan komen bahawa, anda boleh melakukannya ->.
Jadi, segala-galanya di atas dengan warna biru adalah hanya komen.
>> Ini adalah perisytiharan DOCTYPE saya, yang sekali lagi,
anda hanya boleh menyalin dan tampal pada iman, untuk sekarang.
Ini hanya memberitahu pelayar, 'Di sini datang lebih kurang 5 HTML.'
Di bawah bahawa, on line 14, pertama tags sebenar saya,
dan ini hanya berkata, seperti sebelum ini, di sini datang beberapa HTML,
di sini datang kepala halaman saya, di sini datang tajuk,
dan kemudian, sebaliknya, yang bagi tajuk, itulah ia untuk kepala.
Di sini sekarang datang badan halaman saya.
Jadi tag Pasangan baru sekarang: h1 bermaksud heading 1.
Ada satu tradisi dalam HTML untuk bertahun-tahun kembali
mempunyai saiz yang berbeza teks.
Dan kembali pada hari itu, setiap satu bermakna, secara amnya, hanya besar dan berani.
Tetapi ada juga h2, yang besar tetapi tidak cukup sebagai besar dan berani.
Ada h3, yang merupakan jenis besar tetapi tidak hampir yang besar dan berani,
dan sebagainya, sepanjang jalan ke H6.
Pada hari ini, walaupun, h1, h2 dan h3 benar-benar bermakna
mempunyai makna yang lebih semantik kepada mereka,
mana h1 adalah benar-benar satu tajuk: tajuk laman web,
tajuk lajur atau sesuatu seperti yang teks.
Jadi saya sengaja berkata h1 CS50 search> h1
nyatakan jenis bahawa ini adalah benar-benar tajuk, tajuk halaman saya.
Bukan tajuk dalam bar tajuk rasa,
tetapi tajuk yang sebenarnya anda lihat dalam laman web itu sendiri, dalam badan.
Sekarang ini, anda mungkin boleh meneka apa yang ada,
walaupun kita mempunyai beberapa keping baru sintaks.
Ini adalah bentuk. Jadi web benar-benar mendapat menarik
apabila laman web mengambil input daripada pengguna.
Dalam kelas ini, dalam masalah yang ditetapkan pada pengaturcaraan web,
kita tidak akan membuat sebuah laman web, per se,
dengan kandungan statik yang menunjukkan gambar-gambar yang anda telah diambil,
atau ini adalah resume saya, dan perkara-perkara tentang saya,
kerana perkara-perkara yang agak mudah untuk meletakkan bersama-sama.
Adalah sukar untuk membuat perkara yang indah di Web,
tetapi sekurang-kurangnya meletakkan kandungan adalah agak remeh.
Tetapi perkara mendapatkan benar-benar menarik apabila seseorang boleh melawat laman web anda
dan menyediakan input dan boleh mengisi borang,
boleh menyemak kotak semak dan boleh berinteraksi dengan laman web anda.
Dan sesungguhnya, mungkin setiap laman web yang anda mengambil berat tentang
hari ini, secara terperinci mana-mana, entah bagaimana interaktif.
Facebook, Google, dan sebagainya, yang mengambil input pengguna
dan menghasilkan output disesuaikan.
>> Jadi mari kita mulakan untuk berbuat demikian sekarang. Mari peralihan sekarang
daripada hanya menggunakan HTML untuk markup kandungan statik
bukannya sebagai mekanisme penyampaian untuk kandungan dinamik.
Dan ke arah akhir itu, mari kita melaksanakan enjin carian kami sendiri.
Mari kita melakukannya seperti berikut. Berikut adalah tag borang.
Sifat tindakan menyatakan bahawa apabila pengguna mengisi borang ini
dengan keyboard mereka, ia akan diserahkan ke URL ini di sini.
Jadi saya jenis menipu. Ia akan membawa kita sedikit lagi
daripada satu kelas untuk melaksanakan seluruh enjin carian,
jadi kita hanya akan melakukan akhir hadapan, jadi untuk bercakap.
Kami akan melakukan bahagian yang membolehkan carian pengguna, dan kita akan menyusun menyepak bola ke Google
bahagian keras mencari hasil carian,
tetapi, khususnya, saya akan bercakap kepada pelayan web Google
menggunakan salah satu daripada dua kaedah yang sangat popular.
Satu sedang mendapatkan, yang lain, yang akhirnya kita akan melihat, pos,
walaupun ada orang lain yang kurang kerap digunakan.
Jadi mendapatkan hanya conjures sehingga idea, saya mahu mendapatkan beberapa kandungan, dapatkan beberapa keputusan carian.
Ini, anda mungkin boleh meneka apa yang ini tidak.
Ini adalah beberapa jenis input, ia, pada hakikatnya, pergi kelihatan seperti medan teks,
dan nama input itu, nama pembolehubah itu, jadi untuk bercakap,
akan Q bagi pertanyaan oleh konvensyen.
Dan sekali lagi, jenis input ini tidak akan menjadi kotak semak;
ia tidak akan menjadi menu; ia akan menjadi medan teks
seperti yang ditandakan oleh sifat ini di sini, dan ini kotak teks,
seperti baris, sama ada ada atau tidak.
Jadi kita mempunyai elemen kosong dengan slash dalam tag yang.
Kemudian saya akan meletakkan baris, dan anda boleh, mungkin, rasa apa ini akan lakukan.
Ini merupakan satu lagi jenis input borang.
>> Yang satu ini akan digunakan untuk mengemukakan borang.
Jadi ini akan menjadi butang besar bahawa pengguna boleh klik untuk menyerahkan borang,
dan label pada butang yang akan menjadi 'CS50 Cari.'
Borang Tutup, badan dekat, dekat HTML.
Mari kita lihat apa yang kita ada dalam bentuk laman web ini.
Jadi biarlah saya pergi ke pelayar saya,
izinkan saya pergi, masih, untuk menjadi tuan rumah tempatan.
Ini masih index.html, jadi jika saya mahu melihat fail ini dipanggil search0,
Saya hanya boleh melakukan / search0.html, masukkan -
dan pertama kesilapan saya.
Apa yang berlaku? Saya jelas tidak mempunyai kebenaran
untuk mengakses fail ini, atas sebab-sebab tertentu.
Tetapi itulah kerana, tidak seperti kerja kita telah dilakukan setakat ini di C,
mana program anda menulis diandaikan menjadi runable oleh anda,
laku oleh anda, yang tidak benar-benar kes itu di Web,
di mana kadang-kadang anda mungkin mahu untuk mencipta fail pada pelayan,
tetapi anda tidak mahu seluruh dunia dapat melihat mereka.
Sebaliknya, anda mahu dunia melihat beberapa fail
tetapi tidak lain, hanya demi privasi ini.
Jadi ia adalah lebih asas dalam memilih apabila anda melakukan perkara-perkara di Web.
Dan sebagainya biarlah saya sebenarnya menaip ls sini,
dan anda melihat fail-fail saya, tetapi ingat bahawa jika saya lakukan ls-l lama,
Saya akan mendapatkan senarai lagi yang memberikan saya beberapa lebih banyak butiran mengenai fail
yang kini, benar-benar, untuk pertama kalinya relevan kepada kita.
Perhatikan bahawa di sebelah kanan jauh adalah nama-nama fail-fail saya,
dan kemudian masa di mana mereka telah diubah buat kali terakhir atau disalin.
Ini nombor di sini ialah apa? Adakah anda ingat?
Saiz dalam bait, berapa besar fail.
>> Jadi, saya seolah-olah mempunyai beberapa jenis logo di sini yang lebih besar daripada semua fail lain.
Ini adalah siapa saya, ini adalah apa yang saya dan apa yang kumpulan saya masuk
Tetapi kemudian, di sini di sebelah kiri adalah sedikit urutan samar,
dan kita bercakap, saya fikir, secara ringkas tentang perkara ini pada masa lalu,
tetapi ini mempunyai kaitan dengan kebenaran.
Dan walaupun itulah sedikit kabur,
RW mungkin bermakna membaca & menulis.
Jadi ia ternyata bahawa sengkang ini menandakan set berbeza keizinan bagi orang yang berlainan.
Dan corak adalah, pada asasnya, seperti berikut.
Apabila anda melihat urutan sengkang di sini, mereka kelihatan seperti berikut.
Ada sengkang, maka terdapat tiga lagi sengkang,
maka terdapat tiga lagi, maka terdapat tiga lagi.
Yang pertama adalah sama ada melontarkan atau iklan itu bagi direktori.
Supaya satu adalah agak mudah. Jika ia adalah folder, ia berkata d, sebaliknya ia sempang.
Ada beberapa kes lain, tetapi sekarang ini kita hanya akan mengambil berat tentang fail dan direktori.
Ini seterusnya tiga sengkang - dan saya telah tiruan dimasukkan ruang.
Mereka adalah, jelas, tidak ada apabila kita melihat mereka seketika lalu.
Ini adalah kebenaran pemilik fail,
dan ingat dari lalu kedua bahawa ia telah membaca & menulis.
Itu adalah kerana saya, sebagai orang yang mencipta fail ini masa lalu,
Saya, hanya dengan lalai, pada komputer Linux,
mempunyai keupayaan untuk terus membaca dan menulis fail tersebut.
>> Jadi sistem operasi hanya memberikan saya RW secara automatik.
Orang-orang pertengahan berkaitan kepada kumpulan saya, bahawa pelajar,
yang adalah jenis bermakna perkakas kerana saya orang yang hanya menggunakan perkakas.
Jadi biarlah saya hanya gelombang tangan saya pada itu buat masa sekarang.
Tetapi orang-orang yang terakhir adalah yang paling penting untuk Web.
Ini adalah orang lain di dunia, dan fakta
bahawa --- bermakna bahawa tidak ada orang lain di dunia
mempunyai apa-apa keizinan untuk fail ini.
Jelas sekali masalah, jadi saya perlu untuk menetapkan ini
oleh entah bagaimana memberikan dunia apa? Membaca & menulis?
Itulah mungkin bodoh, kan? Saya tidak mahu sesiapa di Web
untuk pergi untuk melawat halaman saya dan entah bagaimana menukar fail tersebut,
walaupun mereka benar-benar tidak boleh dengan fail HTML,
tetapi hanya pada prinsipnya, mungkin hanya mahu mereka dapat membacanya.
Apakah maknanya untuk membacanya? Ia tidak bermakna mereka akan mengambil berat tentang HTML sebenar,
tetapi pelayar perlu mampu untuk menghuraikan bahawa bahasa markup,
atas ke bawah, kiri ke kanan.
Jadi seseorang di Web perlu mampu untuk membaca, jadi saya minimum perlu untuk memberikan r.
Boleh saya lakukan ini dalam beberapa cara yang berbeza, tetapi mungkin
yang paling mudah adalah untuk menjalankan arahan ini di sini.
Chmod, perubahan mod, maka r + jadi semua semua orang, di dunia + baca,
dan kemudian nama fail, search0.html.
>> Sekarang, jika saya melakukan ls-l lagi, notis bahawa fail yang telah berubah,
dan sesungguhnya, saya telah dihidupkan r untuk semua orang.
Saya juga berpaling ia bagi kumpulan saya, tetapi itulah denda,
kerana jika saya bertukar di atas untuk semua orang, kumpulan saya adalah subset itu.
Jadi itulah denda juga. Ini hanya bermakna komputer kini telah menjadikan ia boleh dibaca.
Sekarang mari saya pergi kembali ke penyemak imbas saya, klik reload.
Ah-ha. Kami kini mempunyai CS50 Search.
Saya telah dizum dalam sedikit tiruan - enjin carian cukup mengerikan.
Tetapi mari kita lihat jika ia benar-benar berfungsi.
Pertama, izinkan saya lakukan cek kewarasan cepat, biarlah saya mengawal klik dan melihat sumber halaman.
Perhatikan bahawa dalam Chrome kita sedang melihat HTML yang sama bahawa saya sendiri dicipta.
Tidak terkeliru di sini, walaupun. Saya tidak boleh mula menukar kod itu di sini,
kerana pelayar mempunyai pandangan baca sahaja kod ini.
Pelayar baru sahaja ditanya hos tempatan untuk fail yang dipanggil search0.html.
Ia kini kebetulan tulen bahawa perkakas
berlaku untuk menjadi pada komputer yang sama sebagai pelayar saya.
Saya hanya boleh mempunyai, setara, telah ditaip dalam www.facebook.com/search0.html,
dan jika Facebook mempunyai fail yang dipanggil bahawa, saya kemudian akan melihat HTML mereka.
Dan, sudah tentu, saya tidak boleh menukar fail yang datang kembali dari Facebook, sama ada.
Jadi sekarang kita jenis kabur garisan.
Perkakas adalah kedua-dua pelayan, berkhidmat sehingga laman web,
tetapi ia juga pelanggan dalam erti kata bahawa saya menggunakan pelayar
untuk benar-benar bercakap dengan pelayan itu.
Jadi mari kita lihat jika enjin carian Google saya bekerja.
Biar saya pergi ke hadapan dan mencari untuk cepat coklat musang, masukkan.
Dan Voilà, saya kini mempunyai enjin carian saya sendiri.
>> Tetapi bagaimana ini berfungsi?
Bit regangan, tetapi - dan sekarang anda tidak boleh lihat, tepat, bahagian itulah kepentingan.
Perhatikan apa yang berlaku.
Notis URL. Ia ternyata bahawa kaedah itu,
dipanggil mendapatkan, adalah super mudah.
Apabila anda nyatakan dalam bentuk yang anda mahu untuk 'mendapatkan' hasil dari pelayan beberapa,
apa yang ia akan lakukan ialah mengambil apa sahaja yang anda taip ke dalam borang
dan meletakkan ia dalam URL.
Ia akan menyeragamkan bagaimana ia mendapat dimasukkan ke dalam URL seperti berikut.
Perhatikan bahawa ini adalah URL yang merupakan nilai atribut tindakan saya.
Itulah di mana saya mahu bentuk akhirnya.
Tetapi kemudian notis ini tanda tanya.
Ini adalah konvensyen di Web di mana untuk menyediakan input pengguna
ke laman web, anda melampirkan kepada URL tanda tanya,
dan kemudian anda mempunyai sekumpulan keseluruhan pasangan key-nilai.
Nama kunci, atau dikenali sebagai parameter dalam Web,
maka anda mempunyai tanda yang sama, maka anda mempunyai nilai parameter itu.
Jadi ia adalah asasnya nama pembolehubah dan nilai yang berubah-ubah,
tetapi nama dan nilai-nilai mereka pembolehubah datang dari bentuk HTML.
Mengapa plus sana, adakah anda fikir?
Kerana saya tidak menaip + di antara kata-kata saya.
[Pelajar, difahami]
>> Ya, ia adalah hanya untuk jarak. Kemungkinan adalah, apabila anda telah melihat URL,
tidak pernah ada mana-mana ruang di dalamnya, jika hanya kerana
jika ada, anda boleh tidak benar-benar menyalin dan tampalkannya
ke IM atau ke dalam e-mel kerana ia akan memecahkan.
Anda mahu segala-galanya untuk menjadi satu rentetan berdampingan aksara.
>> Jadi pelayar adalah cukup bijak untuk menyedari, UH-UH.
Jangan hanya meletakkan ruang di sana. Biar saya mengekod ruang dalam beberapa cara standard.
Salah satu konvensyen untuk berbuat demikian adalah untuk mempunyai pelayar
secara automatik meletakkan + mana anda sebaliknya akan mempunyai ruang.
Jadi sekarang, notis Google telah jenis user-friendly.
Saya pasti tidak mencipta halaman web ini,
tetapi mereka telah prepopulated medan teks mereka sendiri
dengan apa, tepat, saya menaip masuk
Katakan saya ingin mencari untuk sesuatu yang lain, seperti anjing malas.
Saya hanya boleh menaip ini di sini, carian semula.
Perhatikan bahawa URL perubahan di sini,
tetapi notis kemudian bahawa saya sebenarnya boleh mencari apa-apa yang saya mahu
hanya dengan memahami bagaimana kerja URL.
Saya boleh melakukan kucing malas, masukkan,
dan notis sekarang Saya mendapat sangat malas - harus kita? Saya rasa seperti kita sepatutnya.
Saya mendapat kucing yang sangat malas.
Semua hak. Ini adalah salah satu perkara-perkara bodoh yang kita lakukan.
Tetapi itu adalah kucing yang malas.
Walau bagaimanapun, apa yang Fleet utama di sini?
Sekarang kita berada jenis bermain dalam dunia HTTP.
HTML adalah hanya ini bahasa markup, tag terbuka, tag penutup,
yang memberitahu pelayar bagaimana untuk menjadikan kandungan pada laman web.
Tetapi apabila anda mula menghantar data di Internet
antara pelayar web dan pelayan, yang mana protokol ini
dikenali sebagai Protokol Pemindahan Hiperteks mengambil alih.
Ini adalah jenis konvensyen manusia; apabila Sam dan saya berjabat tangan pada hari Isnin,
memulakan sambungan dan kemudian menutup sambungan, idea yang sama di sini.
Bagaimana hasil Google datang kembali kepada saya?
Bagaimana penghantaran borang saya pergi ke Google?
Nah, ingat dari hari lain bahawa apa yang benar-benar berlaku
di bawah hood apabila anda meminta laman web,
pelayar anda menghantar mesej agak-samar seperti
GET / HTTP/1.1 untuk halaman rumah lalai.
>> Atau, dalam kes ini, kerana saya diminta secara khusus awal
search0.html, ini maka akan menjadi mesej yang agak-samar
bahawa pelayar saya menghantar kepada perkakas.
Atau, dalam kes ini Google, apa yang sebenarnya dihantar
adalah permintaan untuk / carian, dan kemudian? q = kucing malas, dengan ditambah ada.
Jadi mesej ini, bahawa saya, manusia, saya tidak pernah menaip,
tetapi dihantar oleh pelayar saya, ini adalah bagaimana HTTP berlaku.
Ini adalah bersamaan dengan tangan kami setelah digoncang.
Ini adalah permintaan, dan pelayan untuk menghantar jawapan.
Jadi mari kita lihat ini di bawah hood.
Seperti sebelum ini, kita boleh membuka bidang ini khas dalam pelayar.
Lihat halaman, memeriksa unsur-unsur.
Jadi di bawah memeriksa elemen, notis bahawa apa yang berlaku dalam Chrome,
dan IE dan Firefox mempunyai mekanisme yang sama,
kita mempunyai alat-alat pemaju diakses kepada kami.
Orang biasa tidak menggunakan tab ini.
Tetapi kita, sekarang, berminat dalam apa yang berlaku di
di bawah hud di peringkat rangkaian.
Jadi jika saya tarik sehingga tahap rangkaian di sini,
biarkan saya pergi ke hadapan dan mengembangkan tetingkap ini,
membuka entri ini di sini, dan melihat tajuk.
Jadi apa yang berlaku apabila saya meminta fail dari pelayan web
adalah pelayar saya menghantar sekumpulan keseluruhan perkara.
Dan biarlah saya melihat sumber. Demikian di bawah header permintaan,
dan ini hanya Chrome menunjukkan saya beberapa output diagnostik,
jenis seperti penyahpepijat sejenis,
notis bahawa apa yang saya telah diketengahkan di sini adalah tepat apa
Chrome menghantar kepada pelayan untuk meminta fail yang dipanggil search0.html.
Ia memberitahu pelayan apa yang difikirkan namanya,
terima kasih untuk bidang ini kolon tuan rumah, maka ada beberapa
barangan agak esoterik di sini, seperti melakukan sesuatu dengan tarikh dan masa,
untuk melakukan sesuatu dengan bahasa yang pelayar memahami,
tetapi garis yang benar-benar penting adalah kedua-dua pertama di sini.
>> Apakah pelayan bertindak balas dengan? Nah, jika kita tatal ke bawah sini
dan melihat punca perkara ini, notis bahawa pelayan
telah bertindak balas dengan mesej yang agak samar serta, 304 tidak diubahsuai.
Itulah sedikit pelik, izinkan saya sebenarnya cuba untuk menetapkan ini.
Biar saya tahan shift dan klik reload di sini
untuk memaksa pelayar untuk benar-benar membuat permintaan ini untuk kali pertama.
Maka biarlah saya mengezum masuk, dan kita akan melihat kini bahawa tindak balas pelayan,
kerana saya memegang anjakan, 200 OK.
Jadi anda mungkin pernah melihat nombor 200
dalam konteks Web, tetapi apa yang nombor
adakah anda kadang-kadang dilihat tidak disangka-sangka dari pelayan?
404, fail tidak dijumpai; 403, diharamkan; 500, ralat pelayan.
Jadi terdapat kod berangka bahawa dunia menggunakan Web
untuk menandakan kesilapan, sama seperti fungsi C
boleh kembali kesilapan dan utama boleh kembali kod keluar.
200, walaupun, anda jarang melihat kerana ia bermakna semua adalah baik.
Dan 304 anda mungkin tidak pernah melihat kerana apa yang ia menandakan?
Bahawa apa-apa yang mempunyai - mari kita lihat jika kita boleh meniru ini lagi -
Oh, sekarang ia tidak bekerjasama. 304 berkata tidak diubah suai,
jadi mengapa pelayan walaupun bertindak balas?
Nah, untuk kecekapan, pelayan web secara automatik untuk anda,
jika fail tidak berubah, ia tidak akan menghantar semula keseluruhan fail HTML.
Ia hanya akan memberitahu pelayar ia telah tidak berubah.
Hanya menggunakan salinan anda sudah mempunyai.
Jadi ada idea ini caching pada Web
prestasi, supaya anda tidak membuang masa dan bandwidth sisa
memuat turun fail sekali lagi dan sekali lagi tidak perlu.
>> Tetapi, kini, laman web ini adalah super mudah,
dan ia hanya menunjukkan kepada saya HTML yang datang kembali.
Mari kita sebenarnya menggunakan tab rangkaian sekarang untuk melakukan carian Google seperti cepat coklat musang.
Mari saya kemudian klik CS50 carian,
dan sekarang, notis di bawah sini sekumpulan keseluruhan barangan pulang
kerana apabila saya melawat laman web sebenar seperti Google.com,
mereka mempunyai imej, mereka mempunyai teks, mereka mempunyai bahasa yang dipanggil JavaScript sana.
Jadi setiap baris dalam jadual ini turun di sini
mewakili sesuatu yang Google meludah keluar sebagai tindak balas kepada permintaan tunggal saya.
Yang saya mengambil berat tentang, walaupun, adalah satu ini pertama.
Dan jika saya pergi ke carian, permintaan, klik melihat sumber di sini,
notis bahawa, sesungguhnya, mesej samar yang pelayar saya menghantar
Google adalah kedua-dua baris di sini,
diikuti oleh beberapa maklumat batin turun di sini yang kita akan mengabaikan sekarang.
Tetapi notis, terlalu, apa Chrome adalah agak berguna dengan,
ia juga menunjukkan saya string query yang telah dihantar masuk
Jadi, bukannya menunjukkan kepada saya ini, yang benar-benar telah menghantar,
jika saya melihat ia dinyahkod, Chrome, hanya untuk tujuan debugging,
untuk pemaju seperti kami, ia hanya menunjukkan saya versi mesra manusia -
yang tidak adalah bagaimana anda mengeja musang, nampaknya.
Saya hanya perasan ini sekarang - tetapi ia menunjukkan anda apa yang saya, nampaknya, ditaip.
Sementara itu, sambutan yang pulang dari pelayan lagi 200 OK.
Tetapi dimasukkan dalam sambutan itu, sudah tentu,
jika kita benar-benar melihat halaman HTML -
maaf, ini adalah jalan pintas keyboard sedikit pergi jauh menyimpang hari ini.
>> Saya akan berurusan dengan ini kemudian. Jadi, jika kita benar-benar melihat sumber halaman,
yang boleh saya lakukan di sini dengan mengklik sambutan,
ini adalah apa yang sebenarnya meludah kembali, di samping bahawa mesej samar 200 OK dari pelayan.
A sedikit samar, tetapi di mana semua ini datang dari?
Nah, mari kita melakukan satu perkara lain di sini. Satu lagi arahan agak samar,
tetapi jenis ini satu kemas dalam bahawa ia mendedahkan kepada kita apa sebenarnya yang berlaku di bawah hood.
Jadi saya kembali pada Mac saya di sini, saya telah disambungkan
melalui program yang dipanggil SSH, Shell selamat, ke pelayan lain
kerana kebanyakan komputer Harvard menghalang perintah kami kira-kira untuk menjalankan
kerana ada perintah ini pada beberapa pelayan dipanggil traceroute
yang membolehkan anda untuk mengesan laluan antara titik a dan b,
dan setakat ini kita telah mengambil sepenuhnya untuk diberikan
bahawa saya boleh menaip dalam Google.com dan entah bagaimana mendapatkan data kembali
dari pertengahan di seluruh negara atau pertengahan di seluruh dunia.
Dengan traceroute kita sebenarnya boleh menyelam dalam sedikit lebih mendalam
bagaimana internet berfungsi, dan lihat apa yang berlaku di bawah hood.
Jadi mari kita pergi ke hadapan dan sewenang-wenangnya mengesan laluan kepada, berkata, Stanford.edu,
yang di seluruh negara, dan tekan enter.
Arahan ini boleh menjadi super cepat atau super perlahan,
tetapi apa yang kita lihat sekarang, baris demi baris,
adalah setiap salah satu daripada langkah-langkah atau hop antara kami dan Palo Alto, atau Stanford,
di mana mereka mempunyai pelayan web mereka.
Jadi apakah setiap ayat-ayat ini mewakili lebih kukuh, walaupun?
Sekeping jargon dari Internet? [Pelajar, difahami]
>> Apa itu? [Pelajar, difahami]
>> Oh, jadi terdapat banyak kali, tetapi apakah setiap baris - apa yang saya maksudkan dengan hop?
>> Nah, terdapat perkara-perkara ini di Internet yang dipanggil router.
Dan router, seperti namanya, maklumat laluan dari titik ke titik b.
Tetapi terdapat beberapa tempat di luar a dan b.
Terdapat c dan d dan e dan f antara baris 1,
yang berlaku untuk menjadi alamat IP komputer saya,
atau alamat berangka saya, yang unik mengenal pasti komputer saya,
dan langkah 15, yang sebenarnya adalah pelayan web keenam,
nampaknya, yang saya membuat kesimpulan daripada ini, atau versi 6 pelayan web mereka di Stanford.
Tetapi apa jenis kemas adalah, kita dapat melihat jalan
itulah 0 saya dan 1 yang mengambil dari komputer saya ke Stanford.
Jadi langkah 1 adalah alamat komputer saya sendiri.
Setiap komputer di Internet mempunyai pengecam unik yang kelihatan seperti ini.
Number.number.number.number.
Tempat di kampus ini, mungkin di pusat sains,
router dipanggil Teras Gateway 2-te83, apa yang bermakna,
jadi ini adalah salah satu router besar Harvard mewah bahawa laluan banyak trafik mereka.
Berikut adalah satu lagi router Harvard, yang satu ini adalah Gerbang Sempadan,
makna sempadan ia mungkin di pinggir kampus tempat.
Kemudian ada NOx satu, baris 4, yang merupakan Crossroads Utara,
yang merupakan ISP besar, Pembekal khidmat Internet,
bahawa tempat-tempat seperti Harvard menyambung sehingga.
Tetapi kemudian perkara mendapatkan sedikit menarik di baris 6.
Di manakah bit saya tiba-tiba? Kansas.
Dunia mempunyai tabiat menggunakan kod lapangan terbang dalam banyak perkara-perkara ini,
atau sekurang-kurangnya singkatan bagi negeri-negeri atau bandar-bandar,
jadi ia kelihatan seperti, dalam hanya 60 ms,
paket maklumat, 0 dan 1 dari komputer riba saya
mendapat semua cara ke Kansas, dan sekali lagi, dalam 60 ms.
>> Selain itu, selepas Kansas, mereka mengambil lawatan melalui Houston, mungkin,
seperti yang dicadangkan oleh nama pelayan ini.
Jadi hanya sebagai pelayan di Internet mesti mempunyai alamat berangka,
ia juga boleh, pilihan, mempunyai alamat yang lebih mesra manusia bahawa manusia datang dengan.
Sekarang, dalam 8 langkah, kita tidak tahu apa ini.
Kadang-kadang hanya router jenis mengabaikan anda,
dan mereka hanya tidak menjawab soalan, jadi itulah denda.
Satu selepas 8 langkah nampaknya mana? LA
Notis dalam hanya 78 ms, apa yang membawa kita manusia seperti 6 + jam untuk melakukan secara fizikal,
mengambil paket maklumat di Internet 78 ms untuk perjalanan yang jauh.
Langkah 10 adalah di LA juga, dan langkah 11 seolah-olah telah hilang utara, berhampiran Stanford.
Ini adalah router sempadan mereka, atau router sempadan.
Satu langkah beberapa di Stanford yang mengabaikan kita,
dan akhir sekali, kita mencapai pelayan web hanya dalam 87 ms.
Sekarang, semua nombor-nombor ini, sebagai diketepikan,
hanya memberitahu anda berapa lama ia mengambil masa untuk data untuk mendapatkan dari saya
kepada setiap router ini, dan ia tidak terkumpul.
Apa program ini tidak, ia mula-mula menghantar mesej, pada dasarnya, router pertama.
Kemudian satu router kedua; kemudian satu router ketiga,
mengukur setiap kali. Jadi dalam teori, kali ini akan berkembang
atau sekurang-kurangnya cukup dekat antara satu sama lain,
dan, sememangnya, orang-orang yang betul di sini di kampus adalah super kecil.
Sebaik sahaja anda mula pergi di seluruh negara, ia mengambil data
sedikit lagi untuk perjalanan, lebih dekat kepada 100 ms, memberi atau mengambil.
Tetapi mari kita pergi ke arah lain sekarang. Bagaimana kira-kira Universiti Cambridge di UK?
Biar saya bukannya menjalankan traceroute www.cam untuk Cambridge,
Ac untuk akademik, uk, dan tekan enter di sini.
Itu adalah agak sialan pantas.
Data saya benar-benar pergi ke Cambridge, England, dalam perpecahan yang kedua masa.
>> Jadi mari kita melihat jalan yang ia mengambil masa.
Harvard, Harvard, Harvard, Crossroads Utara,
yang ISP, dan kemudian ini adalah Crossroads Utara, dan kemudian BAM.
Apakah di antara langkah 6 dan 7, router 6 dan 7?
Lautan Atlantik. Dan kami membuat kesimpulan ini daripada fakta bahawa
kita pergi dari 20 ms sini hingga 80 ms di sini.
Jadi sesuatu yang mengambil 60 ms, memberikan atau mengambil, untuk mendapatkan lebih.
Dan yang mungkin badan air yang besar.
Apa yang berlaku selepas itu? Nah, di sini kita berada di London,
hanya 88 ms kemudian. Lebih London, lebih London,
tidak pasti di mana ini, tetapi kita akan menganggap ia adalah di luar London,
Cambridge di sini, dan akhirnya kita - secara literal, University of Cambridge
. Something.net, dan kemudian, akhirnya, di baris 16,
pelayan web mereka nampaknya dipanggil Scorpius
di bawah hood, walaupun kita tahu ia sebagai www.
Jenis fikiran-bertiup, saya fikir. Kali pertama saya pernah melakukan ini, ia benar-benar meniup fikiran saya.
Malangnya, Harvard menghalang jenis ini trafik, biasanya, pada rangkaian.
Jadi anda tidak boleh melakukannya super mudah.
Sedar, walaupun, ini di sini adalah mungkin.
Semua hak. Mari kita rehat 5-minit kami di sini. Kita akan kembali dan menyelam di lebih mendalam.
Jadi kita kembali, dan kita telah jenis ambled dalam arah yang berbeza sedikit di sini.
Jadi mari kita meringkaskan apa yang telah berlaku di sini.
Kami memulakan perbualan bercakap tentang bahasa ini dipanggil HTML.
Sekali lagi, tidak satu bahasa pengaturcaraan. Ia hanya bahasa markup
yang sebahagian besarnya adalah tentang estetika dan penstrukturan kandungan dalam bentuk laman web.
Tetapi HTML, oleh itu, memerlukan beberapa jenis mekanisme
untuk perjalanan antara pelayar web dan pelayan.
HTML itu jenis tunggangan di atas bahasa ini lain,
atau lebih betul, protokol, yang dikenali sebagai HTTP.
>> Dan HTTP, seperti yang kita telah melihat setakat ini,
adalah jenis mirip kepada konvensyen ini manusia berjabat tangan.
Apabila pelayar mahu meminta halaman daripada pelayan,
ia menghantar bahawa "mendapatkan" permintaan dari pelayar ke pelayan,
dan kemudian pelayan bertindak balas dengan nombor seperti 200, semua okay,
serta HTML atau beberapa nombor buruk seperti 404, Fail tidak dijumpai.
Tetapi Sementara itu, HTTP sendiri tidak Internet, per se.
HTTP hanya perkhidmatan, ciri Internet
banyak seperti G berbual adalah perkhidmatan yang lain, sama seperti e-mel adalah perkhidmatan lain.
Terdapat pelbagai perkara yang boleh kita lakukan di Internet.
HTTP adalah hanya salah satu daripada aplikasi.
Jadi di atas - HTTP adalah di atas sesuatu yang lain
yang kita tidak menyebut nama, anda mungkin telah mendengar dengan nama, TCP IP /.
Jadi kisah kita hanya memberitahu terdapat adalah semua tentang
bagaimana data bergerak dari satu titik ke titik b.
Dan dalam kes ini, kita melihat pada tahap yang sangat rendah
router ke router ke router ke router,
bagaimana data sebenarnya sedang dihantar.
Tetapi di sepanjang jalan, ia akan menghadapi pelbagai halangan.
Selain router ini, terdapat perkara-perkara yang dipanggil firewall di Internet,
dan sebagainya data, seperti yang kita hanya menghantar
dari saya untuk Stanford, dari saya untuk Cambridge,
dihantar, pada peringkat ini, sesuatu yang dipanggil alamat IP.
Kami melihat ini masa lalu, dan alamat IP
adalah hanya alamat berangka w.x.y.z bentuk,
mana semua ini merupakan antara, memberikan atau mengambil, 0 dan 255,
walaupun anda tidak boleh agak menggunakan semua nombor-nombor tersebut.
Tetapi setiap pemegang tempat nombor di antara 0 dan 255.
Jadi alamat IP pada hari ini adalah 32-bit.
>> Sekarang, yang memberikan kita alamat IP berapa banyak mungkin di dunia?
Kira-kira 4 bilion, kerana bila-bila masa yang kita sedang mengira dalam kuasa 2
sepanjang jalan sehingga kepada 32 sesuatu, yang biasanya memberikan kita 4 bilion.
Jadi itulah banyak alamat IP, tetapi anda mungkin telah membaca,
atau kini anda mungkin notis dalam akhbar popular,
menolak ke arah versi baru IP dipanggil IPv6.
Sekarang kita sedang menggunakan versi 4.
Ada benar-benar tidak menjadi versi 5, kami hanya melompat hak ke 6.
Versi 6 akan menggunakan 128 bit alamat IP, yang freaking besar.
Kita tidak harus kehabisan untuk sekian lama kini,
tetapi kita telah mula kehabisan alamat IP versi 4,
kerana kita semua mempunyai bukan sahaja perkara-perkara seperti komputer riba dan desktop,
banyak daripada kita mempunyai telefon, banyak kita mempunyai peranti lain
seperti TiVo dan seperti yang mempunyai alamat IP sendiri.
Harvard sendiri mempunyai puluhan ribu komputer.
Jadi dunia ini benar-benar kehabisan alamat IP, sekurang-kurangnya borang ini.
Jadi, dalam tempoh beberapa tahun akan datang, anda akan melihat alamat
pada komputer anda sendiri mungkin perlahan-lahan menukar
sebagai lebih dan lebih banyak syarikat dan universiti mula menyokong versi yang lebih baru.
Tetapi alamat IP tidak mencukupi untuk komputer meminta data dari komputer b.
Kerana komputer b boleh menjadi pelayan,
dan pelayan, seperti yang saya nyatakan sebelum ini, boleh melakukan tandan perkara.
Ia boleh menjadi tuan rumah laman web, ia boleh menjadi pelayan e-mel,
ia boleh menjadi pelayan Skype, ia boleh menjadi pelayan G sembang.
>> Semua perkhidmatan ini berbeza yang boleh diperuntukkan pada pelayan
semua boleh, fizikal, pada mesin yang sama.
Jadi di samping kepada alamat IP,
dunia mempunyai perkara-perkara yang dipanggil pelabuhan di Internet.
Pelabuhan adalah hanya beberapa, jadi terdapat nombor unik untuk HTTP.
Nombor ialah 80.
HTTP juga menggunakan nombor 443, tetapi lebih khusus, untuk HTTPS disulitkan.
Apabila anda melihat s, untuk selamat, yang menggunakan nombor yang berbeza.
Terdapat nombor lain, seperti 25, yang digunakan untuk sesuatu yang dipanggil SMTP, atau dikenali sebagai e-mel.
Ada sesuatu yang dipanggil 22 untuk SSH,
dan ada sekumpulan keseluruhan pelabuhan-pelabuhan lain di luar sana.
Sekarang, kita manusia jarang melihat nombor-nombor ini.
Walau bagaimanapun, apabila anda menaip alamat seperti http://www.facebook.com,
pelayar rahsia memasukkan 80, kerana anda sedang menggunakan HTTP.
Jika anda, sebaliknya, HTTPS jenis, ia diam-diam memasukkan 443.
Dan kita boleh jenis melihat ini secara manual jika saya tarik sehingga Brower
dan pergi ke http://www.facebook.com:80.
Oleh itu jelas tidak memetik hanya nama laman web
tetapi pelabuhan yang saya mahu bercakap dengan, dan tekan enter.
Perhatikan ia hilang, kerana pelayar mengandaikan,
oh, 80, saya tidak akan mengganggu menunjukkan bahawa kepada anda.
Tetapi sebab untuk ini adalah bahawa jika saya benar-benar mahu menghantar seseorang e-mel,
Saya benar-benar akan menghantarnya kepada mereka pada port 25, yang menjadi SMTP.
Sedikit daripada melampaui batas, tetapi sesetengah daripada anda mempunyai rakan-rakan
yang sebenarnya bekerja di Facebook, dan mereka, sama, mempunyai pelayan yang menerima e-mel.
>> Bila-bila masa anda menghantar e-mel, apakah gmail lakukan untuk anda
atau Outlook atau apa sahaja program yang anda gunakan,
ia adalah jenis rahsia memasukkan nombor yang baik, 25, dalam kes itu.
Ia adalah gabungan ini alamat IP dan nombor unik yang mengenalpasti
komputer di Internet dan perkhidmatan tertentu pada komputer itu.
Kini, sudah tentu, kebanyakan kita telah mungkin tidak pernah ditaip manual alamat IP.
Mungkin anda mempunyai perkakas, tetapi dalam dunia sebenar, tidak begitu banyak.
Mengapa kita tidak menaip alamat IP ke dalam pelayar?
Ia akan bekerja, pada hakikatnya, kita boleh melihat ini, izinkan saya menunjukkan kepada anda
satu perintah lain yang perlu bekerja yang paling mana-mana sahaja di kampus Harvard pada Mac atau PC.
Ada perintah ini dipanggil nslookup, nama pelayan lookup.
Jika saya melihat sehingga www.cnn.com, ia ternyata bahawa CNN - oh, menarik.
CNN telah mula menggunakan Amazon perkhidmatan web.
Anda mungkin tahu awan pengkomputeran, salah satu pemain besar dalam perkomputeran awan Amazon.
Apa yang saya hanya lakukan ialah, saya berkata, 'Berikan saya alamat pelayan web CNN,'
tetapi ternyata bahawa pelayan web CNN diuruskan oleh Amazon,
Amazon perkhidmatan web, ini menunjukkan.
Dan alamat pelayan itu ini di sini.
Jadi saya tidak pasti jika ini akan bekerja, kerana mereka tidak digunakan untuk menggunakan Amazon.
Tetapi mari kita cuba ini; http://, alamat IP, masukkan, dan -
ia pergi ke tempat kerja?
Ya. Ia akan bekerja. Internet adalah super lambat hari ini.
Tetapi, dalam masa, anda akan melihat beberapa berita.
Terdapat kita pergi. Bank of America disaman. Semua hak.
>> Ini adalah kerana ini alamat IP hanya berlaku oleh sinonim dengan www.cnn.com.
Sudah tentu, ia akan menjadi pemasaran dahsyat untuk mengatakan, layari laman web kami di Web di 50.112.94.127.
Anda tidak akan ingat. Jadi, walaupun hari ini anda mungkin ingat perkara-perkara
seperti 1-800-COLLECT atau mnemonik dunia datang dengan nombor telefon.
Yang, sebelum telefon bimbit, agak sukar untuk ingat
sehingga anda hanya boleh menaip dalam dan melupakannya.
Jadi Web, juga, mempunyai konvensyen ini nama dan alamat IP,
dan terdapat perkara-perkara ini di luar sana yang dipanggil pelayan DNS,
sistem nama domain pelayan, yang menterjemahkan alamat IP ke nama dan sebaliknya.
Supaya apa yang berlaku di bawah hood.
Pada akhirnya, kita mempunyai TCP / IP, yang ini protokol sangat rendah tahap
bahawa, benar-benar, hanya mendapat 0 dan 1 di Internet,
dan ia berbuat demikian dengan meletakkan mereka ke dalam sampul surat yang maya,
jika anda akan, dan menulis di luar sampul surat
alamat IP destinasi, serta nombor port angka
perkhidmatan pada destinasi bahawa ia mahu untuk bercakap.
Sementara itu, pada sampul surat terdapat juga sesuatu yang dikenali sebagai alamat kembali,
yang alamat IP anda, supaya apabila CNN mendapat paket maklumat daripada anda,
membuka sampul surat maya ini, melihat bahawa anda mahu halaman rumah,
ia tahu dari bahagian pengirim sampul surat maya ini siapa untuk menghantar kembali HTML.
Jadi mari kita lihat ini dalam sedikit lebih terperinci.
Ini adalah dari sebuah syarikat yang dipanggil Ericson, dari beberapa tahun lalu.
Dan mereka mengambil beberapa kebebasan dengan bagaimana Internet sebenarnya berfungsi,
tetapi ia cat gambar yang lebih visual daripada kapur semata-mata di sini.
Jadi saya memberi anda "A Bit Internet."
>> [Pencerita] Untuk pertama kalinya dalam sejarah,
rakyat dan jentera bekerja bersama-sama, merealisasikan impian.
Satu pasukan menyatukan yang tidak mengenal sempadan geografi.
Tanpa mengambil kira bangsa, agama, warna atau.
Satu era baru di mana komunikasi yang benar-benar membawa rakyat bersama-sama.
Ini adalah
Dawn of Net.
Ingin tahu bagaimana ia berfungsi? Klik di sini untuk memulakan perjalanan anda ke Internet.
Kini, apa yang berlaku apabila anda klik pada pautan itu?
Anda mula aliran maklumat.
Maklumat ini bergerak ke dalam mailroom peribadi anda sendiri
mana pakej IP Encik, label, dan menghantarnya dalam perjalanan.
Setiap paket adalah terhad dalam saiz.
Bilik mel mesti memutuskan bagaimana untuk membahagikan maklumat
dan bagaimana untuk pakej.
Sekarang, pakej memerlukan label yang mengandungi maklumat penting
seperti alamat, pengirim, alamat penerima, dan jenis paket ia.
Kerana ini paket tertentu akan keluar ke Internet,
ia juga mendapat alamat untuk pelayan proksi,
yang mempunyai fungsi khas, seperti yang kita akan lihat nanti.
Paket kini dilancarkan ke rangkaian kawasan tempatan anda, atau LAN.
Rangkaian ini digunakan untuk menyambungkan semua komputer tempatan '
router, pencetak, dan sebagainya, untuk pertukaran maklumat dalam tembok fizikal bangunan.
LAN adalah tempat yang cukup tidak terkawal, dan, malangnya,
kemalangan boleh berlaku.
Lebuh raya LAN dipenuhi dengan semua jenis maklumat.
Ini adalah paket IP, Novell paket, AppleTalk paket.
Mereka akan menentang trafik, seperti biasa.
Router tempatan membaca alamat dan, jika perlu,
lif paket ke rangkaian lain.
Ah, router. Satu simbol kawalan dalam dunia yang seolah-olah tidak teratur.
[Router hal mengomel dan bercakap kepada dirinya]
>> [Pencerita] Ada dia, sistematik, peduli, teratur,
konservatif, dan kadang-kadang tidak cukup sehingga kelajuan.
Tetapi sekurang-kurangnya dia adalah tepat, untuk sebahagian besar.
Sebagai paket meninggalkan router, mereka membuat cara mereka ke dalam Internet korporat
dan kepala untuk suis router.
Sedikit lebih cekap daripada router, suis penghala memainkan cepat dan longgar dengan paket IP,
cekap laluan mereka di sepanjang jalan mereka.
A 'pinball wizard,' digital jika anda akan.
[Router suis bercakap kepada dirinya]
[Pencerita] Sebagai paket tiba di destinasi mereka,
mereka dipilih oleh antara muka rangkaian,
bersedia untuk dihantar ke tahap yang seterusnya.
Dalam kes ini, proksi.
Proksi digunakan oleh banyak syarikat sebagai jenis lelaki pertengahan
dalam usaha untuk mengurangkan beban pada sambungan internet
dan atas sebab-sebab keselamatan, serta.
Seperti yang anda boleh lihat, paket semua pelbagai saiz bergantung kepada kandungan mereka.
Proksi membuka paket dan kelihatan untuk alamat web atau URL.
Bergantung kepada sama ada alamat boleh diterima,
paket dihantar ke Internet.
Terdapat, bagaimanapun, beberapa alamat yang tidak memenuhi dengan kelulusan proksi.
Itu adalah untuk mengatakan, garis panduan korporat atau pengurusan.
Ini akan terus ditangani.
Kita akan mempunyai semua itu.
Bagi mereka yang membuat ia, ia adalah di jalan raya sekali lagi.
>> Sehingga Seterusnya, firewall.
Firewall korporat berfungsi dua tujuan.
Ia menghalang beberapa perkara yang agak jahat dari Internet dari mula masuk ke Intranet,
dan ia juga boleh mencegah maklumat korporat sensitif daripada dihantar keluar ke Internet.
Setelah melalui firewall, router picks paket
dan meletakkan ia ke jalan yang lebih sempit, atau bandwidth, seperti yang kita katakan.
Jelas sekali, jalan raya tidak cukup luas untuk membawa mereka semua.
Kini, anda mungkin tertanya-tanya apa yang berlaku kepada semua orang-orang paket yang tidak membuat ia sepanjang jalan.
Nah, apabila IP Encik tidak menerima pengakuan
bahawa paket telah diterima dalam masa yang sewajarnya,
dia hanya menghantar paket gantian.
Kami kini bersedia untuk memasuki dunia Internet.
Spiderweb rangkaian yang saling yang merangkumi seluruh dunia kami.
Di sini, router dan suis mewujudkan hubungan antara rangkaian.
Sekarang, Net merupakan satu persekitaran yang sama sekali berbeza daripada yang anda akan dapati
dalam tembok perlindungan LAN anda.
Di sini, ia adalah Wild West.
Banyak ruang, banyak peluang,
banyak perkara untuk meneroka dan tempat-tempat untuk pergi.
Terima kasih kepada kawalan yang sangat sedikit dan peraturan,
idea-idea baru mencari tanah yang subur untuk menolak sampul kemungkinan mereka.
Tetapi kerana kebebasan ini, bahaya tertentu juga bersembunyi.
Anda tidak akan tahu apabila anda akan bertemu ping ditakuti kematian,
versi khas ping permintaan biasa,
yang bodoh sesetengah orang berpendapat untuk mes tuan rumah yang tidak curiga.
Laluan paket kami mengambil mungkin melalui satelit,
talian telefon, wayarles, atau kabel walaupun merentasi lautan.
Mereka tidak sentiasa mengambil laluan terpantas atau sesingkat mungkin,
tetapi mereka akan sampai ke sana akhirnya.
Mungkin itulah sebabnya ia kadang-kadang dipanggil "Tunggu World Wide."
Tetapi apabila segala-galanya berfungsi dengan lancar,
anda boleh memintas dunia lima kali lebih pada kejatuhan topi, secara literal.
Dan semua kos panggilan tempatan atau kurang.
Berhampiran akhir destinasi kami, kami akan mencari firewall lain.
>> Bergantung kepada perspektif anda sebagai data paket,
firewall boleh menjadi benteng keselamatan atau musuh yang ditakuti.
Ia semua bergantung kepada pihak mana anda berada di dan apa niat anda.
Firewall direka untuk membiarkan sahaja Jenis paket yang memenuhi kriteria.
Firewall ini beroperasi pada port 80 dan 25.
Semua percubaan untuk masuk melalui pelabuhan-pelabuhan lain ditutup untuk perniagaan.
Port 25 adalah digunakan untuk paket mel,
manakala port 80 adalah pintu masuk untuk paket dari Internet ke pelayan web.
Di dalam firewall, paket ditayangkan lebih teliti.
Beberapa paket membuat ia mudah melalui kastam,
manakala yang lain kelihatan hanya sedikit meragukan.
Sekarang, pegawai firewall tidak mudah tertipu,
seperti ketika ini ping paket kematian cuba untuk menyembunyikan dirinya sebagai paket ping normal.
[Firewall pegawai bercakap kepada paket]
[Pencerita] Bagi mereka paket bernasib baik untuk membuat ia sejauh ini,
perjalanan hampir berakhir.
Ia hanya beratur di muka akan diambil ke dalam pelayan web.
Kini, pelayan web boleh dijalankan pada banyak perkara,
dari kerangka utama ke web cam komputer di atas meja anda.
Kenapa bukan peti sejuk anda?
Dengan persediaan yang sepatutnya, anda boleh mengetahui jika anda mempunyai bakat untuk menjadi
Ayam Cacciatore, atau jika anda perlu pergi membeli-belah.
Ingat, ini adalah subuh Net.
Hampir apa sahaja boleh didapati.
Satu demi satu, paket diterima,
dibuka, dan terpadat.
Maklumat yang mereka mengandungi, iaitu, permintaan anda untuk maklumat,
dihantar kepada aplikasi pelayan web.
Paket itu sendiri adalah dikitar semula,
sedia untuk digunakan lagi, dan dipenuhi dengan maklumat yang diminta anda,
ditangani, dan dihantar keluar dalam perjalanan kembali kepada anda.
Kembali lalu firewall, router, dan melalui Internet.
Kembali melalui firewall korporat anda
dan ke muka anda,
bersedia untuk membekalkan pelayar web anda dengan maklumat yang anda minta.
Iaitu, filem ini.
Gembira dengan usaha mereka, dan mempercayai bahawa dunia yang lebih baik,
paket data kepercayaan kami menaiki blissfully ke matahari terbenam hari lain,
mengetahui sepenuhnya mereka telah berkhidmat tuan-tuan mereka dengan baik.
Sekarang, tidak adalah bahawa berakhir bahagia?
[Malan] Okay, itu sudah cukup. Kami akan melihat anda minggu depan.
[CS50.TV]