[Powered by Google Translate] [Minggu 7, Lanjutan]
[David J. Malan, Universitas Harvard]
[Ini adalah CS50.] [CS50.TV]
Baiklah. Selamat Datang Kembali. Ini adalah CS50,
dan ini adalah akhir minggu 7.
Jadi salah satu dari hal-hal kecil yang bodoh yang terjadi di sekitar Internet
dan kami menghirup up, dan sekarang harus membuat sedikit akal culun untuk Anda.
Nah, itu lucu untuk orang ini daripada itu untuk kalian.
Berbicara tentang, well, guys,
hari ini adalah hari ulang tahun Nate.
Untuk memberikan rasa Nate betapa baik dan saya
pada pengembangan web berdasarkan kelas Senin dan berdasarkan sekarang ini,
Saya pikir saya akan menarik halaman rumah Nate, jika Anda belum melihatnya.
Ini HTML AGLOCO Nate di sini.
Jadi melihat source-nya jika Anda ingin melihat bagaimana melakukan ini, dan Nate,
jika kita bisa malu Anda hanya sebentar, staf mendapat Anda sedikit sesuatu
jika Anda ingin berbagi beberapa hidangan penutup dengan beberapa anak-anak di kelas di sini.
Jika Anda ingin datang pada turun.
Kalian semua bertepuk tangan dan sangat bagus, tapi tidak ada yang duduk di dekat Nate,
untuk beberapa alasan, di zona belakang.
Jadi mungkin Anda dapat menemukan beberapa orang untuk menikmati ini dengan.
Selamat Ulang Tahun, Nate.
>> Hellos Tambahan: Kami menunjukkan klip dari beberapa siswa CS50x kami.
Jika Anda ingin melihat siapa lagi itu ada di dalam dunia
yang mengikuti dari awal, Anda dapat menuju ke URL ini,
di mana Yusuf, salah satu dari TF kami, telah mengumpulkan montase macam
setiap orang yang telah mengirimkan video ini, di antaranya Rick Astley.
Dan jika Anda menggulir melalui, itu benar-benar sangat inspiratif
untuk melihat keragaman negara-negara dan kota-kota dari mana orang yang memanggil.
Jadi jika Anda ingin melihat pada saat itu, yang akan naik sampai akhir semester.
Hari ini kita melanjutkan melihat kami di Web, web programming, HTML dan sejenisnya,
dan kami juga telah makan siang yang datang Jumat ini
jika Anda ingin, dan khususnya, belum melakukannya sebelumnya.
Tema ini Jumat akan menjadi hari ulang Nate,
jadi jika Anda ingin memiliki makan siang ulang tahun dengan Nate
dan lain-lain, beberapa teman-teman kita dari Industri,
silakan kepala ke URL yang ada.
Ruang, seperti biasa, adalah terbatas. Juga, jika Anda lupa,
menyadari bahwa minggu depan adalah batas waktu untuk masalah mengatur perburuan 4 s,
dimana setelah pulih semua orang JPEG dari card.raw,
Anda dan pasangan bagian, jika Anda ingin, dapat mencoba memotret
karena banyak ilmuwan komputer dari kartu memori mungkin,
dan Anda dan bagian Anda kemudian akan memenangkan hadiah luar biasa.
Lihat kembali ke spesifikasi pset 4 sebagai apa untuk mengirimkan dan kapan.
Juga, jika Anda ingin memiliki karya Anda diabadikan
di website kursus dan sejarahnya pakaian,
tahu bahwa Anda dipersilakan sekarang untuk mulai mengirimkan desain
untuk tahun ini T-shirt dan kaus dan sejenisnya.
Kami akan melakukan yang terbaik untuk memasukkan sebanyak yang kita bisa,
tapi kita akan memiliki beberapa anggota dari tinjauan staf semua desain
untuk memastikan mereka sesuai dengan spesifikasi,
dan kami kemudian memilih umumnya sedikit dari mereka yang akan dipamerkan.
Jadi jika Anda adalah tipe desain, hanya tahu bahwa persyaratan
untuk grafis adalah PNG, setidaknya 200 DPI,
mereka tidak boleh lebih dari 4000 x 4000 piksel,
dan tidak lebih dari 10 MB, tapi kau dipersilakan untuk menggunakan hal-hal seperti
Photoshop atau GIMP atau berbagai program grafis komputer,
apa pun yang Anda miliki Anda.
>> Juga pada cakrawala adalah tugas akhir. Proyek akhir benar-benar adalah klimaks dari 50,
dimana dari semua tugas dalam kursus,
ini adalah kesempatan Anda benar-benar untuk melakukan hal Anda sendiri.
Dan itu bisa saja melakukan sesuatu untuk bersenang-senang,
dapat memecahkan beberapa masalah mendesak kelompok mahasiswa Anda memiliki,
untuk beberapa website baru, beberapa mekanisme koleksi baru untuk data.
Ini bisa menjadi aplikasi mobile untuk Android, iOS untuk.
Sungguh, langit adalah batas, dan selama beberapa minggu ke depan,
seperti yang kita transisi dari C terhadap bahasa tingkat tinggi seperti PHP dan JavaScript,
Anda akan menemukan diri Anda semakin akrab dengan beberapa teknik dunia nyata,
beberapa dunia nyata alat, dan untuk melengkapi itu,
tahu bahwa tentu saja memiliki sejarah seminar,
dimana selama beberapa minggu berikutnya, beberapa staf pengajar
dan teman-teman kita dari di kampus akan menawarkan seminar opsional
yang pergi di atas dan melampaui apa yang biasanya dilakukan di bagian
untuk memperkenalkan Anda untuk hal-hal seperti pemrograman Android,
untuk memperkenalkan Anda untuk hal-hal seperti iOS pemrograman
atau lebih maju web-pengembangan teknik.
Ada seluruh sejarah ini sudah online.
Jika Anda pergi ke cs50.net/seminars, kita sudah melakukan hal ini untuk beberapa tahun,
dan Anda akan melihat bahwa diarsipkan di sini dengan PDF dan video dan sejenisnya
adalah video beberapa lusin seminar.
Tahun lalu, misalnya, kami punya seminar tentang acing wawancara teknis,
jika Anda benar-benar ingin pergi dan melakukan magang atau penuh waktu manggung.
Windows mobile pembangunan, pengembangan Android, Google Maps,
API, CSS, pengembangan untuk BlackBerry, Emacs.
Sungguh, Anda dipersilakan untuk melihat salah satu seminar pada kenyamanan Anda.
Dan kita akan mengadakan beberapa yang baru semester ini, juga.
>> Jadi apa yang di depan dengan tugas akhir?
Yah, pertama, meskipun tanggal ini agak dekat,
ini benar-benar hanya sebuah kesempatan untuk mulai berpikir tentang proyek akhir cukup realistis.
Kita tahu hanya awal dari beberapa dari apa yang kita masih akan mencakup dalam kursus,
HTML, PHP dan sejenisnya, tapi kau semua akrab dengan Web,
dan saya Bias percakapan ini ke Web hanya karena
kebanyakan orang akhirnya melakukan berbasis web proyek akhir,
tapi itu tidak berarti diperlukan.
Menggunakan C baik-baik saja, tujuan C, Java,
bahasa lain Anda mungkin tahu atau ingin tahu adalah cukup baik.
Tapi untuk mendapatkan jus mengalir awalnya, kita akan mengharapkan pengajuan preproposal
yang, per PDF di website, yang sekarang di cs50.net,
dan di bagian kiri atas Anda akan melihat tugas akhir
adalah spesifikasi untuk proyek akhir,
dan di sana adalah rincian tentang preproposal dan sejenisnya.
Ini cukup banyak bermuara email ke rekan mengajar Anda
hanya untuk memulai percakapan dengan dia tentang apa yang Anda pikirkan.
Pada projects.cs50.net adalah gudang ide dari orang-orang di kampus
jika Anda berjuang untuk datang dengan beberapa gagasan,
dan manual.cs50.net/APIs adalah gudang link ke API.
>> Apa, meskipun, adalah API?
Apa API? Aku sudah mengatakan itu setidaknya dua kali,
menurut transkrip dari beberapa minggu terakhir.
Apa itu? [Mahasiswa, dipahami]
>> Oke, baik. Jadi sesuatu pemrograman antarmuka.
Aplikasi pemrograman antarmuka, dan ini dapat mengambil beberapa bentuk,
tapi apa ini benar-benar bermuara pada adalah kode
bahwa orang lain hs tertulis atau data yang orang lain telah dikumpulkan
yang dibuat tersedia untuk Anda dalam beberapa cara program.
Anda dapat menulis kode dalam C, PHP, Python, Ruby,
bahasa apa pun pilihan Anda biasanya adalah,
dan Anda entah bagaimana dapat membangun fungsi orang lain
atau orang lain kumpulan data.
Misalnya, jika saya pergi ke link ini di sini,
dan Anda akan melihat sepasang link pada halaman berikutnya
dimana kita memiliki API sendiri CS50, yang sangat Harvard-sentris, dan kemudian pihak ketiga API.
Di antara ketiga pihak API adalah hal-hal yang benar-benar berguna
seperti mampu mengirim orang ke SMS,
mampu menerima pesan teks SMS dari orang-orang.
Dan hal-hal seperti itu yang Anda mungkin tidak tahu bagaimana menerapkan diri sendiri,
namun berkat layanan, beberapa bebas dan beberapa komersial,
Anda dapat membangun atas mereka dan melakukan sesuatu yang menarik bagi Anda.
Di antara API CS50 itu orang-kampus-sentris hal-hal seperti
Harvard kursus, energi, peristiwa, makanan, peta, berita, tweets dan sendiri Shuttleboy,
dan ini adalah API yang terlihat sedikit sesuatu seperti ini.
>> Mari saya naikkan API HarvardFood.
Jika Anda sudah pernah ke situs HUD, Anda mungkin pernah ada
hanya melihat apa untuk makan malam atau untuk melihat apa yang untuk beberapa jam d-hall.
Nah, itu tidak sangat mudah dinavigasi,
dan jadi apa yang kita lakukan beberapa waktu lalu adalah kami menulis perangkat lunak,
itu terjadi berada di PHP, yang benar-benar layar goresan keseluruhan situs HUD.
Untuk menyaring sesuatu yang mengikis berarti untuk menulis program dalam bahasa seperti PHP
yang berpura-pura menjadi browser, meskipun Anda mungkin menjalankannya pada command prompt,
yang berpura-pura menjadi browser, menghubungkan ke situs web,
download nya HTML, bahasa yang itu ditulis,
dan kemudian membacanya, atau lebih khusus, mem-parsing itu
atas ke bawah, kiri ke kanan.
Dan apa yang kita lakukan adalah kita menulis kode kita sedemikian rupa sehingga
setiap kali kita melihat sesuatu dalam HTML yang tampak seperti sesuatu pada menu,
seperti hamburger, maka kita akan impor yang masuk ke database kita sendiri.
Dan setiap kali kita melihat kandungan gizi, kita akan mengimpor bahwa ke database kita sendiri.
Dan apa yang kita lakukan adalah memanfaatkan fakta bahwa HUD website,
meskipun mungkin sedikit tantangan bagi kita manusia untuk menavigasi
bawah kap mesin, semua HTML yang dihasilkan oleh program komputer mereka sendiri.
Jadi semua HTML mereka, meskipun mungkin terlihat berantakan,
seperti situs yang paling bawah kap itu mengikuti pola.
Jadi kita hanya menghabiskan beberapa jam mencari tahu pola yang
sehingga pada akhirnya, kita membuang semua HTML berantakan,
semua estetika menghadap tebal dan miring dan sejenisnya,
dan apa yang kita kemudian akan mampu lakukan adalah mengekspos bahwa data yang sama.
Misalnya, dengan cara ini.
Jadi kita, sesuai dengan dokumentasi di sini,
telah memberitahu dunia bahwa jika Anda meminta URL
yang terlihat seperti ini, food.cs50.net / sesuatu,
dan Anda memberikan parameter tertentu, yang akan kita bicarakan hari ini,
seperti akhir-tanggal, waktu start-date makan waktu, dan sebagainya,
apa server kami akan kembali kepada Anda, misalnya,
adalah file CSV, koma separted nilai-nilai seperti file Excel,
berisi semua untuk sarapan pada tanggal tertentu pada bulan Maret tahun lalu
ketika saya kebetulan menulis dokumentasi ini.
>> Bagi mereka yang akrab, CSV bukanlah format file saja.
Ada format lain yang semua lebih fleksibel
disebut JSON, JavaScript Object Notation.
Data bisa kembali dalam format tersebut.
Jadi takeaway di sini adalah bahwa apakah Anda menyelam ke dalam API
atau lainnya yang CS50 atau sesuatu di luar sana di Internet,
atau tidak sama sekali, menyadari bahwa dunia telah semakin mulai membakukan
bagaimana mesin bergaul.
Kami menggunakan format data standar seperti CSV atau JSON.
Dan apa artinya ini bagi Anda adalah Anda dapat menulis bagian yang menarik dari program
yang memungkinkan pengguna mencari menu makan-ruang,
yang memungkinkan mereka membuat daftar favorit yang memungkinkan mereka mendapatkan peringatan teks
ketika makan favorit mereka adalah tentang untuk dilayani dalam beberapa d-aula
dengan menggunakan data orang lain set dan bangunan di atas API mereka.
Jadi lebih pada bahwa dalam bentuk seminar dan dokumentasi yang Anda miliki di sini secara online.
Jadi mereka, kemudian, adalah API.
>> Yang membawa kita kembali ke HTML. Cepat rekap.
Apa itu HTML?
[Mahasiswa, dipahami] Baik >>. HyperText Markup Language.
Orang lain, apa yang Hypertext Markup Language?
HyperText Markup Language.
Oke. Jadi HTML, HyperText.
HyperText hanya merujuk ke Web, untuk sebagian besar.
Markup berarti bahwa itu tidak benar-benar sebuah bahasa pemrograman, HTML.
Ini bukan bahasa yang Anda dapat mengekspresikan logika masuk
Ia tidak memiliki loop. Itu tidak memiliki kondisi.
Ia tidak memiliki fungsi, per se.
Sebaliknya, ia memiliki hal-hal yang disebut tag, atau lebih tepat, elemen.
Dan unsur-unsur memiliki tag awal dan tag akhir,
atau tag terbuka dan tertutup tag, dan apa tag tersebut umumnya berarti untuk browser,
mulai melakukan sesuatu dan kemudian berhenti melakukan sesuatu, meskipun ada pengecualian untuk itu.
Kadang-kadang itu hanya 'menempatkan satu baris di sini,' misalnya.
Dan kita melihat contoh bahwa hari lainnya, antara menghadap berani,
garis istirahat, dan kemudian beberapa tag lainnya.
Jadi HTML adalah bahasa yang halaman web ditulis.
Jadi jika saya pergi ke sesuatu seperti Google.com
dan menarik hanya halaman rumah mereka,
ingat bahwa jika Anda mengklik kanan atau klik kontrol
dan melihat sumber tampilan halaman, biasanya
itu berantakan lengkap hari ini di bawah tenda, tapi itu karena
komputer tidak peduli tentang ruang putih, jadi ini tidak harus tampil cantik.
Tetapi jika kita memperbesar bagian dari itu,
melihat bahwa Chrome, hanya untuk bersikap baik, telah kode warna hal.
Memang, ini adalah tag pertama yang kami lihat di halaman web.
Dan lagi, HTML 5, versi terbaru dari bahasa ini,
tidak memiliki hal ini di awal,
<DOCTYPE html!, Baik kecil atau huruf besar,
tapi itu hanya semacam standar yang mengatakan, hey dunia, inilah sebuah file HTML dalam versi 5.
>> Bagian yang menarik dimulai di sini. Jadi <html, dan kemudian ada dua anak
elemen HTML terakhir kalinya.
Apa dua anak main?
Kepala dan tubuh, seperti orang dengan tato saat yang lalu.
Ada dua bagian dari halaman web, kepala dan tubuh,
dan ingat, kemudian, bahwa mungkin halaman web sederhana kita bisa membuat terlihat seperti ini.
Dan aku sudah menjorok itu hanya menjadi semacam rapi dan rapi dengan kode saya,
tapi apa benar-benar penting di sini adalah bahwa ada beberapa hirarki ini.
Dan setiap tag yang saya dibuka saya telah ditutup dan bahwa ada karena simetri ini
untuk semua markup yang saya buat.
Jadi terakhir kali kita mulai menulis halaman web pada laptop saya sendiri.
Saya membuka mengedit teks, saya menyimpan file sebagai hello.html,
Saya kemudian menyeret file ke browser saya, dan voila, aku punya halaman di Internet.
Sekarang, itu tidak cukup terjadi, aku punya halaman di harddisk,
dan saya benar-benar satu-satunya orang di dunia ini yang akan melihat bahwa halaman web pada browser.
>> Jadi hari ini, kami memperkenalkan sebuah server web yang sebenarnya
dan gagasan benar-benar melayani konten di Internet
dan bagaimana semua ini mulai cocok bersama-sama.
Jadi ternyata bahwa selama ini dalam alat CS50
Anda sudah memiliki web server di komputer Anda.
Kami telah, dalam keadilan, hanya digunakan untuk gedit, untuk dentang, untuk GDB dan sejenisnya,
tetapi juga dipasang oleh kami untuk Anda di alat adalah server web,
dan bahwa web server terjadi untuk bebas, open source,
salah satu yang paling populer di dunia, yang disebut Apache.
Namanya lebih teknis adalah HTTPd, d yang untuk daemon sini,
yang merupakan kata teknis untuk server.
Jadi dipasang di alat CS50 adalah server web, dan apa artinya?
Nah, web server, konseptual, beberapa server di internet yang menyajikan konten web.
Ketika ditanya untuk file, meludah keluar HTML yang menyusun file tersebut, dan voila.
Anda melihat halaman rumah beberapa website.
Tapi server adalah, lebih tepatnya, sebuah software.
Itu tidak harus pada mesin fisik, itu hanya harus menjadi bagian dari menjalankan perangkat lunak.
Jadi alat CS50, tentu saja, adalah bagian dari perangkat lunak
meskipun itu semacam berpura-pura menjadi mesin.
Ini berpura-pura menjadi dalam komputer dari komputer,
tapi itu hanya berarti bahwa alat pasti bisa menjalankan hal-hal seperti server web.
Ini benar-benar dapat menjalankan server email.
Kita bisa menjalankan server pesan instan alat jika kita ingin,
dan memang, kita menjalankan satu jenis lain dari server, dikenal sebagai database server, mySQL.
Tetapi lebih pada minggu depan.
Ini berarti bahwa saya benar-benar dapat mengunjungi halaman web
dalam alat saya dengan menggunakan browser di dalam alat
atau bahkan di laptop saya sendiri, saya Mac atau PC saya.
Jadi apa artinya ini? Ternyata bahwa setiap kali Anda menjalankan komputer Linux,
julukan adalah "host lokal."
Itu tidak memiliki nama domain karena kita belum membeli nama domain
untuk sesuatu seperti alat, sehingga nama default adalah host lokal.
>> Tetapi untuk mendapatkan alat untuk memulai melayani sampai halaman web,
kita harus membuat mereka terlebih dahulu.
Jadi mari kita lakukan itu. Biarkan aku pergi ke jendela terminal di sini
dan menyadari bahwa aku berada di Harvard khas saya John prompt.
Biarkan aku pergi ke depan dan ketik ls, dan kita akan melihat beberapa hal akrab dari semester ini,
desktop, download, dropbox dan sebagainya,
tapi sekarang kita mulai mengarahkan perhatian kita kepada pasangan.
Pada banyak web server Linux ada folder ini disebut html publik,
tapi kita akan melewatkan yang satu untuk saat ini dan fokus pada hal ini, vhosts.
Ada yang tahu apa vhost adalah?
Hanya bodoh jargon untuk virtual host,
dan apa ini berarti adalah bahwa pada server biasa
Anda benar-benar dapat host beberapa situs Web.
Anda dapat membeli nama domain seperti foo.com, dan Anda bisa menyimpannya di server.
Tapi Anda juga dapat membeli bar.com dan menyimpannya pada server yang sama.
Alasannya, browser yang cukup cerdas untuk menginformasikan server
ketika pengguna meminta halaman web tertentu, apa nama domain pengguna ingin homepage untuk.
Jadi apa yang baik tentang ini adalah Anda tidak perlu satu server fisik
atau satu CS50 alat untuk setiap website Anda mungkin ingin membuat.
Anda dapat menggunakan server yang sama dan mengembangkan seratus website yang berbeda.
Dan memang, jika Anda adalah orang yang mencoba untuk memulai sebuah situs web,
baik untuk bersenang-senang atau untuk bisnis, biasanya Anda akan pergi keluar di Internet,
dan Anda akan membayar seseorang sepuluh dolar sebulan, seratus dolar per bulan
untuk host website Anda untuk Anda.
Dan cara yang berhasil adalah mereka pengisian orang lain
sepuluh dolar sebulan atau seratus dolar sebulan
untuk host website orang lain pada server yang sama mereka.
Alasan mereka bisa melakukan itu adalah karena fitur ini disebut bhosts,
tetapi lebih pada bahwa ketika tiba saatnya untuk proyek akhir.
>> Untuk saat ini, mari kita menyelam di sana. Jadi vhosts cd, dan jika saya ketik ls sekarang,
melihat bahwa ada folder di sana disebut host lokal.
Itu karena, secara default, angka alat
Anda pernah akan menjalankan satu situs web pada sebuah alat.
Ini tidak benar-benar dunia nyata, itu bukan web server dunia nyata.
Jadi biarkan aku pergi ke host lokal, dan sekarang kita akan melihat di sana
satu direktori terakhir disebut HTML.
Jadi itu sedikit mendalam, hirarki, tetapi jika dan ketika
Anda memutuskan untuk mulai mengembangkan beberapa situs Web selama bulan depan atau tahun n,
struktur semacam ini folder cenderung untuk membantu.
Sekarang mari kita pergi ke HTML seperti yang saya baru saja melakukannya,
jenis ls, dan tidak ada yang ada.
Jadi sekarang mari kita pergi ke depan dan melakukan hal ini. Mari saya membuka Chrome
dalam alat, dan biarkan aku pergi ke http://localhost.
Jadi secara harfiah nama untuk alat saya, masukkan, dan saya mendapatkan indeks /.
Hal ini tidak benar-benar menunjukkan kepada saya sesuatu yang menarik,
tetapi ternyata bahwa apa yang kita lihat adalah bahwa folder, HTML.
Tidak ada di dalam folder itu sekarang,
Jadi alih-alih, apa yang akan saya harus lakukan adalah pertama kali membuat file.
Buat file HTML seperti yang kami lakukan pada hari Senin, tapi kali ini memasukkannya ke dalam alat.
Bagi anda yang sedang mencoba untuk mengikuti bersama dengan laptop sekarang,
biarkan aku melakukan satu samping yang akan dibahas dalam pset berbasis web,
tetapi untuk mendapatkan ini bekerja untuk pertama kalinya,
Anda akan harus menjalankan perintah ini: memulai layanan httpd sudo.
Dan ini, sekali lagi, akan berulang dalam pset terakhir,
tetapi jika Anda sedang bermain bersama di rumah sekarang, server web
dimatikan dalam alat, dan itu sehingga tidak melemahkan RAM
dan memori selama 7 minggu keluar dari semester ketika kita tidak membutuhkannya.
Jadi, Anda perlu menjalankan perintah ini sekali, dan Anda akan mendapatkan output seperti itu.
Maka Anda harus dapat bermain bersama di sini.
Sekarang mari kita kembali ke folder ini.
Folder ini kosong, jadi biar mulai menciptakan sebuah file,
gedit hello.html.
>> Baiklah. Gedit terbuka, seperti biasa. Biarkan aku melakukan DOCTYPE, html,
html, biarkan aku mendapatkan terburu-buru dan mulai menutup tag saya di muka.
Sekarang saya memiliki kepala. Biarkan aku pergi ke depan dan menutup kepala,
biarkan aku sekarang melakukan judul halaman, halo dunia seperti terakhir kali,
Judul dekat, sekarang biarkan aku melakukan tubuh.
Di sini saya akan menyapa, dunia dengan beberapa exclams
untuk membuat jelas bahwa itu adalah string yang berbeda.
Tutup tubuh, dan sekarang biarkan aku pergi ke depan dan mengajukan simpan.
Biarkan aku pergi kembali ke jendela terminal saya, dan jika saya ketik ls,
Aku harus, mungkin, lihat hello.html. Dan saya lakukan.
Jadi sekarang mari kita kembali ke browser saya, klik ulang,
dan Anda dapat melihat kami memang dalam folder ini HTML.
Saya tidak melihat sebuah halaman web namun, ini adalah Apache, web server,
hanya menunjukkan saya isi daftar dari direktori ini.
Sama seperti Mac OS atau Windows biasanya akan lakukan pada hard drive Anda sendiri lokal.
Jadi jika saya ingin melihat halaman web ini, saya dapat mengklik link ini kecil di sini, hello.html,
dan memang, itulah yang saya berharap untuk melihat.
Sekarang, sekali lagi, ini bukan URL yang ada di antara kalian dapat mengunjungi sekarang,
karena bagi Anda, host lokal, jika Anda memiliki laptop di sini,
itu mengacu pada contoh Anda sendiri dari alat.
Hal ini pada alat pribadi saya sendiri,
tapi ini adalah jenis bodoh bagi saya untuk memiliki, memiliki
pengguna seperti saya klik pada hello.html untuk benar-benar melihat isi halaman ini.
Ternyata bahwa web server seperti Apache membiarkan Anda memiliki file default untuk server web.
Perhatikan di sini kita memiliki hello.html.
Apa perintah di Linux untuk mengubah nama file?
>> MV, untuk bergerak. Jadi biarkan aku melakukan itu,
dan biarkan aku mengubah nama hello.html ke index.html.
Biarkan saya ketik ls untuk mengkonfirmasi itu kini telah berganti nama.
Sekarang ini akan - jika saya kembali ke host lokal,
perhatikan sekarang bahwa aku otomatis melihat bahwa halaman web.
Hal ini identik dengan benar-benar melakukan index.html saya /,
tapi hal yang baik sekarang adalah bahwa server web yang mencari,
oh, jika Anda memiliki file yang, oleh konvensi manusia, disebut index.html,
saya menunjukkan pengguna bahwa file secara default
daripada beberapa daftar direktori bodoh yang sama sekali tidak user-friendly.
Memang, sebagian besar situs yang Anda kunjungi di Internet tidak memiliki daftar file untuk mengklik,
mereka hanya menunjukkan konten. Jadi itulah bagaimana kita bisa melakukan itu, index.html.
Jadi ini semua menyenangkan dan baik, tapi ini adalah halaman web yang cukup sederhana.
Biarkan aku pergi ke depan dan membuka index.html di vhosts saya,
host lokal, direktori html, dan mari kita menambahkan sesuatu dari kepentingan yang lebih besar.
Jadi ada dunia halo, mari kita bukannya mengatakan 'Ini adalah CS50, Harvard College. . . "
Jadi awal deskripsi katalog kursus semacam sana.
Sekarang jika saya ulang, saya harus melihat ini di halaman rumah saya.
Oke, dan aku melihat itu, tapi anggaplah bahwa saya ingin daftar sekarang beberapa konten lebih dalam file ini.
Aku bisa pergi ke sini dan mengatakan, tidak ada prasyarat,
meskipun beberapa dari Anda mungkin seperti, 'Ha ha ha, ada prasyarat. "
Tapi - resmi. Jadi ulang, dan sekarang kami memiliki kekhasan yang sama yang kami lihat terakhir kali.
Tapi kenapa begitu? Itu adalah memperbaiki sederhana.
Mengapa halaman ini rusak?
[Mahasiswa, dipahami] >> Ya, kami telah dipecahkan ini sebelum
dengan secara eksplisit mengatakan browser 'menempatkan satu baris di sini. "
Dan itu karena, sekali lagi, browser yang hanya akan melakukan
eksplisit apa bahasa markup mengatakan itu untuk dilakukan,
jadi meskipun Anda mungkin telah menekan enter sekali atau dua kali atau bahkan sepuluh kali,
itu akan menggabungkan semua ke dalam satu ruang, hanya dengan konvensi.
Jadi, jika Anda benar-benar ingin istirahat garis, Anda harus menggunakan tag br,
dan sekarang pemberitahuan, seperti hari Senin, saya menempatkan bagian dalam / dari tag ini,
hanya karena ini hanya tidak merasa benar
untuk memulai satu baris kemudian menghentikannya dengan apa-apa di antara.
>> Jadi konvensi di HTML adalah untuk membuka dan menutup tag secara bersamaan.
Sebagai samping, Anda akan melihat banyak situs dalam buku-buku tidak melakukan hal itu.
Hal ini benar untuk melakukan atau tidak melakukan hal itu, tapi kami akan berdebat
bahwa desain-bijaksana dan Gaya, ini hanya lebih baik
karena kemudian tag setiap baik terbuka dan tertutup entah bagaimana.
Jadi sekarang mari kita menyimpan dan membuka kembali. Kembali ke browser, oke.
Sekarang kita sedang membuat beberapa kemajuan, tapi itu tidak cukup.
Mari kita pergi ke depan dan mulai mengetik di beberapa tubuh yang lebih panjang dari teks.
Jadi katakanlah, 'melompat A cepat rubah cokelat selama anjing malas. "
Dan sekarang biarkan aku hanya copy dan paste ini beberapa kali
sehingga kita memiliki paragraf teks.
Biarkan aku pergi kembali ke sini. Jadi itu tidak tampak sangat baik.
Saya punya satu baris, sehingga tidak apa-apa,
tapi sekarang, setelah kami sampai ke titik memiliki halaman web
yang memiliki banyak konten dan garis tidak hanya tunggal untuk menunjukkan HTML,
kita bisa mulai memikirkan hal-hal sebagai paragraf yang sebenarnya.
Dan kita bisa mulai menyusun halaman web kami sedikit lebih bersih.
Dan memang, apa yang bisa saya lakukan adalah pergi di sini dalam tag tubuh saya,
dan kau tahu apa, jika 'Ini adalah CS50. . . " benar-benar demarks awal paragraf,
baik, mari kita tag seperti itu.
Biarkan saya indent teks, hanya dengan konvensi, saya katakan
bahwa ayat ini berakhir di sini,
dan kemudian daripada melakukan hal ini istirahat baris, biarkan aku hanya mengatakan
bahwa ini milik ada dan sebagai sebuah paragraf baru,
dan aku hanya akan cepat indent dengan hanya clobbering semua hal ini.
>> Jadi sekarang kita memiliki ayat indentasi sana,
dan sekarang markup kami mulai mendapatkan lebih sedikit
semantik konsisten dengan apa yang kita coba lakukan.
Kami memiliki paragraf, jadi mari kita menyebutnya sebuah paragraf dengan tag p.
Kami memiliki paragraf kedua, jadi mari kita menyebutnya sebuah paragraf dengan tag p.
Dan sekarang, apa browser biasanya akan melakukan
adalah seperti dalam buku bahasa Inggris atau esai,
di mana Anda biasanya melihat beberapa jeda baris antara paragraf.
Browser akan melakukannya untuk Anda secara otomatis.
Jadi sekarang kita memiliki dua paragraf dan kita bisa melanjutkan.
Tapi, tentu saja, di Web, bila Anda memiliki tubuh teks
itu tidak biasanya hanya gumpalan besar teks.
Ada sering hyperlink di sana.
Jadi jika kita ingin, misalnya, mencakup beberapa link ke sana,
kira apa yang mungkin menarik dalam apa pun halaman web saya di sini adalah menciptakan -
biarkan aku pergi ke Google.com,
dan biarkan aku mencari rubah coklat cepat.
Pergi ke gambar Google, dan, bagaimana - ini lucu.
Kita akan pergi dengan ini. Jadi di sini kita memiliki melompat cepat rubah cokelat selama anjing malas.
Jadi apa yang akan saya lakukan di sini, hanya untuk kepentingan demonstrasi,
disinyalir bahwa gambar ini pada server saya,
dan saya telah membuat gambar-gambar.
Apa yang saya lakukan adalah hanya klik kanan atau mengontrol klik pada gambar,
dan apa yang Anda akan melihat di hampir semua browser adalah menu kecil -
berhenti melakukan itu - menu kecil yang memungkinkan Anda untuk memilih lokasi copy link atau URL copy.
Jadi biarkan aku kembali sekarang untuk HTML saya, dan anggaplah bahwa saya ingin
untuk hyperlink ini ke halaman web lain.
>> Apa tag yang disebut untuk itu?
[Mahasiswa, dipahami] >> Ya. Jadi href untuk referensi hiper.
Biarkan aku pergi ke depan dan paste yang masuk
Ini adalah URL yang cukup panjang, jadi biar tampilannya kembali.
Kurung dekat, jadi sekarang perhatikan Aku jalan ke sini
karena URL yang terjadi cukup lama.
Biarkan saya gulir ke sini untuk akhir rubah cokelat gesit,
dan kemudian saya akan menutup tag ini dengan </ a,
di mana saya hanya menutup nama tag.
Sekarang biarkan aku pergi ke depan dan menyimpan file tersebut, kembali halaman web,
dan sekarang, secara default, yang akan berwarna biru bagi saya,
tapi memang, sekarang saya bisa klik ini dan voila. Ada gambar yang.
Dan itu tidak harus gambar, itu bisa dikaitkan
ke beberapa situs acak lain di Internet.
Aku bisa melakukan ini, misalnya, dengan CS50, sehingga salah satu contoh terakhir di sini.
"Ini adalah CS50 'mungkin masuk akal untuk pergi, href =
http://www.cs50.net, kutipan dekat, jangkar dekat.
Jadi sekarang itu URL bahkan lebih pendek, dan kali ini kita tidak akan link ke gambar.
Kita bukannya akan link ke halaman lain.
Sekarang, kita memiliki gambar di sini.
Saya merasa seperti kita bisa melakukan sedikit lebih baik daripada hanya terhubung ke sebuah gambar.
Bagaimana jika kita ingin benar-benar mewujudkan dalam halaman web kita sendiri?
>> Nah, apa yang bisa saya lakukan di sini adalah, daripada link ke grafis ini,
biarkan aku malah memotong URL, dan kami akan menyingkirkan hyperlink itu dan membersihkan ini.
Dan kita akan turun di sini dan menyingkirkan ini.
Kami tidak benar-benar membutuhkan semua kalimat sekarang, jadi biar mempersingkat halaman sedikit.
Dan kemudian di sini biarkan aku pergi ke depan dalam sebuah paragraf baru,
mengatakan saya tidak ingin teks sekarang, aku ingin gambar yang sumber akan menjadi URL itu.
Gambar, seperti ganti baris, baik ada atau tidak.
Jadi biarkan aku segera menutup tag tersebut.
Biarkan aku pergi ke depan sekarang dan tutup paragraf yang aku di dalam,
dan jika semua berjalan dengan baik dengan halo, dunia, jika saya reload sekarang,
Saya, memang, lihat tepat di dalam halaman web saya sendiri gambar.
Jadi sekarang kita memiliki tag gambar, tag anchor dan sejenisnya,
dan untuk mengukur baik, biarkan aku melakukan satu hal lain yang sering diabaikan
di website hari ini: Mari kita memberikan beberapa teks deskriptif untuk gambar ini
bagi orang-orang yang berada pada perangkat mobile
dan karena itu tidak mungkin dapat men-download gambar ini sangat cepat,
untuk orang yang buta dan tidak mungkin dapat melihat gambar
tetapi mereka mungkin memiliki pembaca layar yang dapat memberitahu mereka apa gambar ini adalah.
Dan untuk melakukan itu, ada atribut lain untuk tag gambar
disebut alt, untuk teks alternatif.
Dan apa yang dapat saya lakukan di sini adalah mengatakan, 'Ini adalah cepat rubah cokelat. "
Sehingga bahkan jika manusia tidak dapat melihat gambar pada layar,
ia setidaknya bisa mendengar, seperti dengan beberapa bagian dari perangkat lunak,
apa yang sebenarnya ada di layar.
>> Itu tidak akan mengubah estetika halaman,
tetapi tentu saja praktek yang baik bagi pengguna.
Baiklah, mari kita meninggalkan halaman web dalam bentuk yang sekarang,
tapi mari kita lihat apakah kita tidak bisa sekarang memperkenalkan
beberapa lebih baik pendekatan untuk menulis halaman-halaman web,
beberapa pelajaran yang akan melayani kita dengan baik sebagai halaman kami mendapatkan lebih banyak dan lebih kompleks.
Apa yang kita tidak akan melakukan selama beberapa minggu ke depan
adalah memandu Anda melalui semua tag HTML beberapa lusin bahwa ada.
Banyak seperti di awal kembali di minggu 0, mungkin akan cukup
untuk memberikan gambaran tingkat tinggi dari beberapa konsep,
tur singkat dari beberapa blok Anda mungkin mampu,
cukup nyaman, untuk menavigasi pada Anda sendiri, potongan-potongan teka-teki yang berbeda.
Dan itu akan terjadi lagi dalam HTML, kemungkinan besar,
dimana ada sumber daya yang cukup di Web bahwa kita akan mengarahkan Anda pada,
berbagai buku teks, jika Anda lebih memilih untuk membaca buku teks,
yang akan memandu Anda melalui semua berbagai hal yang dapat Anda lakukan dengan HTML,
tapi benar-benar, kita telah melihat sejauh ini di HTML sebagian besar konsep dasar.
Kami memiliki gagasan tag dibuka, tag ditutup.
Beberapa tag yang baik dibuka dan ditutup
dalam arti bahwa mereka kosong, harus ada apa-apa dalam diri mereka
seperti tag foto atau ganti baris, yang hanya ada.
Kami juga melihat sudah pada gagasan atribut, seperti alt atau sumber.
Perhatikan bahwa kata-kata cenderung, dengan konvensi, menjadi pendek dan ringkas.
>> Kami tidak memiliki kewenangan atas hal-hal apa yang disebut,
orang lain yang menemukan HTML datang dengan nama-nama ini.
Jadi Anda hanya harus mulai untuk mengetahui atau mencari, setiap kali Anda membutuhkannya,
apa nama adalah untuk tag dan atribut.
Dalam kasus ini atribut, atribut umum
memodifikasi perilaku tag tertentu.
Dalam kasus ini, atribut sumber memberitahu tag gambar
apa sumber gambar harus.
Atribut href menceritakan tag anchor apa yang sebenarnya harus terhubung ke.
Tetapi dalam hal struktur dari suatu halaman web, meskipun Facebook
dan Google dan terlihat seperti seperti kekacauan lengkap
bawah kap pada pandangan pertama, jika Anda mulai membacanya
lebih metodis, mereka semua mengikuti struktur, dasar dasar.
Tapi kita bisa meningkatkan stilisasi dari hal-hal ini.
Jadi biarkan aku pergi ke beberapa contoh yang saya dipersiapkan sebelumnya.
Biarkan aku pergi ke depan dan menyalinnya dari folder lain di sini
dan menempatkan mereka ke dalam direktori ini.
Di muka, apa yang saya lakukan adalah menyiapkan beberapa file:
search0, search1, search2, dan search3 dan 4.
Biarkan aku pergi ke depan dan membuka yang pertama dari file-file,
dan mari kita lihat apakah kita tidak bisa mulai untuk membuat mesin pencari sendiri.
Pada bagian atas file ini, seperti yang biasanya terjadi di kelas, hanya sekelompok komentar.
Dalam HTML, meskipun, cara-cara yang Anda mulai komentar
adalah <- dan kemudian Anda dalam komentar, komentar multi-line!.
Ketika Anda siap untuk menghentikan komentar itu, Anda dapat melakukan ->.
Jadi semuanya di atas dengan warna biru hanya komentar.
>> Ini adalah deklarasi DOCTYPE saya, yang sekali lagi,
Anda hanya bisa copy dan paste pada iman, untuk saat ini.
Ini hanya memberitahu browser, 'Di sinilah beberapa HTML 5.'
Di bawah itu, on line 14, adalah yang pertama dari tag yang sebenarnya,
dan ini hanya mengatakan, seperti sebelumnya, di sini datang beberapa HTML,
inilah kepala halaman saya, di sini datang judul,
dan kemudian, sebaliknya, itu saja untuk judul, itu saja untuk kepala.
Di sini sekarang datang tubuh halaman saya.
Jadi tag baru beberapa saat: h1 singkatan pos 1.
Ada tradisi di HTML selama bertahun-tahun kembali
memiliki ukuran yang berbeda dari teks.
Dan kembali pada hari, masing-masing berarti, secara umum, hanya besar dan berani.
Tapi ada juga h2, yang besar tapi tidak cukup sebagai besar dan tebal.
Ada h3, yang merupakan jenis besar tapi tidak hampir sama besar dan tebal,
dan sebagainya, semua jalan ke h6.
Hari ini, meskipun, h1, h2 dan h3 benar-benar dimaksudkan
memiliki arti yang lebih semantik kepada mereka,
dimana h1 adalah benar-benar sebuah judul: judul halaman web,
judul kolom atau sesuatu seperti itu teks.
Jadi aku sengaja mengatakan h1 CS50 pencarian> h1
untuk specifiy bahwa ini benar-benar pos, judul halaman saya.
Bukan dalam arti judul bar judul,
tapi judul yang Anda benar-benar melihat di halaman web itu sendiri, di dalam tubuh.
Sekarang ini, Anda mungkin bisa menebak apa itu,
meskipun kita memiliki potongan baru beberapa sintaks.
Ini adalah bentuk. Jadi web benar-benar mendapat menarik
ketika website mengambil masukan dari pengguna.
Di kelas ini, dalam masalah set pada pemrograman web,
kita tidak akan membuat website, per se,
dengan konten statis yang menunjukkan foto-foto yang Anda telah diambil,
atau ini adalah resume saya, dan hal-hal tentang saya,
karena hal-hal yang relatif mudah untuk menempatkan bersama-sama.
Sulit untuk membuat hal-hal yang indah di Web,
tapi setidaknya memasang konten cukup sepele.
Tapi hal-hal benar-benar menarik ketika seseorang dapat mengunjungi situs web Anda
dan memberikan masukan dan dapat mengisi formulir,
dapat memeriksa kotak centang off dan dapat berinteraksi dengan website Anda.
Dan memang, mungkin setiap website yang Anda pedulikan
hari ini, secara rinci, entah bagaimana interaktif.
Facebook, Google, dan sejenisnya, yang mengambil input pengguna
dan menghasilkan output disesuaikan.
>> Jadi mari kita mulai melakukan itu sekarang. Mari kita transisi sekarang
dari hanya menggunakan HTML untuk markup dari konten statis
sebagai gantinya mekanisme pengiriman untuk konten dinamis.
Dan untuk mencapai tujuan itu, mari kita menerapkan mesin pencari kita sendiri.
Mari kita lakukan sebagai berikut. Berikut adalah tag form.
Atribut aksi menetapkan bahwa ketika pengguna mengisi formulir ini
dengan keyboard mereka, maka akan diserahkan ke URL ini di sini.
Jadi aku jenis kecurangan. Ini akan membawa kita sedikit lebih lama
dari satu kelas untuk melaksanakan seluruh mesin pencari,
jadi kami hanya akan melakukan front end, sehingga untuk berbicara.
Kami akan melakukan bagian yang memungkinkan pencarian pengguna, dan kami akan semacam punt ke Google
bagian yang sulit untuk menemukan hasil pencarian,
namun, secara khusus, saya akan berbicara dengan web server Google
menggunakan salah satu dari dua metode yang sangat populer.
Satu yang bisa, yang lain, bahwa kita akhirnya akan melihat, karena pos,
meskipun ada orang lain yang kurang sering digunakan.
Jadi bisa saja memunculkan ide, saya ingin mendapatkan beberapa konten, mendapatkan beberapa hasil pencarian.
Ini, Anda mungkin bisa menebak apa hal ini.
Ini adalah beberapa jenis masukan, itu, pada kenyataannya, akan terlihat seperti kolom teks,
dan nama itu masukan, nama variabel itu, sehingga untuk berbicara,
yang akan q untuk query dengan konvensi.
Dan lagi, jenis masukan ini tidak akan menjadi kotak centang;
itu tidak akan menjadi menu, itu akan menjadi text field
seperti yang dilambangkan oleh atribut di sini, dan ini kotak teks,
seperti istirahat garis, baik ada atau tidak.
Jadi kita memiliki elemen kosong dengan garis miring di dalam tag tersebut.
Lalu aku akan menempatkan satu baris, dan Anda bisa, mungkin, coba tebak ini akan dapat dilakukan.
Ini adalah satu lagi jenis form input.
>> Yang satu ini akan digunakan untuk mengirimkan formulir.
Jadi ini akan menjadi tombol besar bahwa pengguna dapat mengklik untuk mengirimkan formulir,
dan label pada tombol yang akan menjadi 'CS50 Cari. "
Tutup bentuk, tubuh dekat, dekat HTML.
Mari kita lihat apa yang kita miliki dalam bentuk halaman web.
Jadi biarkan aku pergi ke browser saya,
biarkan aku pergi, masih, ke host lokal.
Ini masih index.html, jadi jika saya ingin melihat file ini disebut search0,
Saya hanya bisa melakukan / search0.html, masukkan -
dan yang pertama dari kesalahan saya.
Apa yang terjadi? Saya jelas tidak memiliki izin
untuk mengakses file ini, untuk beberapa alasan.
Tapi itu karena, tidak seperti pekerjaan yang kita lakukan sejauh ini di C,
di mana program Anda menulis diasumsikan runable oleh Anda,
dieksekusi oleh Anda, itu tidak benar-benar terjadi di Web,
dimana kadang-kadang Anda mungkin ingin membuat file di server,
tetapi Anda tidak ingin seluruh dunia untuk dapat melihat mereka.
Sebaliknya, Anda ingin dunia melihat beberapa file
tetapi tidak yang lain, hanya demi privasi itu.
Jadi itu lebih dari dasar opt-in ketika Anda melakukan hal-hal di Web.
Dan jadi biar benar-benar ketik ls di sini,
dan Anda melihat file yang saya miliki, tapi ingat bahwa jika saya lakukan ls-l lama,
Aku akan mendapatkan daftar panjang yang memberi saya beberapa rincian lebih lanjut tentang file
yang sekarang, benar-benar, untuk pertama kalinya relevan untuk kita.
Perhatikan bahwa di paling kanan adalah nama dari file saya,
dan kemudian saat di mana mereka terakhir diubah atau disalin.
Nomor ini di sini adalah apa? Apakah Anda ingat?
Ukuran dalam byte, seberapa besar file tersebut.
>> Jadi saya tampaknya memiliki semacam logo di sini yang lebih besar dari semua file lainnya.
Ini adalah siapa saya, ini adalah apa yang saya dan apa yang kelompok saya masuk
Tapi kemudian, di sini di sebelah kiri adalah sedikit dari urutan samar,
dan kami berbicara, saya pikir, secara singkat tentang hal ini di masa lalu,
tetapi ini harus dilakukan dengan izin.
Dan bahkan jika itu sedikit kabur,
RW mungkin berarti membaca & menulis.
Jadi ternyata bahwa strip menunjukkan set berbeda perizinan untuk orang yang berbeda.
Dan pola ini, pada dasarnya, sebagai berikut.
Ketika Anda melihat urutan garis sini, mereka terlihat sebagai berikut.
Ada tanda hubung, maka ada tiga strip,
kemudian ada tiga, maka ada tiga.
Yang pertama adalah baik dasbor atau iklan itu untuk direktori.
Jadi yang satu ini cukup mudah. Jika itu folder, ia mengatakan d, selain itu tanda hubung.
Ada beberapa kasus lain, tapi untuk saat ini kita hanya akan peduli tentang file dan direktori.
Ketiga berikutnya strip - dan saya sudah artifisial dimasukkan ruang.
Mereka, jelas, tidak ada ketika kami melihat mereka beberapa saat yang lalu.
Ini adalah hak akses pemilik file,
dan ingat dari kedua lalu bahwa itu membaca & menulis.
Itu karena saya, sebagai orang yang menciptakan file ini beberapa saat yang lalu,
Aku, hanya dengan default, pada komputer Linux,
memiliki kemampuan untuk terus membaca dan menulis file tersebut.
>> Jadi sistem operasi hanya memberi saya RW otomatis.
Yang tengah berhubungan dengan kelompok saya, bahwa siswa,
yang merupakan semacam berarti pada alat karena aku satu-satunya orang menggunakan alat.
Jadi biarkan aku hanya melambaikan tangan saya pada saat itu untuk saat ini.
Tapi yang terakhir adalah yang paling penting untuk Web.
Ini adalah semua orang di dunia, dan fakta
bahwa yang --- berarti bahwa tidak ada orang lain di dunia ini
mempunyai izin untuk file ini.
Jelas masalah, jadi saya harus memperbaiki ini
oleh entah bagaimana memberikan dunia apa? Membaca & menulis?
Itu mungkin bodoh, kan? Saya tidak ingin orang di Web
untuk pergi untuk mengunjungi halaman saya dan entah bagaimana mengubah file tersebut,
meskipun mereka benar-benar tidak bisa dengan file HTML,
tetapi hanya pada prinsipnya, mungkin hanya ingin mereka bisa membacanya.
Apa artinya untuk membacanya? Ini tidak berarti mereka akan peduli tentang HTML yang sebenarnya,
tapi browser harus mampu mengurai bahwa bahasa markup,
atas ke bawah, kiri ke kanan.
Jadi seseorang di Web harus mampu membacanya, jadi saya minimal perlu memberikan r.
Saya bisa melakukan ini dengan cara yang berbeda, tapi mungkin
yang paling sederhana adalah dengan menjalankan perintah ini di sini.
Chmod, modus perubahan, maka + r sehingga semua orang, di dunia + baca,
dan kemudian nama file, search0.html.
>> Sekarang jika saya lakukan ls-l lagi, perhatikan bahwa file yang telah berubah,
dan memang, saya sudah dihidupkan r untuk semua orang.
Saya juga menyalakannya untuk kelompok saya, tapi itu baik-baik saja,
karena jika aku berpaling pada untuk semua orang, kelompok saya adalah bagian dari itu.
Jadi itu baik juga. Ini hanya berarti komputer kini telah berhasil dibaca.
Sekarang biarkan aku kembali ke browser saya, klik reload.
Ah-ha. Kami sekarang memiliki CS50 Cari.
Saya sudah diperbesar sedikit artifisial - mesin pencari cukup mengerikan.
Tapi mari kita lihat apakah itu benar-benar bekerja.
Pertama, biarkan saya melakukan cek kewarasan cepat, biarkan aku mengendalikan klik dan melihat sumber halaman.
Perhatikan bahwa dalam Chrome kita sekarang melihat HTML yang sama yang saya buat sendiri.
Jangan bingung di sini, meskipun. Aku tidak bisa mulai mengubah kode di sini,
karena browser memiliki pandangan read-only dari kode ini.
Browser baru saja meminta host lokal untuk sebuah file bernama search0.html.
Sekarang murni kebetulan bahwa alat
kebetulan pada komputer yang sama sebagai browser saya.
Aku hanya bisa memiliki, ekuivalen, telah mengetik di www.facebook.com/search0.html,
dan jika Facebook memiliki file bernama itu, saya kemudian akan melihat HTML mereka.
Dan, tentu saja, saya tidak bisa mengubah file yang datang kembali dari Facebook, baik.
Jadi sekarang kita semacam mengaburkan garis.
Alat ini baik server, melayani sampai halaman web,
tetapi juga klien dalam arti bahwa saya menggunakan browser
untuk benar-benar berbicara dengan server.
Jadi mari kita lihat apakah saya mesin pencari Google bekerja.
Biarkan aku pergi ke depan dan mencari fox coklat cepat, masuk.
Dan voila, saya sekarang memiliki mesin pencari sendiri.
>> Tapi bagaimana cara kerjanya?
Sedikit peregangan, tapi - dan sekarang Anda tidak dapat melihat, tepatnya, bagian itu menarik.
Perhatikan apa yang terjadi.
Perhatikan URL. Ternyata bahwa metode itu,
disebut dapatkan, super-sederhana.
Ketika Anda tentukan dalam bentuk yang Anda ingin 'mendapatkan' hasil dari beberapa server,
apa yang akan lakukan adalah mengambil apa pun yang Anda ketik ke dalam formulir
dan memasukkannya ke dalam URL.
Ini akan menstandarisasi bagaimana itu akan dimasukkan ke dalam URL sebagai berikut.
Perhatikan bahwa ini adalah URL yang nilai atribut tindakan saya.
Di situlah saya ingin formulir berakhir.
Tapi kemudian melihat ini tanda tanya.
Ini adalah konvensi di Web dimana untuk memberikan masukan pengguna
ke sebuah situs web, Anda tambahkan ke URL tanda tanya,
dan kemudian Anda memiliki sejumlah besar pasangan kunci-nilai.
Nama kunci, atau dikenal sebagai parameter di Web,
maka Anda memiliki tanda yang sama, maka Anda memiliki nilai parameter yang.
Jadi pada dasarnya nama variabel dan nilai variabel,
namun nama mereka variabel dan nilai-nilai berasal dari bentuk HTML.
Mengapa Plus sana, menurut Anda?
Karena aku tidak mengetik + di antara kata-kata saya.
[Mahasiswa, dipahami]
>> Ya, itu hanya untuk spasi. Kemungkinannya, setiap kali Anda telah melihat URL,
ada pernah ada ruang di dalamnya, jika hanya karena
jika ada, Anda tidak bisa benar-benar menyalin dan tempel
ke IM atau ke email karena akan pecah.
Anda ingin semuanya menjadi satu string karakter bersebelahan.
>> Jadi browser cukup pintar untuk menyadari, eh-eh.
Jangan hanya menempatkan ruang di sana. Biarkan saya menyandikan ruang dalam beberapa cara standar.
Salah satu konvensi untuk melakukannya adalah memiliki browser
otomatis menempatkan + di mana Anda sebaliknya akan memiliki ruang.
Jadi sekarang, pemberitahuan Google telah jenis user-friendly.
Aku pasti tidak menciptakan halaman web ini,
tetapi mereka telah prepopulated bidang teks mereka sendiri
dengan apa, tepatnya, saya mengetik masuk
Misalkan saya ingin mencari sesuatu yang lain, seperti anjing malas.
Saya hanya bisa mengetik ini di sini, re-search.
Perhatikan bahwa URL perubahan di sini,
tetapi perhatikan bahwa aku benar-benar dapat mencari apapun yang saya inginkan
hanya dengan memahami bagaimana bekerja URL.
Aku bisa melakukan kucing malas, masukkan,
dan perhatikan sekarang aku mendapatkan sangat malas - harus kita? Saya merasa seperti kita seharusnya.
Saya mendapatkan kucing sangat malas.
Baiklah. Ini adalah salah satu hal terbodoh yang telah kami lakukan.
Tapi itu adalah kucing malas.
Bagaimanapun, apa takeaway kunci di sini?
Sekarang kita semacam bermain di dunia HTTP.
HTML adalah bahasa markup ini hanya, tag terbuka, tag dekat,
yang memberitahu browser bagaimana untuk membuat konten pada halaman web.
Tapi ketika Anda mulai transmisi data di Internet
antara browser web dan server, yang mana protokol ini
dikenal sebagai HyperText Transfer Protocol mengambil alih.
Ini adalah semacam konvensi manusia, ketika Sam dan saya berjabat tangan pada hari Senin,
memulai sambungan dan kemudian menutup koneksi, ide yang sama di sini.
Bagaimana hasil Google datang kembali ke saya?
Bagaimana pengiriman formulir saya pergi ke Google?
Nah, ingat dari hari lain bahwa apa yang sebenarnya terjadi
bawah kap ketika Anda meminta halaman web,
Browser Anda mengirimkan pesan yang agak-samar seperti
GET / HTTP/1.1 untuk home page default.
>> Atau, dalam hal ini, karena saya secara khusus meminta sebelumnya
search0.html, ini kemudian akan menjadi pesan yang agak samar-
bahwa browser saya mengirimkan ke alat.
Atau, dalam hal ini dari Google, apa yang sebenarnya dikirim
adalah permintaan untuk / pencarian, dan kemudian q =? kucing malas, dengan ditambah ada.
Jadi pesan ini, bahwa saya, manusia, saya tidak pernah mengetik,
tetapi yang dikirimkan oleh browser saya, ini adalah bagaimana HTTP terjadi.
Ini adalah setara dengan tangan kami telah terguncang.
Ini adalah permintaan, dan server yang akan mengirim respon.
Jadi mari kita lihat ini di bawah tenda.
Seperti sebelumnya, kita dapat membuka bidang ini khusus dalam browser.
Lihat halaman, memeriksa elemen.
Jadi di bawah memeriksa elemen, melihat bahwa apa yang terjadi di Chrome,
dan IE dan Firefox memiliki mekanisme yang sama,
kita memiliki alat pengembang ini dapat diakses kepada kami.
Orang normal tidak menggunakan tab.
Tapi kita, sekarang, tertarik pada apa yang terjadi
bawah kap pada tingkat jaringan.
Jadi jika saya naikkan tingkat jaringan di sini,
biarkan aku pergi ke depan dan memperluas jendela ini,
membuka entri ini di sini, dan melihat header.
Jadi apa yang terjadi ketika saya meminta file dari server web
adalah browser saya mengirimkan sejumlah hal.
Dan biarkan aku melihat sumber. Jadi di bawah header permintaan,
dan ini hanya Chrome menunjukkan kepada saya beberapa output diagnostik,
semacam seperti debugger dari beberapa macam,
melihat bahwa apa yang telah saya disorot di sini adalah tepat apa
Chrome mengirimkan ke server untuk meminta sebuah file yang bernama search0.html.
Hal ini memberitahu server apa yang dianggapnya namanya,
berkat bidang usus tuan rumah, maka ada beberapa
hal yang cukup esoteris di sini, seperti ada hubungannya dengan tanggal dan waktu,
ada hubungannya dengan bahasa yang browser mengerti,
namun garis benar-benar penting adalah dua pertama di sini.
>> Apa server merespon dengan? Nah, jika kita scroll ke bawah sini
dan melihat sumber hal ini, perhatikan bahwa server
telah menanggapi dengan pesan yang agak samar juga, 304 tidak diubah.
Itu agak aneh, biarkan aku benar-benar mencoba untuk memperbaiki hal ini.
Biarkan aku tahan shift dan klik ulang di sini
untuk memaksa browser untuk benar-benar membuat permintaan ini untuk pertama kalinya.
Kemudian biarkan aku memperbesar, dan kita akan melihat sekarang bahwa respon server,
karena saya memegang pergeseran, adalah 200 OK.
Jadi Anda mungkin pernah melihat nomor 200
dalam jumlah konteks Web, tapi apa
Anda telah kadang-kadang terlihat tak terduga dari server?
404, file tidak ditemukan, 403, terlarang, 500, server error.
Jadi ada kode-kode numerik bahwa dunia menggunakan di Web
untuk menandakan kesalahan, seperti fungsi C
dapat kembali kesalahan dan utama dapat kembali kode keluar.
200, meskipun, Anda jarang melihat karena itu berarti semuanya baik-baik.
Dan 304 Anda mungkin pernah melihat karena apa itu menandakan?
Itu tidak memiliki - mari kita lihat apakah kita dapat mensimulasikan ini lagi -
Oh, sekarang sudah tidak bekerja sama. 304 mengatakan tidak diubah,
jadi mengapa server bahkan menanggapi?
Nah, untuk efisiensi, web server secara otomatis untuk Anda,
jika file tidak berubah, tidak akan memancarkan kembali seluruh file HTML.
Itu hanya akan memberitahu browser itu belum berubah.
Hanya menggunakan salinan yang sudah Anda miliki.
Jadi ada gagasan dari caching di Web
untuk kinerja, sehingga Anda tidak membuang-buang waktu dan bandwidth limbah
download file lagi dan lagi tidak perlu.
>> Tapi ini halaman web, sekarang, adalah super-sederhana,
dan hanya menunjukkan saya HTML yang datang kembali.
Mari kita benar-benar menggunakan tab jaringan sekarang untuk melakukan pencarian Google seperti rubah coklat cepat.
Biarkan aku kemudian klik CS50 pencarian,
dan sekarang, perhatikan di bagian bawah sini sejumlah barang kembali
karena ketika saya mengunjungi sebuah website nyata seperti Google.com,
mereka memiliki gambar, mereka memiliki teks, mereka memiliki bahasa yang disebut JavaScript sana.
Jadi setiap baris dalam tabel ini di sini
merupakan sesuatu yang Google dimuntahkan dalam menanggapi permintaan tunggal saya.
Yang saya peduli, meskipun, ini yang pertama.
Dan jika saya pergi ke pencarian, permintaan, klik lihat sumber di sini,
melihat bahwa, memang, pesan samar bahwa browser saya dikirim
ke Google adalah dua baris disini,
diikuti oleh beberapa informasi rahasia di sini yang akan kita abaikan untuk saat ini.
Tapi perhatikan juga, apa yang Chrome cukup berguna dengan,
itu juga menunjukkan kepada saya string query yang dikirim masuk
Jadi daripada menunjukkan saya ini, yang secara harfiah dikirim,
jika saya melihatnya diterjemahkan, Chrome, hanya untuk tujuan debugging,
untuk pengembang seperti kita, itu hanya menunjukkan saya versi manusia-ramah -
yang tidak bagaimana Anda mengeja rubah, rupanya.
Aku hanya melihat ini sekarang - tapi itu menunjukkan kepada Anda apa yang saya, rupanya, diketik.
Sementara itu, respon yang datang kembali dari server lagi 200 OK.
Tetapi termasuk dalam respon itu, tentu saja,
jika kita benar-benar melihat HTML halaman -
Maaf, ini adalah cara pintas keyboard sedikit kacau hari ini.
>> Aku akan menangani ini nanti. Jadi, jika kita benar-benar melihat sumber halaman,
yang bisa saya lakukan di sini dengan mengklik respon,
ini adalah apa yang benar-benar meludah kembali, selain itu pesan 200 OK samar dari server.
Sebuah samar sedikit, tetapi di mana semua ini berasal?
Nah, mari kita lakukan satu hal lain di sini. Perintah lain yang agak-samar,
tapi jenis yang satu ini rapi dalam hal itu mengungkapkan kepada kita apa yang terjadi di bawah tenda.
Jadi aku kembali pada Mac saya di sini, saya telah terhubung
melalui program yang disebut SSH, Secure Shell, ke server lain
karena sebagian besar komputer Harvard memblokir perintah kita akan menjalankan
karena ada perintah ini pada beberapa server disebut traceroute
yang memungkinkan Anda untuk melacak rute antara titik a dan b,
dan sejauh ini kami telah mengambil sepenuhnya untuk diberikan
bahwa saya dapat mengetikkan Google.com dan entah bagaimana mendapatkan kembali data
dari setengah seluruh negara atau setengah di seluruh dunia.
Dengan traceroute kita benar-benar dapat menyelam dalam sedikit lebih dalam
tentang bagaimana Internet bekerja, dan melihat apa yang terjadi di bawah tenda.
Jadi mari kita pergi ke depan dan sewenang-wenang melacak rute ke, katakanlah, Stanford.edu,
yang di seluruh negeri, dan tekan enter.
Perintah ini dapat menjadi super-cepat atau super-lambat,
tapi apa yang kita lihat sekarang, baris demi baris,
adalah setiap salah satu dari langkah-langkah atau hop antara kami dan Palo Alto, atau Stanford,
di mana mereka memiliki server web mereka.
Jadi, apa masing-masing baris mewakili lebih konkret, meskipun?
Sepotong jargon dari Internet? [Mahasiswa, dipahami]
>> Apa itu? [Mahasiswa, dipahami]
>> Oh, jadi ada waktu, tapi apa setiap baris - apa yang saya maksud dengan hop?
>> Nah, ada hal-hal di Internet disebut router.
Dan router, seperti namanya, rute informasi dari satu titik ke titik b.
Tapi ada beberapa hal di luar a dan b.
Ada c dan d dan e dan f antara baris 1,
yang terjadi menjadi alamat IP komputer saya,
atau alamat numerik saya, yang unik mengidentifikasi komputer saya,
dan langkah 15, yang sebenarnya server web keenam,
ternyata, yang aku menyimpulkan dari ini, atau versi 6 dari server web mereka di Stanford.
Tapi apa semacam rapi adalah, kita dapat melihat jalan
bahwa saya dan 0 s 1 mengambil dari komputer saya ke Stanford.
Jadi langkah 1 adalah alamat komputer saya sendiri.
Setiap komputer di Internet memiliki pengenal yang unik yang terlihat seperti ini.
Number.number.number.number.
Di suatu tempat di kampus ini, mungkin di pusat ilmu pengetahuan,
adalah router disebut Core Gateway 2-te83, apa pun artinya,
jadi ini adalah salah satu router besar Harvard mewah yang banyak rute lalu lintas mereka.
Berikut lain dari router Harvard, yang satu ini adalah Border Gateway,
berarti perbatasan itu mungkin di pinggiran kampus di suatu tempat.
Lalu ada satu nox, baris 4, yaitu Crossroads Utara,
yang merupakan ISP besar, penyedia layanan Internet,
bahwa tempat-tempat seperti Harvard menghubungkan hingga.
Tapi kemudian hal-hal mendapatkan sedikit menarik di baris 6.
Di mana bit saya tiba-tiba? Kansas.
Dunia memiliki kebiasaan menggunakan kode bandara di banyak hal-hal ini,
atau singkatan setidaknya untuk negara atau kota,
sehingga terlihat seperti, hanya dalam 60 ms,
paket informasi, 0 dan 1 adalah dari laptop saya
mendapat semua jalan ke Kansas, dan sekali lagi, dalam 60 ms.
>> Apalagi, setelah Kansas, mereka mengambil tur melalui Houston, mungkin,
seperti yang disarankan oleh nama server ini.
Jadi hanya sebagai server di Internet harus memiliki alamat numerik,
itu juga bisa, opsional, memiliki alamat yang sedikit lebih manusia-ramah bahwa manusia datang dengan.
Sekarang, pada langkah 8, kita tidak tahu apa ini.
Kadang-kadang router hanya jenis mengabaikan Anda,
dan mereka hanya tidak menjawab pertanyaan, jadi itu baik-baik saja.
Yang setelah langkah 8 tampaknya mana? L.A.
Perhatikan hanya dalam 78 ms, apa yang membawa kita manusia seperti 6 + jam untuk melakukannya secara fisik,
mengambil paket informasi di Internet 78 ms untuk melakukan perjalanan sejauh itu.
Langkah 10 adalah di LA juga, dan langkah 11 tampaknya sudah utara, di dekat Stanford.
Ini adalah batas router mereka, atau router perbatasan.
Beberapa langkah di Stanford yang mengabaikan kita,
dan terakhir, kami mencapai server web hanya dalam 87 ms.
Sekarang, semua angka-angka ini, sebagai samping,
hanya memberitahu Anda berapa lama waktu yang dibutuhkan untuk data untuk mendapatkan dari saya
untuk masing-masing router, dan itu tidak akumulatif.
Apa program ini dilakukan adalah, pertama kali mengirimkan pesan, pada dasarnya, ke router pertama.
Kemudian satu ke router kedua, kemudian satu ke router ketiga,
mengukur setiap kali. Jadi dalam teori, kali ini akan tumbuh
atau setidaknya cukup dekat satu sama lain,
dan, memang, orang-orang yang ada di sini di kampus super-kecil.
Segera setelah Anda mulai terjadi di seluruh negeri, dibutuhkan data yang
sedikit lebih lama untuk melakukan perjalanan, lebih dekat ke 100 ms, memberi atau mengambil.
Tapi mari kita pergi ke arah lain sekarang. Bagaimana Cambridge University di Inggris?
Biarkan aku bukannya menjalankan traceroute dari www.cam untuk Cambridge,
Ac untuk akademik.,. Uk, dan tekan enter sini.
Itu cukup sialan cepat.
Data saya benar-benar pergi ke Cambridge, Inggris, dalam hitungan detik waktu.
>> Jadi mari kita lihat jalan yang butuh.
Harvard, Harvard, Harvard, Crossroads Utara,
yang merupakan ISP, dan kemudian ini adalah Crossroads Utara, dan kemudian bam.
Apa yang ada di antara langkah 6, dan 7 router 6 dan 7?
The Samudra Atlantik. Dan kami menyimpulkan ini dari kenyataan bahwa
kita pergi dari 20 ms 80 ms sini untuk sini.
Jadi sesuatu yang mengambil 60 ms, memberi atau mengambil, untuk mendapatkan lebih.
Dan itu mungkin tubuh besar air.
Apa yang terjadi setelah itu? Nah, di sini kita berada di London,
hanya 88 ms nanti. Lebih London, lebih London,
tidak yakin di mana ini, tapi kami akan menganggap itu di luar London,
Cambridge sini, dan akhirnya kita - secara harfiah, University of Cambridge
Something.net,. Dan kemudian, akhirnya, di baris 16,
web server mereka tampaknya disebut Scorpius
bawah kap mesin, meskipun kita tahu sebagai www.
Jenis pikiran-bertiup, saya pikir. Pertama kali saya pernah melakukan ini, itu benar-benar meniup pikiran saya.
Sayangnya, Harvard blok semacam ini lalu lintas, biasanya, pada jaringan.
Jadi Anda tidak bisa melakukannya super mudah.
Sadarilah, meskipun, ini di sini adalah mungkin.
Baiklah. Mari kita 5 menit istirahat kami di sini. Kami akan kembali dan menyelam lebih dalam.
Jadi kita kembali, dan kami sudah jenis melenggang sekitar dalam arah yang berbeda beberapa di sini.
Jadi mari kita meringkas apa yang telah terjadi di sini.
Kami memulai percakapan berbicara tentang bahasa yang disebut HTML.
Sekali lagi, bukan bahasa pemrograman. Ini hanya sebuah bahasa markup
yang sebagian besar tentang estetika dan penataan konten dalam bentuk halaman web.
Tapi HTML, oleh karena itu, perlu semacam mekanisme
untuk bepergian antara browser web dan server.
HTML Oleh karena itu semacam naik di atas bahasa lainnya,
atau lebih tepat, protokol, yang dikenal sebagai HTTP.
>> Dan HTTP, seperti yang telah kita lihat sejauh ini,
adalah jenis analog dengan konvensi ini manusia berjabat tangan.
Ketika browser ingin meminta halaman dari server,
mengirimkan bahwa "mendapatkan" permintaan dari browser ke server,
dan kemudian server merespon dengan nomor seperti 200, semua baik-baik saja,
serta HTML atau beberapa nomor buruk seperti 404, file tidak ditemukan.
Tapi sementara itu, HTTP itu sendiri tidak Internet, per se.
HTTP hanya layanan, fitur dari Internet
seperti G chatting adalah layanan lain, seperti email merupakan layanan lain.
Ada segala macam hal yang dapat kita lakukan di Internet.
HTTP adalah hanya salah satu aplikasi.
Jadi di atas - HTTP adalah di atas sesuatu yang lain
yang kita tidak menyebutkan nama, Anda mungkin sudah pernah mendengar nama, TCP / IP.
Jadi cerita kami hanya diberitahu ada adalah semua tentang
bagaimana data perjalanan dari titik ke titik b.
Dan dalam hal ini, kita melihat pada tingkat yang sangat rendah
router ke router ke router ke router,
bagaimana data sebenarnya sedang dikirim.
Tapi sepanjang jalan, itu akan menghadapi berbagai hambatan.
Selain router ini, ada hal-hal yang disebut firewall di Internet,
dan sehingga data, seperti yang kita hanya transmisi
dari saya ke Stanford, dari saya ke Cambridge,
dikirim ke, pada tingkat ini, sesuatu yang disebut alamat IP.
Kami melihat ini beberapa saat yang lalu, dan alamat IP
hanya alamat numerik dari w.x.y.z bentuk,
di mana masing-masing adalah antara, memberi atau mengambil, 0 dan 255,
meskipun Anda tidak dapat cukup menggunakan semua angka-angka.
Tapi masing-masing pemegang tempat adalah angka antara 0 dan 255.
Jadi alamat IP hari ini adalah 32 bit.
>> Sekarang, yang memberi kita alamat IP berapa banyak mungkin di dunia?
Sekitar 4 miliar, karena setiap saat kita sedang menghitung dalam kekuatan dari 2
sepanjang jalan hingga 32 dari sesuatu, yang biasanya memberi kita 4 miliar.
Jadi itu banyak alamat IP, tetapi Anda mungkin telah membaca,
atau mungkin Anda sekarang melihat dalam pers populer,
dorongan menuju versi baru dari IP yang disebut IPv6.
Saat ini kita sedang menggunakan versi 4.
Ada benar-benar belum versi 5, kami hanya melompat tepat untuk 6.
Versi 6 akan menggunakan 128 bit untuk alamat IP, yang panik besar.
Kita tidak harus berlari keluar untuk beberapa waktu sekarang,
tapi kami telah mulai kehabisan alamat IP versi 4,
karena kita semua memiliki hal-hal tidak hanya seperti laptop dan desktop,
banyak dari kita memiliki telepon, banyak dari kita memiliki perangkat lain
seperti TiVo dan sejenisnya yang memiliki alamat IP sendiri.
Harvard sendiri memiliki puluhan ribu komputer.
Jadi dunia ini benar-benar kehabisan alamat IP, setidaknya dari formulir ini.
Jadi selama beberapa tahun ke depan, Anda akan melihat alamat
pada komputer Anda sendiri mungkin perlahan-lahan mengubah
sebagai perusahaan semakin banyak dan universitas mulai mendukung versi yang lebih baru.
Tapi alamat IP tidak cukup untuk komputer untuk meminta data dari komputer b.
Karena komputer b bisa menjadi server,
dan server, seperti yang saya sebutkan sebelumnya, dapat melakukan hal-hal tandan.
Hal ini dapat meng-host halaman web, dapat menjadi server email,
dapat menjadi server Skype, dapat menjadi server obrolan G.
>> Semua berbagai layanan yang dapat disediakan di server
semua bisa, secara fisik, berada di mesin yang sama.
Jadi selain alamat IP,
dunia memiliki hal-hal yang disebut port di Internet.
Sebuah port hanya nomor, sehingga ada nomor unik untuk HTTP.
Nomornya adalah 80.
HTTP juga menggunakan nomor 443, namun lebih khusus, untuk HTTPS dienkripsi.
Setiap kali Anda melihat s, untuk aman, yang menggunakan nomor yang berbeda.
Ada nomor lain, seperti 25, yang digunakan untuk sesuatu yang disebut SMTP, atau dikenal sebagai email.
Ada sesuatu yang disebut 22 untuk SSH,
dan ada sejumlah besar pelabuhan lain di luar sana.
Sekarang, kita manusia jarang melihat angka-angka.
Namun, ketika Anda mengetikkan alamat seperti http://www.facebook.com,
browser diam-diam memasukkan 80, karena Anda menggunakan HTTP.
Jika Anda, sebagai gantinya, HTTPS jenis, itu diam-diam memasukkan 443.
Dan kita bisa melihat jenis ini secara manual jika saya menarik sebuah Brower
dan pergi ke http://www.facebook.com:80.
Oleh karena itu secara eksplisit tidak hanya mengutip nama website
tapi port yang saya ingin berbicara dengan, dan tekan enter.
Perhatikan menghilang, karena browser mengasumsikan,
oh, 80, aku bahkan tidak akan repot-repot untuk menunjukkan bahwa Anda.
Tapi alasan untuk ini adalah bahwa jika saya benar-benar ingin mengirim seseorang email,
Saya benar-benar akan mengirimnya kepada mereka pada port 25, bahwa menjadi SMTP.
Sedikit terlalu menyederhanakan, tapi beberapa dari Anda memiliki teman-teman
yang benar-benar bekerja di Facebook, dan mereka, sama, memiliki server yang menerima email.
>> Setiap kali Anda mengirim email, gmail apa yang dilakukannya bagi Anda
atau Outlook atau apa pun program yang anda gunakan,
itu semacam diam-diam memasukkan nomor itu juga, 25, dalam kasus itu.
Ini kombinasi alamat IP dan nomor yang unik mengidentifikasi
komputer di Internet dan layanan tertentu pada komputer itu.
Sekarang, tentu saja, sebagian besar dari kita mungkin pernah diketik secara manual alamat IP.
Mungkin Anda miliki dalam alat, tetapi di dunia nyata, tidak begitu banyak.
Mengapa kita tidak mengetik alamat IP ke browser?
Ini akan bekerja, pada kenyataannya, kita bisa melihat ini, mari saya tunjukkan
satu lagi perintah yang harus bekerja paling di mana saja di kampus Harvard pada Mac atau PC.
Ada perintah ini disebut nslookup, nama lookup server.
Jika saya mencari www.cnn.com, ternyata memiliki CNN - oh, menarik.
CNN telah mulai menggunakan layanan web Amazon.
Anda mungkin tahu dari komputasi awan, salah satu Amazon satu pemain besar dalam komputasi awan.
Apa yang saya lakukan adalah hanya, aku berkata, 'Beri aku alamat server web CNN,'
tapi ternyata bahwa server web CNN dikelola oleh Amazon,
Amazon layanan web, ini menunjukkan.
Dan alamat server yang ini di sini.
Jadi saya tidak yakin apakah ini akan berhasil, karena mereka tidak terbiasa menggunakan Amazon.
Tapi mari kita coba ini, http://, alamat IP, masukkan, dan -
apakah itu akan berhasil?
Ya. Hal ini akan bekerja. Internet super-lambat hari ini.
Tapi, suatu saat, Anda akan melihat beberapa berita.
Di sana kami pergi. Bank of America sedang digugat. Baiklah.
>> Hal ini karena alamat IP hanya terjadi oleh identik dengan www.cnn.com.
Tentu saja, itu akan menjadi pemasaran yang mengerikan untuk mengatakan, kunjungi kami di Web di 50.112.94.127.
Anda tidak akan pernah ingat. Jadi, bahkan hari ini Anda mungkin ingat hal-hal
seperti 1-800-COLLECT atau mnemonik dunia datang dengan untuk nomor telepon.
Yang, sebelum ponsel, yang agak sulit untuk diingat
sampai Anda hanya bisa mengetik dalam dan melupakannya.
Jadi Web, juga memiliki konvensi ini nama dan alamat IP,
dan ada hal-hal di luar sana yang disebut DNS server,
sistem nama domain server, yang menerjemahkan alamat IP ke nama dan sebaliknya.
Jadi itulah apa yang terjadi di bawah tenda.
Pada akhirnya, kita memiliki TCP / IP, yang merupakan protokol ini sangat rendah tingkat
itu, benar-benar, hanya mendapatkan 0 dan 1 di seluruh Internet,
dan ia melakukannya dengan menempatkan mereka ke dalam amplop virtual,
jika Anda mau, dan menulis di luar amplop
alamat IP dari tujuan, serta nomor port numerik
dari layanan pada itu tujuan yang ingin berbicara dengan.
Sementara itu, di amplop ada juga sesuatu yang dikenal sebagai alamat pengirim,
yang merupakan alamat IP Anda, sehingga ketika CNN mendapat paket informasi dari Anda,
membuka amplop maya, melihat bahwa Anda ingin halaman rumah,
ia tahu dari bagian pengirim amplop maya siapa yang harus mengirim kembali ke HTML.
Jadi mari kita lihat ini secara rinci sedikit lebih.
Ini adalah dari sebuah perusahaan bernama Ericson, dari beberapa tahun lalu.
Dan mereka mengambil beberapa kebebasan dengan bagaimana Internet benar-benar bekerja,
tetapi melukiskan gambaran yang jauh lebih visual daripada kapur hanya di sini.
Jadi saya memberi Anda "Sedikit Internet."
>> [Narator] Untuk pertama kalinya dalam sejarah,
orang dan mesin bekerja sama, mewujudkan mimpi.
Sebuah gaya menyatukan yang tidak mengenal batas geografis.
Tanpa memandang ras, suku, atau warna.
Sebuah era baru di mana komunikasi benar-benar membawa orang bersama-sama.
Ini adalah
The Dawn of Net.
Ingin tahu cara kerjanya? Klik di sini untuk memulai perjalanan Anda ke Net.
Sekarang, apa yang terjadi ketika Anda mengklik pada link tersebut?
Anda memulai arus informasi.
Informasi ini perjalanan ke dalam ruang surat pribadi Anda
mana paket IP Mr itu, label, dan mengirimkannya dalam perjalanan.
Setiap paket terbatas dalam ukuran.
Ruang mail harus memutuskan bagaimana membagi informasi
dan bagaimana paket itu.
Sekarang, paket membutuhkan label yang berisi informasi penting
seperti alamat pengirim, alamat penerima, dan jenis paket itu.
Karena ini paket tertentu akan keluar ke Internet,
itu juga mendapat alamat untuk server proxy,
yang memiliki fungsi khusus, seperti yang akan kita lihat nanti.
Paket ini sekarang diluncurkan ke jaringan area lokal, atau LAN.
Jaringan ini digunakan untuk menghubungkan semua komputer lokal '
router, printer, dan sebagainya, untuk pertukaran informasi dalam dinding-dinding fisik bangunan.
LAN adalah tempat yang cukup terkendali, dan, sayangnya,
kecelakaan bisa terjadi.
Jalan raya dari LAN dikemas dengan semua jenis informasi.
Ini adalah paket IP, paket Novell, AppleTalk paket.
Mereka akan melawan lalu lintas, seperti biasa.
Router lokal membaca alamat dan, jika perlu,
mengangkat paket ke jaringan lain.
Ah, router. Sebuah simbol kontrol di dunia yang tampaknya tidak teratur.
[Router bergumam dan berbicara dengan dirinya sendiri]
>> [Narator] Itu dia, sistematis, tidak peduli, metodis,
konservatif, dan kadang-kadang tidak cukup sampai dengan kecepatan.
Tapi setidaknya dia yang tepat, untuk sebagian besar.
Seperti paket meninggalkan router, mereka membuat jalan mereka ke dalam internet perusahaan
dan kepala untuk beralih router.
Sedikit lebih efisien daripada router, switch router bermain cepat dan lepas dengan paket IP,
cekatan routing mereka di sepanjang jalan mereka.
A 'penyihir pinball,' digital jika Anda mau.
[Router beralih berbicara untuk dirinya sendiri]
[Narator] Seperti paket tiba di tempat tujuan,
mereka dijemput oleh antarmuka jaringan,
siap untuk dikirim ke tingkat berikutnya.
Dalam kasus ini, proxy.
Proxy digunakan oleh banyak perusahaan sebagai semacam orang tengah
dalam rangka untuk mengurangi beban pada koneksi internet
dan untuk alasan keamanan, juga.
Seperti yang Anda lihat, paket semua dari berbagai ukuran tergantung pada konten mereka.
Proxy membuka paket dan mencari alamat web atau URL.
Tergantung pada apakah alamat diterima,
paket dikirim ke Internet.
Namun demikian, beberapa alamat yang tidak bertemu dengan persetujuan dari proxy.
Artinya, pedoman perusahaan atau manajemen.
Ini sewenang ditangani.
Kita akan memiliki semua itu.
Bagi mereka yang membuatnya, itu di jalan lagi.
>> Selanjutnya, firewall.
Firewall perusahaan melayani dua tujuan.
Ini mencegah beberapa hal agak menjijikkan dari Internet bisa masuk ke Intranet,
dan juga dapat mencegah informasi sensitif dari perusahaan yang dikirim keluar ke Internet.
Setelah melalui firewall, router mengambil paket
dan menempatkan mereka ke jalan yang lebih sempit, atau bandwidth, seperti yang kita katakan.
Jelas, jalan tidak cukup luas untuk membawa mereka semua.
Sekarang, Anda mungkin bertanya-tanya apa yang terjadi pada semua paket yang tidak membuatnya sepanjang jalan.
Nah, ketika Mr IP tidak menerima pengakuan
bahwa paket telah diterima pada waktunya,
ia hanya mengirimkan paket pengganti.
Kami sekarang siap untuk memasuki dunia internet.
Sebuah sarang laba-laba dari jaringan interkoneksi yang span seluruh dunia.
Di sini, router dan switch membangun hubungan antara jaringan.
Sekarang, Net adalah sebuah lingkungan yang sama sekali berbeda daripada Anda akan menemukan
dalam dinding-dinding pelindung dari LAN Anda.
Di sini, itu adalah Wild West.
Banyak ruang, banyak peluang,
banyak hal untuk mengeksplorasi dan tempat-tempat untuk pergi.
Berkat kontrol yang sangat sedikit dan regulasi,
ide-ide baru menemukan tanah subur untuk mendorong amplop kemungkinan mereka.
Tapi karena kebebasan ini, bahaya tertentu juga mengintai.
Anda tidak akan pernah tahu kapan Anda akan bertemu dengan ping ditakuti kematian,
sebuah versi khusus dari ping permintaan normal,
yang idiot terpikir untuk mengacaukan host tidak curiga.
Jalur paket kami mengambil mungkin melalui satelit,
saluran telepon, nirkabel, atau kabel bahkan melintasi samudra.
Mereka tidak selalu mengambil rute tercepat atau terpendek mungkin,
tetapi mereka akan sampai di sana pada akhirnya.
Mungkin itu sebabnya kadang-kadang disebut "The World Wide Tunggu."
Tapi ketika semuanya bekerja dengan lancar,
Anda dapat menghindari dunia lima kali selama di drop dari topi, secara harfiah.
Dan semua untuk biaya panggilan lokal atau kurang.
Menjelang akhir tujuan kita, kita akan menemukan firewall lain.
>> Tergantung pada perspektif Anda sebagai paket data,
firewall bisa menjadi benteng keamanan atau musuh yang ditakuti.
Itu semua tergantung pada sisi mana Anda berada dan apa niat Anda.
Firewall dirancang untuk membiarkan hanya paket yang memenuhi kriteria.
Firewall ini beroperasi pada port 80 dan 25.
Semua upaya untuk masuk melalui pelabuhan lain ditutup untuk bisnis.
Port 25 digunakan untuk paket mail,
sedangkan port 80 adalah pintu masuk untuk paket dari internet ke server web.
Di dalam firewall, paket disaring lebih teliti.
Beberapa paket membuatnya mudah melalui bea cukai,
sementara yang lain terlihat hanya sedikit meragukan.
Sekarang, petugas firewall tidak mudah tertipu,
seperti saat ini ping paket kematian mencoba untuk menyamarkan dirinya sebagai sebuah paket ping normal.
[Firewall petugas berbicara dengan paket]
[Narator] Bagi paket cukup beruntung untuk membuat sejauh ini,
perjalanan hampir berakhir.
Ini hanya berbaris pada interface yang akan diambil sampai ke server web.
Saat ini, web server dapat berjalan pada banyak hal,
dari mainframe ke web cam ke komputer di meja Anda.
Mengapa tidak kulkas Anda?
Dengan pengaturan yang tepat, Anda dapat mengetahui apakah Anda memiliki bakat
untuk ayam Cacciatore, atau jika Anda harus pergi berbelanja.
Ingat, ini adalah fajar Net.
Hampir semuanya adalah mungkin.
Satu demi satu, paket diterima,
dibuka, dan membongkar.
Informasi yang dikandungnya, yaitu, permintaan Anda untuk informasi,
dikirim ke aplikasi web server.
Paket itu sendiri adalah daur ulang,
siap untuk digunakan lagi, dan penuh dengan informasi yang Anda minta,
ditangani, dan dikirim keluar dalam perjalanan kembali kepada Anda.
Kembali melewati firewall, router, dan melalui Internet.
Kembali melalui firewall perusahaan Anda
dan ke antarmuka Anda,
siap untuk memasok web browser Anda dengan informasi yang Anda minta.
Artinya, film ini.
Senang dengan upaya mereka, dan mempercayai dunia yang lebih baik,
terpercaya kami paket data naik off bahagia ke matahari terbenam hari yang lain,
mengetahui sepenuhnya mereka telah melayani tuannya dengan baik.
Sekarang, bukankah itu happy ending?
[Malan] Oke, itu sudah cukup. Kita akan melihat Anda minggu depan.
[CS50.TV]