>> Baiklah.
Jadi mari kita menyelam ke dalam beberapa butir-butir teknikal.
Semoga dengan beberapa apa sesuatu soal lisut.
HTTP, matlamat hari ini adalah semata-mata memberikan kita mental
model bagi jenis permohonan
dan projek-projek kami akan melaksanakan.
Pada hari Rabu, kami akan beralih dengan lebih mendalam kepada perkara-perkara seperti MVC
dan terutamanya kepada Laravel dan dalam pengurusan risiko operasi
dengan yang kita akan bercakap dengan database.
Tetapi hari ini, mari kita menetapkan mengadakan bagi mereka perbualan.
HTTP adalah apa?
Hypertext Transfer Protocol?
OK apa maksudnya?
Yeah.
[Didengar Catatan]
OK. Tutup.
Ia adalah salah satu yang lain.
Tidak HT - itulah HTML itu.
HTTP ialah yang melakukan apa yang sebenarnya?
>> Adakah itu perkhidmatan yang seperti menghantar kembali teks
-alik antara pelayan?
>> Ya betul-betul.
Ia pelayan.
Jadi, benar-benar ia protokol.
Ia adalah set konvensyen yang digunakan
untuk menghantar maklumat kembali dan alik antara pelanggan dan pelayan.
Dan maklumat yang biasanya mengambil bentuk HTML,
Hypertext Markup Language yang adalah tag terbuka dan tag dekat.
Jadi, jika anda mempunyai beberapa pelanggan diwakili di sini di sebelah kiri
dan beberapa pelayan diwakili di sini di sebelah kanan.
Anak panah pergi dan balik
di antara mereka mewakili yang HTTP bahasa.
Dan jika biasa dengan 50 untuk contoh tahun lepas atau pasangan
tahun dahulu anda mungkin ingat bahawa kita menyifatkannya
sebagai protokol dalam erti kata bahawa apabila saya mula-mula bertemu dengan seseorang,
Saya mungkin menghulurkan tangan saya dan berkata, khabar dan anda mungkin berkata -
>> Hello.
>> Hello. Dan kini, jenis yang transaksi antara pelanggan
dan pelayan selesai.
Baiklah.
Jadi HTTP hanya set konvensyen.
Dan di antara orang konvensyen adalah untuk menghantar mesej tertentu.
Jadi misalnya, mari kita membuka Chrome.
Dan untuk kursus ini, anda boleh pasti menggunakan sebahagian besar mana-mana pelayar,
tetapi Chrome cenderung untuk menjadi mungkin yang paling popular pada hari ini.
Kerana ia mempunyai keseluruhannya suite alat dibina masuk
Mari kita pergi ke hadapan dan Memeriksa Unsur.
Biar saya pergi ke tab Rangkaian dan biarlah saya pergi ke sesuatu
seperti http://www.cs164.net dan tekan Enter
selepas pertama memukul Rekod membungkus kita mendapatkan diarahkan semula.
Dan sekarang kita akan untuk melihat sejumlah
baris di dalam jadual ini.
Apakah setiap baris ini mewakili
apabila anda melawat sebuah laman web?
Yeah?
[Didengar Catatan]
Tepat sekali. Semua fail-fail Saya hanya meminta ditunjukkan
sebagai barisan individu dalam bahawa jadual sedikit di sana,
tetapi menunggu fail.
Saya hanya meminta satu fail seperti, kanan,
mungkin index.html atau index.php.
Mereka boleh menjadi pautan, betul?
Sudah tentu ada imej tag dalam sana,
ada link untuk tag CSS, ada tag skrip
untuk JavaScript dan sejumlah tag lain
yang benar-benar mungkin menarik
dalam fail tambahan jenis secara rekursif.
Dan jadi itulah apa yang kita lihat.
Jika kita tatal ke atas sekarang untuk bahagian paling atas ini,
melihat bahawa kita mula-mula melihat satu yang sebenarnya jenis ingin tahu.
Ia mengatakan laman web kami berpindah buat sementara waktu,
kod status supaya untuk bercakap adalah 302.
Ada satu lagi yang sama, 301 yang telah berpindah secara kekal.
Dan jika anda bergerak secara sementara atau kekal apa maksudnya?
Apakah yang perlu mata anda cari dalam perintah
untuk menjawab mana yang kita bergerak ke?
Semasa dan panjang.
OK. Jadi boleh pasti membuat kesimpulan di mana kita berakhir.
Dan nampaknya saya berakhir di canvas.harvard.edu / sesuatu
yang jauh lebih sukar untuk diingati.
Tetapi yang lebih teknikal, saya mahu untuk mendiagnosis isu arah semula.
Saya mahu memahami di mana saya pergi dari titik A ke titik B
ke titik dot, dot, dot canvas.harvard.edu
dalam ini lebih batin antara muka header.
Bagaimana saya menjawab persoalan borang untuk di mana saya bergerak?
Lokasi. Baiklah.
Jadi jika saya tatal ke bawah di sini kepada Header Response,
melihat bahawa ini adalah header dan biarlah saya mengubahnya.
Ini adalah jenis yang cukup versi dicetak dari Chrome.
Mari kita klik pandangan sumber.
Ini adalah teks yang disimpan yang web server Apache.
Dan saya tahu bahawa dengan sambil mengerling ke arah garis ini di sini.
Dan Apache hanya percuma dan perisian sumber terbuka.
Ia mungkin yang paling popular perisian pelayan web di luar sana.
Yang merupakan hasil daripada berjabat tangan kembali kepada saya.
Dan jika saya semacam melihat apa yang di dalam tangan
atau sampul maya yang mewakili paket,
akan merentasi dawai di dalam
daripada yang ini beberapa baris teks.
Dan kerana pelayar diri mereka bercakap HTTP,
mereka telah diprogramkan oleh Google dan Microsoft
dan syarikat-syarikat lain untuk mencari baris ini.
Dan apabila melihat lokasi: apa yang ia lakukan dengan URL
selepas kolon mungkin?
Ia pergi kepadanya.
Dan kita boleh melihat ini dalam mana-mana cara.
Malah, yang sangat berguna alat terutamanya di Linux
dan Mac OS adalah jika saya membuka tetingkap terminal di sini
dan saya curl dan saya-I dan kemudian paste URL yang ada.
Ia adalah satu tabiat yang baik untuk menggunakan sebut harga
kerana jika anda pernah mempunyai soalan tanda
atau aksara funky lain, anda boleh sebenarnya jenis
daripada mengelirukan baris arahan.
Tetapi jika anda memetik URL di sana, sekarang kita akan melihat dengan jelas di semua
daripada header yang datang kembali.
Dan dalam kes ini, sebenarnya Saya yang salah.
Saya URL kanvas.
Mari kita buat http://www.cs164.net.
Enter. Terdapat tepat mereka header sama.
Dan jika saya mahu melihat seterusnya apa yang kembali,
Saya hanya boleh melakukan ini secara manual.
Jadi curl adalah hanya jenis cepat dan alat diagnostik kotor di sini,
curl-I dan kini URL itu lagi dan ini adalah semua pengepala
yang kini kembali dari canvas.harvard.edu.
Apakah maklumat tambahan yang adalah mereka menghantar kami?
Ia adalah satu potong sedikit off.
Biar saya bergerak lebih ini.
Jadi salah satu ayat ini yang menarik.
Terperinci supaya kandungan, itu berapa banyak bait berada di dalam
sampul surat maya yang datang kembali.
Jenis kandungan itu HTML, ia mungkin sesuatu yang berbeza
jika ia PNG atau a GIF atau JPEG.
Malah, amnya, apa yang tali ini dipanggil?
Terdapat ini unik tali di dunia
yang secara berasingan jenis data yang berbeza.
Ini adalah apa yang dikenali sebagai Jenis MIME, jenis M-I-M-E.
Jadi dunia telah dipiawaikan
itu. png saya fikir adalah "image / png".
Dunia telah dipiawaikan yang dalam fail HTML adalah teks / html.
Dunia telah dipiawaikan yang mp4 satu, fail filem adalah video/mp4.
Jadi ini adalah token unik yang biasanya menggunakan pelayar
untuk menentukan sama ada untuk bermain ia sebagai sebuah filem, untuk memaparkannya
sebagai imej, untuk memberi sebagai HTML atau sebagainya.
Apa pelayan tidak - Instructure syarikat di sebalik kanvas
nampaknya digunakan?
Jadi Apache juga, jadi mereka menggunakan alat yang sama dan kita dapat melihat
yang melalui talian ini di sini.
Sebagai mengetepikan, mereka telah benar-benar melakukan sesuatu yang bijak
bahawa tidak semua laman web yang berbuat.
Selalunya laman web meludah keluar,
bukan sahaja bahawa mereka berjalan Apache tetapi juga
bahawa mereka berjalan Apache versi 2.1.3.
Tetapi lelaki ini telah pintar dan dilumpuhkan nombor versi.
Mengapa yang pintar?
Yeah.
>> Mungkin kerana tertentu versi mungkin ditemui
dan mempunyai tertentu kelemahan
[Didengar] jelas.
>> Tepat sekali.
Ia berpotensi ancaman keselamatan.
Jika anda pada dasarnya penyiaran dunia, hey,
kami menjalankan versi ini.
Hey kita menjalankan versi ini.
Ia bukan yang keras dengan Google atau dengan hanya curl juga mencucuk
alamat IP sekitar rawak
dan mencari orang berjalan buggy perisian dan kemudian menyerang mereka
dengan apa jua didokumenkan bermakna ada.
Sekarang, mengapa ia masih berkata Apache?
Boleh dikatakan, bahawa adalah jenis maklumat cuma-cuma.
Nah, Apache menjadikannya mudah untuk mematikan nombor versi
tetapi tidak mereka sort daripada belakang tabir penjenamaan dengan cara ini.
Dan ini adalah bagaimana Google dan lain-lain syarikat tahu apa yang pelayan web
orang yang berjalan kerana mereka hanya memberitahu seluruh dunia
setiap kali anda melawat mereka.
Jadi cookies akan kembali juga.
Tetapi anda masih ingat bahawa cookies nombor jenis besar yang unik
yang biasanya suka suatu cap tangan pada pengguna.
Fail kecil atau sekeping data ditanam dalam pelayar
ingat yang pengguna adalah.
Status 200 adalah baik.
X-kanvas-Meta, jadi apa yang semua ini?
Well, cerita panjang pendek, dunia juga membolehkan dunia
untuk datang dengan sewenang-wenangnya, HTTP header dan jika anda awalan mereka
dengan X, yang hanya bermakna mereka adat.
Dan ia adalah cara yang bagus walaupun untuk tujuan diagnostik
jika anda sedang membangunkan aplikasi berasaskan web
dan anda mahu dapat
untuk melihat di sebalik tabir anda tahu apa yang menyokong pelayan akhir meludah
keluar jawapan ini atau apa yang nombor versi sedang menjalankan
pada pelayan ini.
Atau apa yang dalamannya Alamat IP,
apa-apa perkara di mana anda mungkin mahu beberapa imbasan dalaman
pada sesuatu yang berlaku, anda boleh meludah
keluar sewenang-wenangnya anda sendiri Header HTTP dengan cara itu.
Tetapi cerita ini bermula dengan membuka laman web kursus ini.
Dan kita melihat semua ini baris dalam tab Rangkaian.
Yang pertama adalah yang paling kepentingan yang diarahkan kami
ke depan dan kemudian kami mendapat menyokong sambutan ini di sini.
Jadi, di mana adalah canvas.harvard.edu?
Mari kita menolak sedikit lanjut dan jenis
daripada ikuti serbuk roti.
Canvas.harvard.edu adalah nampaknya dimiliki oleh Harvard.
Mereka mencipta sub-domain ini dipanggil canvas.harvard.edu.
Bagaimana saya akan memikirkan di mana
dalam canvas.harvard.edu dunia nyawa?
Atau mungkin lebih khusus apa yang alamat IP?
Bagaimana kita boleh memikirkan bahawa?
Yeah?
[Didengar Catatan]
Sudah tentu.
Jadi, itu sebenarnya menjawab kepada beberapa soalan di sana.
Alat pertama seperti mudah akan menjadi sesuatu yang dinamakan nslookup
walaupun ia dipanggil perkara-perkara lain.
Nameserver Lookup dan Saya boleh menaip sesuatu
seperti canvas.harvard.edu.
Enter. Dan ini akan memberikan saya kembali nampaknya sejumlah
jawapan.
Tetapi membolehkan melihat jika tidak boleh memahami ini.
Jadi nampaknya,
canvas.harvard.edu adalah nama berkanun
untuk ini kejam perkara mencari,
Harvard-vanity.instructure.com.
Jadi, apa yang berlaku di sini?
Walaupun sementara itu, jika kita terus membaca,
Harvard-vanity.instructure.com mempunyai nama berkanun
daripada sesuatu yang lebih samar,
Harvard-170 sesuatu -Kita-timur-1.elb.amazon.aws.
Selain itu, perkara yang memutuskan
untuk nampaknya tiga alamat IP yang berbeza.
Jadi apa yang di dunia adakah semua ini bermakna?
Yeah?
[Didengar Catatan]
OK. Baik. Dan biarlah saya tweak satu perkara yang anda berkata,
ia tidak benar-benar kandungan rangkaian penghantaran.
'Sebab itu biasanya yang bermakna ia kandungan statik
dan kerana kebanyakan laman web secara dinamik didorong,
Saya tidak akan menerangkan ini sebagai CDN yang
tetapi ia adalah Amazon menjadi tuan rumah pelayan.
Amazon menawarkan perkhidmatan yang dipanggil Amazon Elastic Compute Cloud,
EC2 bagi pendek.
Dan ini adalah hanya web pelayan sering berjalan Apache
atau bahagian-bahagian lain perisian bahawa anda boleh menyewa dasarnya
dengan membayar Amazon beberapa sen atau beberapa ringgit jam
dan sebenarnya anda menjalankan anda kod pada pelayan mereka.
Dan dengan cara yang mana mereka jangan ini mereka memberikan samar
nama domain kelihatan seperti ini yang seterusnya mengakibatkan kepada satu
atau lebih alamat IP seperti ketiga-tiga di sini.
Dan seterusnya, anda boleh membuat alias
yang lebih banyak mesra manusia
untuk yang sebaliknya benar-benar alamat Amazon unmemorable.
Dan dalam kes ini, syarikat Instructure memutuskan
untuk membuat sedikit alamat lebih dilupakan,
Harvard-vanity.instructure.com
tetapi itu akan menjadi satu jenis kejam perkara untuk kita
untuk melawat laman web kursus.
Jadi Harvard pula dicipta lain alias yang lebih
hanya canvas.harvard.edu.
Dan semua teknik-teknik ini adalah memanfaatkan sesuatu yang dinamakan DNS,
Sistem Nama Domain.
Dan selagi sistem pentadbir mempunyai akses
untuk itu Harvard atau ini Instructure Pelayan DNS,
anda boleh membuat alias ini.
Dan jika anda lelaki, untuk projek-projek anda,
membuat keputusan untuk membeli domain menamakan selama 5 dolar,
10 dolar atau apa sahaja.
Dan juga membayar untuk web host
atau hanya menggunakan didapati secara bebas tuan rumah web dan anda mahu ia
untuk benar-benar tidak hidup pada sesuatu random.com
tetapi pada domain anda sendiri nama yang anda beli selama 5
atau 10 dolar ini adalah jenis maklumat konfigurasi
bahawa kita akan meneroka ke arah akhir semester.
Jika dan apabila ia datang masa untuk menghantar sesuatu secara terbuka
supaya ia boleh hidup di sebuah URL lebih menarik.
Biar saya fikir seketika 'Menyebabkan anda lelaki adalah jenis
daripada tidak perlu bunching sehingga di sana.
Adakah anda ingin canggung hanya jenis datang dan duduk
di belakang atau di tengah-tengah?
Sekiranya saya tidak menarik perhatian kepada anda?
Ayuh masuk
Itu mungkin lebih tidak selesa di sana.
[Jeda]
Baiklah.
OK. Dialu-alukan.
Baiklah.
Oleh itu, bagaimana yang kini meninggalkan kita?
Jadi entah bagaimana kita yang lain dan kami akan menyeberangi jambatan ini jika
dan apabila tiba masanya dari segi
daripada DNS bagaimana anda akan benar-benar mengkonfigurasi semua itu.
Beberapa bagaimana atau lain-lain, permintaan HTTP ini,
berjabat tangan awal ini sampai pelayan pada satu
mereka alamat IP.
Pada pelayan itu adalah sesuatu dipanggil pelayan web.
Tidak menghairankan.
Tetapi apa yang benar-benar dari segi teknikal adalah pelayan web?
Anda jenis mengambil ungkapan yang mudah tetapi apa yang ia?
Apa adalah pelayan web?
Yeah?
[Didengar Catatan]
OK. Jadi, ia hanya komputer dengan memori dan input.
Anda tahu ia mungkin kelihatan
seperti gambar yang sebelum ini juga walaupun satu ini adalah sedikit
retro dan lebih daripada desktop atau komputer menara.
Ya, ia hanya sebuah komputer.
Tetapi dari segi teknikal, pelayan web bukan komputer per katakan.
Kita sebagai jenis manusia mempunyai pelayan web lama conflated
dan pelayan e-mel peranti fizikal.
Tetapi pelayan web benar-benar adalah suatu perisian.
Ia adalah satu perisian yang dijalankan pada komputer fizikal.
Oleh itu, anda boleh mempunyai pelayan e-mel dan pelayan web
dan pelayan carta dan mana-mana beberapa pelayan lain
atau lebih dengan betul perkhidmatan berjalan di atas
komputer tertentu dan semua orang-orang perkhidmatan boleh hidup
di alamat IP yang sama oleh itu.
Jadi, bagaimana - jika anda mempunyai anda jangan mempunyai pelbagai perkhidmatan
atau pelayan dijalankan pada komputer yang sama, bagaimana apabila sifar
dan orang-orang yang datang dalam pada mereka melalui internet,
adakah komputer tahu sama ada untuk bertindak balas sebagai pelayan e-mel
dengan laman web, dengan berbual?
Yeah.
[Didengar Catatan]
Baik. Tepat sekali.
Jadi pelayan web mendengar pada apa yang dipanggil port.
Dan jika anda telah mengambil CS143 Rangkaian, anda mungkin tahu
pelabuhan-pelabuhan ini berkaitan protokol seperti TCP
yang anda mungkin di kurangnya mendengar atau UDP.
Dan ini pelabuhan atau nombor port adalah pengenalan hanya unik
yang mengenal pasti perkhidmatan.
Jadi 80 adalah web, 25 adalah e-mel, 23 adalah Telnet, 22 adalah SSH
dan ada berpuluh-puluh atau beratus-ratus
daripada yang lain walaupun ada hanya beberapa orang yang sangat popular.
Dan ini adalah salah satu cara untuk komputer dengan satu alamat IP
untuk menyusun daripada multipleks di kalangan jenis permintaan
dan bertindak balas dengan sewajarnya.
Jadi apakah ini sebenarnya bermakna?
Oleh itu, kita tidak perlu pelayar web.
Kita tidak perlu keriting untuk sebenarnya bercakap dengan pelayan web.
Kita hanya perlu memahami apa yang protokol dan bagaimana ia berfungsi
dan saya dirujuk kepada ini sebentar tadi.
Telnet adalah jenis satu program sekolah lama.
Kembali pada hari saya, kami menggunakan menggunakannya untuk menyemak e-mel
tetapi ia adalah benar-benar tidak selamat.
Ia hanya alat yang melalui yang anda boleh menghantar arahan teks
ke komputer lain.
Dan kembali pada hari itu,
mereka arahan teks sering dimasukkan nama pengguna anda
dan kata laluan anda dengan ada jenis penyulitan.
Jika anda biasa dengan SSH,
SSH adalah cukup banyak Telnet tetapi dengan penyulitan.
Jadi, itu sedikit satu melampaui batas.
Tetapi saya boleh berpura-pura sebagai manusia dengan tetingkap terminal
dan program sekolah lama ini Telnet menjadi pelayar web.
Saya boleh menaip sesuatu seperti telnet www.cs164.net
dan malangnya jika saya hanya tekan Enter, cuba yang
tetapi apa-apa seolah-olah yang akan berlaku.
Dan itu kerana secara lalai, dunia memutuskan tahun yang lalu
bahawa port lalai Telnet adalah 23
kerana saya secara ringkas menyebut untuk masa lalu.
Tetapi saya tidak mahu Telnet per katakan.
Saya ingin menggunakan Telnet seperti ini program teks untuk berpura-pura
menjadi pelayar web di Chrome dan IE dan pelayar yang lain
secara lalai telah keras dikod oleh Google dan Microsoft
untuk tidak bercakap kepada 23 tetapi 80 atau mungkin 443
untuk laman web berasaskan SSL.
Dan kini, notis saya cuba dan saya menyambung ke pelayan web.
Saya akan sekarang, pergi ke hadapan dan mengatakan sesuatu seperti khabar.
Dan nampaknya ini mempunyai hanya berpindah secara kekal.
Saya menghantar beberapa arahan palsu
dan yang menghantar saya kembali ke alamat ini di sini.
Jadi, mari kita benar-benar melakukan ini sedikit berbeza.
Mari kita benar-benar melihat berkata, GET/HTTP/1.1.
Jadi apa yang saya lakukan?
Ini adalah arahan.
Ini adalah jenis saya berjabat tangan, jadi untuk bercakap.
Apakah ke hadapan slash mungkin menunjukkan?
Direktori rumah.
Jadi direktori rumah di sini ia hanya bermaksud -
baik mari kita memanggilnya akar laman web.
Apa sahaja fail lalai adalah, mungkin ia index.html,
mungkin ia index.php
dan HTTP/1.1 asasnya versi terbaru HTTP.
Jadi saya berpura-pura menjadi pelayar itu semasa cantik
supaya ia bertindak balas ia saya kerana saya berharap.
Dan saya pergi ke hadapan dan tekan Enter dua kali
kerana cara gerak kerja adalah bahawa apabila anda melihat garis kosong,
adakah pelayan web kemudian bertindak balas.
Tetapi malangnya ini adalah permintaan yang tidak baik.
Pelayar menghantar permintaan
bahawa pelayan ini tidak dapat memahami.
Sekarang yang satu ini adalah lebih lebih sukar untuk mendiagnosis.
Tetapi ternyata bahawa cs164.net menggunakan Apache.
Dan tidak banyak yang kita boleh memikirkan.
Tetapi yang juga menggunakan sesuatu dipanggil hosting maya
di mana anda mungkin biasa.
Mungkin samar-samar dari hari CS50 anda
atau jika anda tulis laman web komersial sebelum ini,
apa yang tuan rumah maya atau vhost?
Yeah.
[Didengar Catatan]
OK. Tepat sekali.
Jadi ada pelbagai lapisan pemultipleksan sini jadi untuk bercakap.
Apabila anda mendapat permintaan di beberapa pelayan
di alamat IP tertentu, anda minimum perlu bahawa nombor port
supaya pelayan tahu ini adalah e-mel, adalah ia satu permintaan web,
mesej chat atau apa yang tidak.
Tetapi jika sekali anda memikirkan keluar, OK, pelabuhan 80.
Ia jelas permintaan untuk laman web.
Tetapi bukankah lebih baik
jika pelayan tunggal boleh sebenarnya menyokong berbilang
laman web, dan food.com bar.com dan bass.com
supaya mereka tidak perlu satu fizikal pelayan atau sekeping tunggal
perisian untuk setiap sialan laman web di dunia.
Jadi dunia dicipta maya hosting yang membolehkan anda
untuk meletakkan nama domain pada alamat IP yang sama.
Tetapi tangkapan adalah sambungan Saya hanya dibuat menggunakan Telnet,
menyatakan port 80 untuk www.cs164.net saya tidak menyebut
nama domain tersebut yang saya berminat
di luar baris arahan.
Dan malangnya dan ini adalah sedikit tidak jelas.
Sebaik sahaja saya tekan Enter,
dasarnya Telnet presumptuously adalah menukarkan
www.cs164.net untuk saya untuk alamat IP
dan kemudian hanya menghantar mentah saya DAPATKAN permintaan kepada pelayan.
Supaya tanggapan bahawa ia adalah www.cs164.net benar-benar hilang,
betul.
Telnet bukan pelayar mengapa ia akan mengganggu menghantar
maklumat tambahan untuk pelayan?
Ia bukan yang pintar.
Jadi saya semak imbas mempunyai untuk mengingatkan pelayan
yang bukan sahaja yang saya mahu untuk mendapatkan halaman rumah,
Saya juga ingin menyatakan pelbagai cs164.net.
Dan header HTTP supaya untuk bercakap adalah tepat bahawa, Host:.
Kini, apabila saya tekan Enter, saya kembali peralihan yang sama
yang saya lihat dalam Chrome dan saya lihat dalam curl tetapi saya berani mengatakan sekarang,
kita lakukan ini hanya tahap kira-kira serendah
seperti teknikal mungkin
dengan menggunakan lebih arahan batin.
Sekarang, mengapa ini berguna?
Jadi, ini bukan yang biasa cara untuk melawat laman web
tetapi hampir mana-mana masa, anda perlu mendiagnosis beberapa masalah
dengan aplikasi berasaskan web yang yang melibatkan pelayan atau sekeping
perisian atau baru tuan rumah maya dicipta
atau baru membeli nama domain.
Ini adalah betul-betul alat-alat anda tahu Tim dan Rob dan saya
dan lain-lain akan menggunakan hanya untuk mencuba dengan angka
apa yang berlaku salah, bukan?
Kes di titik bila-bila masa anda mendapat nama domain, anda entah bagaimana mempunyai
untuk mengaitkan IP menangani dengannya.
Dan anda melakukan ini biasanya melalui antara muka berasaskan web di Godaddy
atau namecheap.com mana saja anda membeli nama domain.
Laman web begitu berbeza mempunyai alat yang berbeza
tetapi ia pada dasarnya pada Excel meja dengan tiang
untuk nama-nama tuan rumah dan lajur
bagi alamat IP sesuatu seperti itu.
Tetapi ada masalah kerana bila-bila masa anda diminta
untuk mengaitkan alamat IP dengan nama tuan rumah, anda diminta
untuk TTL yang yang berdiri untuk - anda mengambil 143.
Saya mendengar ia di sini.
Masa Untuk Live.
TTL A bermakna berapa banyak saat perlu kemasukan ini dikenang
untuk dan oleh diingati, Maksud saya cache.
Jadi, cerita panjang pendek, juga dalam dunia DNS,
ada keseluruhan ini tanggapan caching.
Dan ini adalah topik yang kita akan meneroka dalam perjalanan dan juga
di peringkat perisian yang mana caching sering benar-benar
perkara yang baik.
Dan apa yang kita maksudkan dengan caching laman web misalnya
atau caching DNS rekod, alamat IP?
Apa maksudnya untuk cache?
Yeah.
[Didengar Catatan]
Ya, betul-betul hanya menjaga sekitar salinan supaya
jika ia tidak mengubah atau terus terang walaupun tidak berubah,
membolehkan tidak notis sekurang-kurangnya beberapa saat mungkin juga beberapa
minit atau lebih teruk lagi untuk satu atau dua jam.
Dan dalam sebuah laman web, anda mungkin telah melihat ini sebelum ini,
kadang-kadang jika anda menggunakan laman web,
tidak begitu banyak yang terbesar laman web.
Anda cenderung untuk mendapatkan ini terperinci betul seperti Facebook
dan Gmail dan sebagainya.
Tetapi jika anda menggunakan satu lagi laman web yang menggunakan banyak
satu teknologi kami akan digunakan dalam kelas,
ia sering keputusan reka bentuk untuk menentukan sama ada atau tidak
cache sesuatu dan jika ya, berapa lama untuk cache sesuatu.
Dan jika anda pernah pernah ke laman web
di mana misalnya anda memukul Simpan dan kemudian anda memuat semula halaman
dan kemudian apa sahaja yang anda posted tidak ada.
Tetapi kemudian anda mungkin anda memuat semula sekali lagi dan ia muncul.
Dan sebenarnya, saya telah benar-benar dilihat gejala walaupun
dengan Facebook sekali-sekala
di mana jika anda memuat semula News Feed anda,
kadang-kadang ada sesuatu di sana, kadang-kadang ia hilang
dan perkara-perkara tidak benar-benar kelihatan konsisten.
Dan itu sering hasilnya hanya caching isu.
Pada satu permintaan, anda memukul satu pelayan.
Atas permintaan yang lain, anda memukul pelayan lain
dan cache mereka, salinan mereka
laman web mungkin tidak dengan sempurna disegerakkan
oleh beberapa saat atau minit
jadi anda lihat berbeza negeri di dunia.
Perkara yang sama berlaku dengan DNS.
Jika anda memutuskan bahawa anda memiliki food.com
dan jika anda telah hosting di Godaddy,
web agak popular syarikat hosting antara lain
dan anda membuat keputusan, tidak, saya tidak benar-benar suka politik mereka,
Saya tidak benar-benar suka mereka harga, perkhidmatan mereka.
Saya ingin menukar ke web lain syarikat hosting semua bersama-sama.
Apa yang anda lakukan?
Nah, anda hanya akan menukar Alamat IP food.com untuk menunjukkan
pada pelayan orang lain yang anda akan mula wang kepada.
Tetapi kerana seluruh DNS sistem pelayan menggunakan cache,
apa yang mungkin ini bermakna untuk pengguna anda
jika tiba-tiba anda bergerak laman web anda dari sini
kepada lebih di sini, berbeza Alamat IP.
Baiklah.
Bagi sesetengah nombor bukan sifar minit atau saat,
pengguna anda mungkin berakhir akan di sini untuk contoh atau di sini
kerana sistem operasi mereka, pelayar mereka, ISP mereka,
router rumah mereka mungkin mempunyai cache alamat IP yang lama
di mana titik, yang benar-benar sukar untuk angka
dengan tepat apa yang berlaku salah.
Jadi bagaimana anda mula mengejar turun juga isu-isu seperti itu?
Dengan hanya berikut ini serbuk roti
dan pemahaman akhirnya apa yang HTTP
dan apakah maknanya untuk menghantar permintaan dan apa yang alat
seperti nslookup sebenarnya lakukan untuk anda.
Dan jadi bagaimana anda boleh melaksanakan beberapa ini arahan peringkat rendah
dan hanya memikirkan apa yang sebenarnya yang salah.
Jadi, anda tahu siapa yang memanggil, yang untuk menghantar off e-mel kepada atau apa
untuk menukar pada pelayan anda sendiri.
Dan sebagai diketepikan, Saya meneka paling
daripada anda di sini telah menggunakan CS50 Appliance, jika anda tidak mengambil CS50.
Walaupun anda tidak banyak
anda mungkin telah menggunakan Apache sama ada pada Mac anda sendiri
atau PC atau kotak Linux.
Sebagai maklumat sampingan, jika saya lakukan buka tingkap terminal di sini
pada CS50 Appliance terkini dan saya menjadi root Sudu su
dan kemudian saya pergi ke direktori ini
sini etc / httpd / conf.d /.
Ini adalah biasa meletakkan untuk pelayan web -
untuk pelayan web Apache untuk menyimpan fail konfigurasi mereka.
Conf.d hanya bermakna konfigurasi direktori dengan sejumlah
fail dan jika saya akan membuka dengan vi misalnya,
perkakas 50, anda akan benar-benar melihat bagaimana maya hosting
dalam Appliance CS50 telah bekerja setiap masa mereka.
Jika ia telah menarik balik manakala
yang anda boleh meletakkan paling apa-apa laman web di dalam
direktori vhost anda dalam Peralatan ini.
Bagaimana keadaan itu benar-benar bekerja?
Nah notis, ini agak batin dan anda boleh menyusun
daripada grok jalan anda melalui ini menggunakan dokumentasi.
Tetapi pada dasarnya, mungkin barisan hadapan yang paling berguna
untuk mencari - melihat adalah ini.
Keturunan ini di sini pada asasnya memberitahu pelayan web untuk melihat
dalam John Harvard direktori vhost
bagi versi kes yang lebih rendah apa jua nama pelayan
atau nama domain adalah sebenarnya melawat.
Dan kita tidak semestinya pergi ke dengan ijazah ini tinkering.
Tetapi apabila menggunakan Apache, anda adalah orang-orang
yang akhirnya mempunyai Kawalan ke atas butir itu.
OK. Jadi, selepas ini, kita kini boleh mengambil HTTP mudah, bukan?
Baiklah.
Jadi mengapa tidak kita lakukan ini, terutamanya jika beberapa
anda berasa agak tawanan penonton, mengapa tidak kita pergi ke hadapan
dan berehat dua minit,
apabila kita kembali kami akan menyelam sedikit ke dalam MVC dan kita akan
pada catatan tentang - satu masalah yang kami akan menyelesaikan pada hari Rabu
dengan alat yang dipanggil Laravel.
Jadi, mari kita beberapa minit.