>> Lahat ng karapatan.
Kaya sabihin sumisid sa ilang teknikal na mga detalye.
Sana na may ilang kung ano ng isang softball tanong.
HTTP, ang layunin ng ngayon ay lamang ay magbibigay sa amin ng isang kaisipan
modelo para sa mga uri ng mga application
at mga proyekto kami ay pagpunta sa pagpapatupad.
Sa Miyerkules, magpapadala kami transition sa higit pang malalim na sa mga bagay tulad ng MVC
at lalo na sa Laravel at sa ORM
na kung saan kami ay makipag-usap sa isang database.
Ngunit para sa ngayon, ni-set hayaan ang Stage para sa mga pag-uusap.
HTTP ay kung ano?
Hypertext Transfer Protocol?
OK kung ano ang ibig sabihin na?
Oo.
[Hindi marinig Puna]
OK. Isara.
Ito ay ang iba pang isa.
Hindi HT - iyon na HTML.
HTTP ay ang isa na ang ginagawa kung ano ang eksaktong?
>> Iyan ba ang serbisyo na tulad ng nagpapadala ng teksto pabalik
at balik sa pagitan ng mga server?
>> Oo eksakto.
Ito ay ang server.
Kaya, talaga ito ang protocol.
Ito ang hanay ng mga convention na ginagamit
upang magpadala ng impormasyon pabalik at balik sa pagitan ng client at server.
At na impormasyon ay karaniwang tumatagal ang form ng HTML,
Hypertext Markup Language na ay ang bukas na tag at malapit na mga tag.
Kaya kung mayroon kang ilang mga kliyente kinakatawan dito sa kaliwa
at kinakatawan ang ilang mga server dito sa kanan.
Ang mga arrow ng pagpunta pabalik-balik
sa pagitan ng mga ito ay kumakatawan na wika ng HTTP.
At kung pamilyar sa 50 para sa Halimbawa nakaraang taon o dalawang
ng taon na ang nakaraan maaari mong isipin na inilarawan namin ito
bilang isang protocol sa kamalayan na noong una kong matugunan ang isang tao,
Maaaring pahabain ko ang aking kamay at sabihin, kumusta at kumbaga -
>> Hello.
>> Hello. At ngayon, na-uri-uriin ng transaksyon sa pagitan ng client
at ang server ay kumpleto na.
Ayos lang.
Kaya HTTP lamang set ng mga convention.
At bukod sa mga convention ay upang ipadala ang ilang mga mensahe.
Kaya halimbawa, buksan ng Chrome ipaalam.
At para sa mga kurso, maaari kang ay tiyak na gamitin ang karamihan ng anumang browser,
ngunit Chrome ay may gawi na maging marahil ang pinaka-popular na mga araw na ito.
Dahil ito ay isang buo suite ng mga tool sa built-in
Sabihin sige at Siyasatin ang Elemento.
Hayaan akong pumunta sa tab na Network at hayaan mo akong pumunta sa isang bagay
tulad ng http://www.cs164.net at pindutin ang Enter
pagkatapos ng unang pagpindot ng Record balutin natin na-redirect.
At ngayon kami ay pagpunta upang makita ang maramihang
ng mga hilera sa talahanayan na ito.
Ano ang bawat isa sa ang mga hilera ay kumakatawan
kapag binisita mo ang isang web page?
Oo?
[Hindi marinig Puna]
Mismong. Lahat ng mga file Ko hiniling na lamang ang ipinakikita
bilang isang indibidwal na hilera sa na kaunti talahanayan doon,
ngunit maghintay ng mga file.
Ako lamang hiniling isa tulad file, i-right,
siguro index.html o index.php.
Maaari silang maging mga link, i-right?
Ay tiyak na mayroong larawan mga tag sa loob ng doon,
mayroong mga tag na link para sa CSS, mayroong mga script tag
para sa JavaScript at isang buong bungkos ng iba pang mga tag
na maaaring aktwal na hilahin
sa karagdagang mga file uri ng recursively.
At kaya na kung ano ang namin ang iyong nakikita.
Kung mag-scroll pataas na namin ngayon sa pinakatuktok sa mga ito,
mapansin na muna naming makita ang isa na aktwal na uri ng mausisa.
Ito ang sinasabi ng aming website Inilipat pansamantala,
ang code ng katayuan na kaya magsalita ay 302.
Mayroong isa pang katulad na isa, 301 kung saan ay permanenteng lumipat.
At kung ililipat mo pansamantala o permanente kung ano ang ibig sabihin na?
Ano dapat ang iyong mga mata hanapin sa pagkakasunud-sunod
upang sagutin saan kami lumipat sa?
Ang kasalukuyang at haba.
OK. Kaya maaari tiyak magpakilala kung saan nagtapos namin up.
At sa malas ako napunta sa canvas.harvard.edu / isang bagay
na kung saan ay marami mas mahirap matandaan.
Ngunit higit pa technically, gusto kong upang mag-diagnose ng isyu sa pag-redirect.
Gusto kong maunawaan kung saan ako pagpunta mula sa punto A hanggang punto B
sa isang punto tuldok, dot, tuldok canvas.harvard.edu
sa ito sa higit pang arcane interface ng header.
Paano ko sagutin akong tanong ng ang form na ito upang saan ako ilipat?
Lokasyon. Ayos lang.
Kaya kung mag-scroll down na ako dito sa Tugon Pamagat,
mapapansin na ang mga ito ay ang mga header at ipaalam sa akin na baguhin ito.
Ito ay uri ng isang kaakit-akit naka-print na bersyon mula sa Chrome.
Mag-click view ng pinagmulan Hayaan.
Ito ang raw na teksto na ang Apache web server.
At alam ko na sa pamamagitan ng glancing sa linyang ito dito.
At Apache lamang libreng at open-source software.
Ito ay marahil ang pinaka-popular na web server software out doon.
Iyon ay ang resulta ng mga pagkakamay babalik sa akin.
At kung uri ng ko bang tingnan ang kung ano ang nasa loob ng kamay
o ang virtual na kubkubin na Kinakatawan ng packet,
pagpunta sa buong wire sa loob
ng na mga ilang linya ng teksto.
At dahil browser kanilang sarili nagsasalita ng HTTP,
ang mga ito ay preprogrammed sa pamamagitan ng Google at Microsoft
at iba pang mga kumpanya upang tumingin para sa linyang ito.
At kapag nakikita ito ng lokasyon: ano ba ito gawin sa URL
pagkatapos ng tutuldok siguro?
Ito napupunta sa ito.
At maaari naming makita na ito sa anumang bilang ng mga paraan.
Sa katunayan, isang napaka-madaling-magamit na tool lalo na sa Linux
at Mac OS ay kung buksan ko isang terminal na window dito
at gagawin ko mabaluktot at I-gagawin ko at pagkatapos ay ilagay ang URL na iyon doon.
Ito ay isang magandang ugali upang gamitin ang mga quote
dahil kung ikaw kailanman mayroong mga tanong mark
o iba pang mga funky mga character, maaari mong aktwal na uri
ng lituhin ang command line.
Ngunit kung quote mo ang URL doon, ngayon ipapakita namin makita nang eksakto lahat
ng mga header na dumating likod.
At sa kasong ito, aktwal Ginawa ko ang isa mali.
Ginawa ko ang Canvas URL.
Ni gawin http://www.cs164.net Hayaan.
Ipasok. May mga eksakto mga parehong header.
At kung gusto kong makita susunod ano ay bumalik,
Maaari ko lang gawin ito nang mano-mano.
Kaya mabaluktot lamang ang uri ng mabilis at maruming diagnostic tool dito,
mabaluktot-ako at ngayon na URL muli at ang mga ito ay ang lahat ng mga header
na ngayon ay bumalik mula sa canvas.harvard.edu.
Ano ang karagdagang impormasyon ay sila ng pagpapadala sa amin?
Ito ay isang maliit na off hiwa.
Hayaan akong ilipat ito sa paglipas ng.
Kaya ang isa sa mga linya ay kawili-wili.
Haba Kaya nilalaman, na kung gaano karaming mga byte ay sa loob
ng mga virtual na sobre na nagmula pabalik.
Ang uri ng nilalaman ito ng HTML, ito ay maaaring maging isang bagay ng iba't ibang
kung ito ay isang PNG o isang GIF o JPEG.
Sa katunayan, sa pangkalahatan ay nagsasalita, kung ano ay tinatawag na ang string na ito?
Mayroong mga natatanging mga string sa mundo
na natatanging ilarawan iba't ibang mga uri ng data.
Ito ay isang gayon tinatawag na Uri ng MIME, uri M-ko-M-E.
Kaya ang mundo ay Standardized
na. png Sa tingin ko ay "imahe / png".
Ang mundo ay Standardized na sa file na HTML ay teksto / html.
Ang mundo ay Standardized na isang mp4, file ng pelikula ay video/mp4.
Kaya ito ang mga natatanging token na karaniwang ginagamit na mga browser
upang matukoy kung upang i-play ito bilang isang pelikula, i-display ito
bilang isang imahe, mag-render ito bilang HTML o mga katulad.
Ano ang ginagawa ng server - Instructure ang kumpanya sa likod ng Canvas
sa malas gamitin?
Kaya Apache masyadong, kaya ginagamit nila parehong tool at maaari naming makita
na sa pamamagitan ng linyang ito dito.
Bilang isang-tabi, na sila ang aktwal na tapos na isang bagay na matalino
na hindi lahat ng mga website gawin.
Kadalasan mga website sabihin ang lahat,
hindi lamang na sila tumatakbo Apache kundi pati na rin
na sila ay nagpapatakbo ng Apache bersyon 2.1.3.
Ngunit ang mga guys ay inalisan ng smart at pinagana ang numero ng bersyon.
Bakit na ang smart?
Oo.
>> Siguro dahil tiyak Maaaring natuklasan bersyon
at may mga partikular na mga kahinaan
[Hindi marinig] halata.
>> Mismong.
Ito ay isang potensyal na seguridad pagbabanta.
Kung ikaw ay mahalagang ang pagsasahimpapawid sa mundo, hey,
Nagpapatakbo ka namin bersyong ito.
Uy nagpapatakbo ka namin bersyong ito.
Ito ay hindi na mahirap sa Google o may kulot lang kahit sa gumala-gala
sa paligid ng random na mga IP address
at maghanap ng mga taong tumatakbo maraming surot software at pagkatapos ay pag-atake sa kanila
sa pamamagitan ng kahit anong dokumentado nangangahulugan na may.
Ngayon, kung bakit ito ay pa rin sinasabi ng Apache?
Arguably, iyon ay isang uri ng hindi kinakailangang impormasyon.
Well, Apache Ginagawang madali i-off ang numero ng bersyon
ngunit hindi ang kanilang mga uri ng likod ng mga eksena sa pagba-brand sa ganitong paraan.
At ito ay kung paano ang Google at iba pang mga mga kumpanya malaman kung ano ang mga web server
mga tao ang tumatakbo dahil ay nagsasabi sa lamang ng buong mundo
sa bawat oras na bisitahin mo ang mga ito.
Kaya cookies ay darating masyadong pabalik.
Ngunit maaari mong isipin na ang cookies ay isang uri ng malaking natatanging mga numero ng
na ay karaniwang gusto isang kamay stamp sa user.
Ang isang maliit na file o piraso ng data nakatanim sa browser
tandaan na ang gumagamit ay.
Katayuan 200 ay mabuti.
X-Canvas-meta, kaya ano ang lahat ng ito?
Well, mahaba kuwento maikli, ang mundo ay nagbigay-daan din sa mundo
upang makabuo ng mga di-makatwirang, HTTP mga header at kung prefix mo ang mga ito
may X, na lamang ibig sabihin ang mga ito ay pasadyang.
At ito ay isang magaling na paraan kahit na para sa mga layunin ng diagnostic
kung ikaw ay pagbuo ng isang application na batay sa web
at nais mong magagawang
upang makita sa likod ng mga eksena mo malaman kung ano ang i-back end server dumura
out na ito tugon o ano numero ng bersyon ay tumatakbo sa
sa server na ito.
O kung ano ang kanyang panloob IP address,
anumang bagay kung saan maaari kang gusto ng ilang mga panloob na sulyap
sa isang bagay na pagpunta sa, maaari mong dumura
out ng iyong sariling mga di-makatwirang Mga header ng HTTP sa na paraan.
Subalit ang kuwento nagsimula sa pagbubukas up website ang kurso na iyon.
At nakita namin ang lahat ng mga hilera sa tab na Network.
Ang unang isa ay ng pinaka- interes na-redirect sa amin
sa susunod at pagkatapos namin nakuha i-back sa ang tugon na ito dito.
Kaya, kung saan ay canvas.harvard.edu?
Ni itulak ng kaunti Hayaan karagdagang at uri
ng sundin ang mga tinapay crumbs.
Canvas.harvard.edu ay sa malas na pag-aari sa pamamagitan ng Harvard.
Nilikha nila ito sub-domain tinatawag canvas.harvard.edu.
Paano ko malaman kung saan
sa mundo canvas.harvard.edu buhay?
O siguro mas tukoy kung ano ang IP address nito?
Paano namin malaman na out?
Oo?
[Hindi marinig Puna]
Walang pasubali.
Kaya na talagang sagutin sa isang pares ng mga katanungan doon.
Ang unang tulad simpleng tool na gagawin maging isang bagay na tinatawag na NSlookup
bagaman ito ay tinatawag na iba pang mga bagay.
Nameserver Lookup at Ang maaari kong i-type sa isang bagay
tulad ng canvas.harvard.edu.
Ipasok. At ito ay pagpunta upang bigyan ako pabalik sa malas ang maramihang
ng mga sagot.
Ngunit hinahayaan kang makita hindi makakaya kung magkaroon ng kahulugan ng ito.
Kaya sa malas,
canvas.harvard.edu ay isang canonical na pangalan
para sa mabangis naghahanap ng bagay,
Harvard-vanity.instructure.com.
Kaya, ano ang nangyayari sa dito?
Habang samantala, kung panatilihin namin ang pagbabasa,
Harvard-vanity.instructure.com May canonical na pangalan
ng isang bagay kahit na higit pa misteriyoso,
Harvard-170 ng isang bagay -Us-silangan-1.elb.amazon.aws.
Dagdag pa rito, nilulutas ng bagay na
sa malas sa tatlong iba't ibang mga IP address.
Kaya kung ano ang sa mundo ang ibig sabihin ng lahat ng mga ito?
Oo?
[Hindi marinig Puna]
OK. Mahusay. At hayaan mo akong mag-tweak isang bagay na sinabi mo,
ito ay hindi talaga isang paghahatid ng network ng nilalaman.
'Sanhi ito ay karaniwang na Nangangahulugan ito static na nilalaman
at dahil karamihan sa mga website ay dynamic na hinimok,
Hindi ko ilalarawan ito bilang isang CDN
ngunit ito ay Amazon naka-host na server.
Nag-aalok ang Amazon isang serbisyong tinatawag na Amazon nababanat Compute Cloud,
EC2 para sa maikling.
At ang mga ito ay lamang ng web mga server madalas tumatakbo Apache
o iba pang mga piraso ng software na maaari mong magrenta talaga
sa pamamagitan ng pagbabayad ng Amazon ng ilang cents o ng ilang mga dolyar kada oras
at aktwal na patakbuhin mo ang iyong code sa kanilang mga server.
At ang mga paraan kung sila huwag na ito ay magbibigay sila ng isang misteriyoso
naghahanap ng domain name tulad nito kung saan sa mga resulta ng pagliko sa isa
o higit pang mga IP address tulad ng mga ito tatlong dito.
At siya namang, mo ay maaaring lumikha ng mga alias
na marami nang higit pa pantao magiliw
para na kung hindi man ganap unmemorable address Amazon.
At sa kasong ito ang Nagpasya kumpanya Instructure
upang lumikha ng isang bahagyang higit pang mga di-malilimutang address,
Harvard-vanity.instructure.com
ngunit nais na maging isang mabangis uri ng mga bagay para sa amin
upang bisitahin ang para sa mga website kurso.
Kaya Harvard siya namang nilikha isa pang alyas na mas
canvas.harvard.edu lamang.
At lahat ng mga pamamaraan na ito ay pagdaragdag ng isang bagay na tinatawag na DNS,
ang Domain Name System.
At kaya Hanggang ang system ay May access sa administrator
sa Harvard o Instructure ni Mga DNS server,
maaari kang lumikha ng mga alyas na ito.
At kung ikaw guys, para sa iyong mga proyekto,
magpasya upang bumili ng isang domain pangalanan para 5 dollars,
10 dolyar o kahit ano.
At kahit na bayaran para sa isang web host
o gumamit lamang ng isang malayang magagamit web host at mo ito nais
upang aktwal na nakatira hindi sa isang bagay random.com
ngunit sa iyong sariling domain pangalanan na iyong binili para sa 5
o 10 dollars narito ang mga uri ng mga detalye ng configuration
na gagamitin namin galugarin patungo sa ang katapusan ng semestre.
Kung at pagdating ng oras upang ipadala sa publiko ng isang bagay
kaya maaari itong mabuhay sa isang mas kawili-wiling URL.
Hayaan akong i-pause para sa isang sandali 'Sanhi ka guys ay mga uri
ng hindi kinakailangan bunching up doon.
Gusto mo bang awkwardly lamang uri ng dumating sa at umupo
sa likod o sa gitna?
Dapat ba akong hindi gumuhit pansin sa iyo?
Halika sa in
Iyon ay marahil higit pa hindi komportable doon.
[I-pause]
Ayos lang.
OK. Maligayang pagdating.
Ayos lang.
Kaya kung saan ay na-iwan sa amin ngayon?
Kaya kahit papaano kami ay isa at ipapakita namin i-cross ito bridge kung
at kapag ang oras ay dumating sa tuntunin
ng DNS kung paano mo gagawin talaga i-configure ang lahat ng iyon.
Ang ilang kung paano o iba pang, ito HTTP na kahilingan,
ito paunang pagkakamay naabot ng isang server sa isa
ng mga IP address.
Sa server na ay isang bagay na tinatawag na isang web server.
Walang mga sorpresa.
Ngunit ano ang tunay na technically ay isang web server?
Ikaw uri ng tumagal ang parirala para sa ipinagkaloob ngunit ano ito?
Ano ang isang web server?
Oo?
[Hindi marinig Puna]
OK. Kaya, ito ay isang computer lamang may memory at input.
Alam mo maaaring tumingin nito
tulad na larawan mas maaga kahit na bagaman ang isang ito ay isang maliit na
retro at higit pa ng isang desktop o computer tower.
Oo, ito ay isang computer lamang.
Pero technically, isang server ng web ay hindi isang computer sa bawat sabihin nating.
Bilang namin ang mga kawani na tao ay may isang uri ng mahaba conflated mga web server
at e-mail server bilang mga pisikal na device.
Ngunit isang web server talaga ay isang piraso ng software.
Ito ay isang piraso ng software tumatakbo sa isang pisikal na computer.
At samakatuwid, maaari kang magkaroon ng isang e-mail server at isang server ng web
at isang server at anumang tsart bilang ng iba pang mga server
o higit pang maayos services na tumatakbo sa tuktok
ng isang partikular na computer at lahat ng mga serbisyo ay maaari mabuhay
sa parehong IP address samakatuwid.
Kaya, kung paano - kung mayroon kang ka huwag magkaroon ng maramihang mga serbisyo
o mga server na tumatakbo sa parehong computer, paano kapag zero
at mga bago ay darating sa sa kanila sa pamamagitan ng internet,
ay alam na ang computer kung upang tumugon bilang isang e-mail server
may isang pahina ng web, na may isang chat?
Oo.
[Hindi marinig Puna]
Mahusay. Mismong.
Kaya nakikinig isang web server sa kung ano ang tinatawag na isang port.
At kung kinunan CS143 Networking, maaaring kilala mo
na ang mga port umuugnay sa mga protocol tulad ng TCP
saan mo marahil sa hindi bababa sa narinig ng o UDP.
At ang mga pangkaragatan o port numero natatangi lamang mga pantukoy
na kilalanin ang isang serbisyo.
Kaya 80 ay web, 25 ay e-mail, 23 ay Telnet, 22 ay SSH
at mayroong dose-dosenang o daan-daan
ng iba pang mga bagaman mayroong lamang ng ilang napaka-tanyag na mga bago.
At ito ay isang paraan para sa isang computer na may isang IP address
upang ayusin ng marami sa mga iba't ibang uri ng kahilingan
at tumugon nang naaayon.
Kaya kung ano ang talagang ibig sabihin nito?
Kaya naming hindi na kailangan ng isang web browser.
Hindi namin kailangan mamaluktot sa talaga makipag-usap sa isang web server.
Mayroon lang namin upang maunawaan kung ano ang ang protocol ay at kung paano ito gumagana
at alluded kong ito ng ilang sandali ang nakalipas.
Telnet ay isang uri ng isang lumang programa ng paaralan.
Bumalik sa aking araw, ginamit namin gamitin ito upang suriin email
ngunit ito ay ganap na hindi secure.
Ito ay isang tool lamang sa pamamagitan ng kung aling mga maaari mong ipadala tekstuwal utos
sa isa pang computer.
At bumalik sa araw,
mga tekstuwal utos madalas kasama ang iyong username
at ang iyong mga password sa walang uri ng pag-encrypt.
Kung pamilyar ka sa mga SSH,
SSH ay medyo magkano Telnet ngunit sa pag-encrypt.
Kaya na ang isang bit ng isang oversimplification.
Ngunit maaari kong magpanggap bilang isang ng tao na may isang terminal na window
at ang lumang programa ng paaralan Telnet upang maging isang web browser.
Ang maaari kong i-type sa isang bagay tulad ng telnet www.cs164.net
at sa kasamaang-palad kung ako pindutin lang ang Enter, nito sinusubukang
ngunit wala tila sa nangyayari ito.
At iyon ay dahil sa pamamagitan ng default, nagpasya ang mga mundo taon na ang nakalipas
na default na port Telnet ay 23
bilang sa madaling sabi ko alluded sa sandali ang nakalipas.
Ngunit hindi ko nais Telnet bawat sabihin nating.
Gusto kong gamitin ang Telnet ang ganitong uri tekstuwal programa upang magpanggap ng
upang maging isang web browser sa Chrome at IE at iba pang mga browser
sa pamamagitan ng default na naging matapang naka-code sa pamamagitan ng Google at Microsoft
makipag-usap hindi sa 23 ngunit sa 80 o siguro 443
para sa SSL-based na mga website.
At ngayon, mapapansin subukan ko at ako kumonekta sa server ng web.
Pupunta ako ngayon, sige at sabihin ang isang bagay tulad kumusta.
At tila na ito ay may inilipat lang nang permanente.
Ba akong magpadala ng ilang mga bogus utos
at ang pagpapadala sa akin pabalik sa adres dito.
Kaya, sabihin talagang gawin isang maliit na ito nang iba.
Sabihin aktwal na makita sabihin, GET/HTTP/1.1.
Kaya kung ano ang aking ginagawa?
Ito ang command.
Ito ang uri ng aking pagkakamay, kaya na magsalita.
Ano ang pasulong iwa marahil ipahiwatig?
Ang home directory.
Kaya ang home directory dito ay nangangahulugan lang ito -
well tumawag ni ito hayaan ang root ng website.
Anuman ang default na file ay, marahil ito ay index.html,
siguro ito ay index.php
at HTTP/1.1 ay mahalagang sa pinakabagong bersyon ng HTTP.
Kaya ako ng pagpapanggap ng isang browser na medyo kasalukuyang
nang sa gayon ay tumutugon ito ito sa akin bilang Umaasa ako.
At pumunta ako magpatuloy at pindutin ang Enter dalawang beses
dahil ang paraan ng bagay ay gumagana na sa sandaling makita mo ang isang blangkong linya,
ay isang web server pagkatapos ay tumugon.
Ngunit sa kasamaang-palad ito ay isang maling kahilingan.
Ang browser na ang isang kahilingan
na sa server na ito hindi maintindihan.
Ngayon ang isang ito ay marami mas mahirap i-diagnose.
Ngunit ito ay lumiliko out na cs164.net ay gumagamit ng Apache.
At hindi magkano ang maaari naming malaman.
Ngunit nito din gamit ang isang bagay tinatawag na virtual hosting
kung saan maaari kang maging pamilyar.
Siguro vaguely mula sa ang iyong CS50 araw
o kung na naisulat komersyal na mga website bago,
kung ano ang isang virtual na nagho-host o vhost?
Oo.
[Hindi marinig Puna]
OK. Mismong.
Kaya mayroong maramihang mga layer ng multiplexing dito kaya na magsalita.
Kapag kumuha ka ng isang kahilingan sa ilang server
sa isang partikular na mga IP address, ikaw ay Nagnais kailangan na numero ng port
kaya na alam ng server na ito ay isang email, ito ay isang kahilingan sa web,
isang chat mensahe o kung ano ang hindi.
Ngunit kung sa sandaling malaman mo out, OK, port nito 80.
Ito ay malinaw naman kahilingan para sa isang web page.
Ngunit hindi ito magiging maganda
kung ang isang solong server ng dati talagang sumusuporta sa maramihang
mga website, food.com at bar.com at bass.com
kaya hindi nila kailangang isa pisikal na server o ng isang single piraso
ng software para sa bawat mapahamak website sa mundo.
Kaya ang mundo imbento virtual hosting na nagbibigay-daan sa iyo
upang ilagay ang maramihang mga pangalan ng domain sa parehong IP address.
Pero ang catch ay ang koneksyon Lamang ginawa ang aking ginagamit Telnet,
pagtukoy ng port 80 sa www.cs164.net ginawa akong mga pagbanggit
ng pangalan ng domain na ako ay interesado
sa lampas sa linya ng command.
At sa kasamaang palad, at ito ay isang maliit na di-halata.
Sa sandaling pindutin ko ang Enter,
mahalagang Telnet presumptuously ay nagko-convert
www.cs164.net para sa ako sa isang IP address
at pagkatapos lamang ng pagpapadala ng aking mga raw GET kahilingan sa server.
Kaya na kuru-kuro na ito ay www.cs164.net ganap na nawala,
karapatan.
Telnet ay hindi isang browser bakit ito abala sa pagpapadala
karagdagang impormasyon sa server?
Ito ay hindi na smart.
Kaya ako ay may browse ipaalala sa server
na hindi lamang nais ko upang makuha ang home page,
Gusto ko rin na tukuyin isang host ng cs164.net.
At ang HTTP header kaya upang magsalita ay eksaktong na, Host:.
Ngayon, kapag pindutin ko ang Enter, ako makabalik sa parehong pag-redirect
na nakita ko sa Chrome at ako Nakita sa mabaluktot ngunit maglakas-loob ko sabihin ngayon,
ginagawa namin ay ito lamang tungkol sa bilang mababang antas
bilang ay technically posible
pamamagitan ng paggamit ng mga higit pa arcane command.
Ngayon, ito kapaki-pakinabang kung bakit ay?
Kaya, hindi ito ang normal paraan upang bisitahin ang isang website
ngunit halos anumang oras, sa iyo mayroon upang mag-diagnose ng ilang mga problema
gamit ang application na batay sa web na nagsasangkot ng isang server o piraso
ng software o mga bagong nilikha virtual na host
o bagong na binili domain name.
Ito ang mga eksaktong mga tool na alam mong Tim at Rob at ako
at iba pa ang maaaring gamitin subukan lang sa figure
out kung ano ang nangyayari mali, tama?
Kaso sa point anumang oras makakakuha ka ng ng isang domain name, ikaw kahit papaano mayroon
upang iugnay ang isang IP tugunan ang kasama nito.
At mong gawin ito sa pamamagitan ng karaniwang interface na batay sa web sa GoDaddy
o namecheap.com o kung saan man mo binili ang domain name.
Kaya magkakaibang mga website magkaroon ng iba't ibang mga tool
subalit ito ay lubos sa isang Excel talahanayan na may mga haligi
para ang mga pangalan at mga hanay ng host
para sa mga IP address ang isang bagay tulad na.
Ngunit mayroong problema dahil kahit kailan hihilingin sa iyo
upang iugnay sa isang IP address may isang host name, hihingin
para sa TTL nito na ang ibig sabihin ay para sa - mo kinuha 143.
Marinig ko ito sa paglipas dito.
Time Upang Live.
Isang TTL ibig sabihin kung gaano karaming mga segundo dapat ang entry na ito ay remembered
para sa at sa pamamagitan ng remembered, Ibig kong sabihin na naka-cache.
Kaya, mahaba kuwento maikli, din sa loob ng DNS mundo,
mayroong ito buo kuru-kuro ng caching.
At ito ay isang paksa na aming galugarin sa kurso pati na rin
sa isang antas kung saan ang software caching ay madalas na isang talagang
magandang bagay.
At kung ano ang ibig sabihin namin sa pamamagitan ng Caching isang web page halimbawa
o pag-cache ng DNS tala, ang IP address?
Ano ang ibig sabihin na sa cache?
Oo.
[Hindi marinig Puna]
Oo, eksakto lamang pagpapanatiling sa paligid ng isang kopya sa gayon ay
kung ito ay hindi nagbabago o nang tapat kahit na gumagana ang magbago,
hinahayaan hindi mapapansin nang hindi bababa sa ng ilang segundo maaari ring maging ng ilang
minuto o mas masahol pa para sa isang oras o dalawang.
At sa isang website, maaari mo Nakita na ito dati,
minsan kung ikaw ay gamit ang isang website,
hindi kaya magkano ang pinakamalaking mga website.
May posibilidad mo upang makakuha ng mga ito detalye ng karapatan tulad ng Facebook
at Gmail at iba pa.
Ngunit kung gumagamit ka ng isa pang website na gumagamit ng isang pulutong
ng mga teknolohiya gagamitin namin sa klase,
ito ay madalas na isang desisyon disenyo upang magpasya kung o hindi
i-cache ang isang bagay at kung gayon, gaano katagal i-cache ang isang bagay.
At kung ikaw ay kailanman naging sa isang website
kung saan halimbawa pinindot ninyo ang I-save ang at pagkatapos mo i-reload ang pahina
at pagkatapos ay kahit anong ka nai-post ay hindi doon.
Ngunit pagkatapos ka siguro sa iyo i-reload muli at ito ay lilitaw.
At sa katunayan, na hindi ko talaga nakita ang sintomas kahit na
sa Facebook minsan
kung saan kung i-reload mo iyong Feed ng Balita,
minsan isang bagay ay doon, minsan ito mawala
at mga bagay na hindi mukhang pare-pareho talaga.
At iyon ang madalas ang resulta ng lang pag-cache isyu.
Sa isang hiling, ikaw pagpindot ng isang server.
Sa isa pang kahilingan, handa ka pagpindot ng isa pang server
at ang kanilang mga cache, ang kanilang mga kopya
ng mga web page puwede hindi ay ganap na ganap na nai-synchronize
sa pamamagitan ng ilang segundo o minuto
kaya nakikita mo iba't ibang estado ng mundo.
Parehong bagay na nangyayari sa DNS.
Kung nagpasya ka na pagmamay-ari mo food.com
at kung ikaw nakapunta pagho-host ito sa GoDaddy,
isang walang kinikilingan sikat web pagho-host ng kumpanya bukod sa iba pa
at nagpasya kang, hindi, gagawin ko hindi talagang gusto ang kanilang mga politika,
Hindi ko talaga gusto ang kanilang mga presyo, ang kanilang mga serbisyo.
Gusto kong baguhin sa isa pang web kumpanya sa pagho-host ang lahat ng sama-sama.
Ano ang gagawin mo?
Well, gusto mo lamang baguhin ang IP address ng food.com upang ituro
sa server ng ibang tao na nag- ka pagpunta upang simulan ang pera sa.
Ngunit dahil ang buong DNS sistema ng server ay gumagamit ng mga cache,
kung ano ang maaaring sabihin nito para sa iyong mga gumagamit
kung biglang ililipat mo iyong website mula dito
sa mahigit dito, iba't ibang IP address.
Ayos lang.
Para sa ilang mga non-zero na numero minuto o segundo,
maaaring magtapos up ng pagpunta sa iyong mga gumagamit dito halimbawa o dito
sapagkat ang kanilang mga operating system, kanilang browser, ang kanilang ISP,
maaaring mayroon kanilang tahanan router naka-cache na sa lumang IP address
sa aling mga punto, nito talagang mahirap na figure
out eksakto kung ano ang nangyayari mali.
Kaya paano ko simulan mong i-Chase down na kahit na mga isyu tulad na?
Sa pamamagitan ng pagsunod lamang mga tinapay crumbs
at pag-unawa sa huli kung ano ang HTTP
at kung ano ang ibig sabihin ng ipadala isang kahilingan at kung ano ang ginagawa tool
tulad ng NSlookup talaga magawa para sa iyo.
At kaya kung paano maaari mong maisagawa ang ilang mga ng mga utos mababang antas
at malaman lamang kung ano sa katunayan ay pagpunta mali.
Kaya alam mo kung sino ang tumawag sa, na nag- upang magpadala-off ng isang email sa o kung ano
upang baguhin ito sa iyong sariling server.
At bilang isang-tabi, Ako sa paghula pinaka-
ng sa iyo dito ginamit ang CS50 Appliance, kung ginawa mo tumagal CS50.
Kahit na ikaw ay hindi marami
ng marahil mo pa nagamit Apache kung sa iyong sariling mga Mac
o mga PC o mga kahon sa Linux.
Tulad ng isang-tabi, kung gagawin ko buksan ang isang terminal na window dito
tungkol sa mga pinakabagong CS50 Appliance at naging ugat ko sa sudu su
at pagkatapos kong pumunta sa direktoryong ito
dito etc / httpd / conf.d /.
Ito ay isang pangkaraniwang ilagay para sa mga web server -
para sa Apache web server upang mag-imbak kanilang mga configuration file.
Lamang ay nangangahulugan Conf.d configuration ng direktoryo ng buong bungkos
ng mga file at kung makikita ko bang buksan up gamit ang vi halimbawa,
appliance 50, makakakuha ka talaga makita kung paano virtual hosting
sa CS50 Appliance ay naging nagtatrabaho sa lahat ng mga oras.
Kung ito Matagal na pagpapabalik
na maaari mong ilagay ang pinaka- anumang website sa loob
ng direktoryo ng iyong vhost ni sa Appliance.
Paano gumagana ang aktwal na gumagana?
Well mapansin, ito ay isang bit arcane at maaari mong uri-uriin
ng grok ang iyong paraan sa pamamagitan ng ito gamit ang dokumentasyon.
Ngunit mahalagang marahil ang pinaka-kapaki-pakinabang na linya
upang tumingin hanggang - tumingin sa ay na ito.
Ang line dito talaga Sinasabi ng web server upang tumingin
sa John Harvard ni vhost direktoryo
para sa mas mababang bersyon kaso ng kahit anong pangalan ng server
o domain name ay talagang binisita.
At ay hindi namin kinakailangang pumunta sa may ganitong antas ng tinkering.
Ngunit kapag gumagamit ng Apache, ikaw ang mga bago
nagpapahalaga sa mga mayroon Pagkakaroon ng kontrol sa mga detalye.
OK. Kaya, simula ngayon, kami ay maaari na ngayong tumagal ng HTTP para sa ipinagkaloob, tama?
Ayos lang.
Kaya bakit hindi namin gawin na ito, lalo na kung ilang
ng sa tingin mo medyo isang bilanggo madla, bakit hindi namin sige
at kumuha ng dalawang minutong break na,
kapag dumating namin pabalik ipapakita namin sumisid nang kaunti sa MVC at kami ay
sa isang tala sa - ng isang problema na gagawin namin pagkatapos malutas sa Miyerkules
may isang tool na tinatawag na Laravel.
Kaya, sabihin tumagal ng isang ilang minuto.