>> Добра.
Так што давайце пагрузімся у некаторыя тэхнічныя дадзеныя.
Мы спадзяемся, з некаторымі, што з софтбола пытанне.
HTTP, мэта сёння з'яўляецца проста не даць нам псіхічнае
мадэль для тыпаў прыкладанняў
і праекты мы збіраецца рэалізацыі.
У сераду, мы будзем пераходзіць больш падрабязна на такіх рэчах, як MVC
і ў прыватнасці Laravel і ў ORM
, З якой мы будзем гаварыць з базай дадзеных.
Але на сённяшні дзень, давайце ўсталюем этап для гэтых размоў.
HTTP з'яўляецца тое, што?
Пратакол перадачы гіпертэксту?
ОК што гэта значыць?
Так.
[Неразборліва Заўвага]
ОК. Закрыць.
Гэта іншая.
Ня HT - вось, што HTML.
HTTP з'яўляецца той, які робіць тое, што менавіта?
>> Гэта служба, якая як перадае тэкст назад
і наперад паміж серверамі?
>> Так дакладна.
Гэта сервер.
Так, на самай справе гэта пратакол.
Гэта мноства канвенцый , Якія выкарыстоўваюцца
перадаваць інфармацыю назад і наперад паміж кліентам і серверам.
І гэтая інфармацыя, як правіла, прымае форму HTML,
Мова гіпертэкставай разметкі, які з'яўляецца адкрытыя тэгі і зачыніць тэгі.
Так што калі ў вас ёсць некаторы кліента Тут прадстаўлены злева
і некаторыя сервера прадстаўлены тут, на права.
Стрэлкі ходзіць туды-сюды
паміж імі ўяўляюць што мова HTTP.
І калі знаёмыя з 50 па Экзэмпляр у мінулым годзе ці некалькі
з гады таму вы маглі б Нагадаем, што мы апісалі яго
ў якасці пратаколу ў тым сэнсе што калі я ўпершыню сустракаеце кагосьці,
Я мог бы пашырыць маю руку і павітаўся і, можна сказаць -
>> Добры дзень.
>> Добры дзень. А цяпер, такога роду здзелкі паміж кліентам
і сервер будзе завершана.
Добра.
Так HTTP проста набор канвенцый.
І сярод гэтых канвенцый гэта адправіць пэўныя паведамленні.
Так, напрыклад, давайце адкрыем Chrome.
І для курса, вы можаце вядома, выкарыстоўваць найбольш любы браўзэр,
але Chrome, як правіла, верагодна, самым папулярным у гэтыя дні.
Таму што яна мае ўсю набор інструментаў, пабудаваных цалі
Давайце пойдзем далей і Агледзіце элемент.
Дазвольце мне перайсці на ўкладку Network і адпусціць мяне ў чымсьці
як http://www.cs164.net і націсніце Увод
пасля першага ўдару рэкорд пакуюць, мы трапляеце.
І зараз мы збіраемся каб убачыць цэлую кучу
радкоў у гэтай табліцы.
Што кожны з гэтыя радкі ўяўляюць
калі вы наведваеце вэб-старонку?
Да?
[Неразборліва Заўвага]
Менавіта так. Усе файлы Я проста прасіў паказаны
ў якасці асобнай радкі ў што столік там,
але чакаць файлы.
Я толькі прасіў адзін такі файл, справа,
меркавана index.html або index.php.
Яны могуць быць спасылкі, ці не так?
Вядома, ёсць выява тэгі ўнутры там,
ёсць спасылка тэгі для CSS, ёсць тэгі сцэнара
для JavaScript і а цэлая куча іншых тэгаў
што можа на самай справе цягнуць
ў дадатковых файлаў роду рэкурсіўна.
І так гэта тое, што мы бачым.
Калі мы пракруткі уверх цяпер самы верх з іх,
заўважыць, што мы ўпершыню бачым адзін што на самой справе нават цікава.
У ім гаворыцца, наш вэб-сайт пераехаў часова,
код стану так казаць гэта 302.
Там іншая падобны адзін, 301, які пераехаў на сталае жыхарства.
І калі вы перамесціце часова або пастаянна што гэта значыць?
Што павінны рабіць вашыя вочы шукаць у парадак
адказаць куды мы рухаемся да?
Ток і даўжыня.
ОК. Так, безумоўна, можа выснову, дзе мы скончылі.
І, мабыць, я скончыў у canvas.harvard.edu / нешта
які з'яўляецца нашмат складаней запомніць.
Але больш тэхнічна, я хачу дыягнаставаць праблему перанакіраваньні.
Я хачу зразумець, дзе я збіраецца з кропкі А ў кропку Б
да кропкі кропкі, кропка, кропка canvas.harvard.edu
у гэтым больш таямніцай Інтэрфейс загалоўкаў.
Як мне адказаць на пытанне аб тым, форма, дзе я рухацца?
Месцазнаходжанне. Добра.
Так што калі я пракруціць ўніз тут ў загалоўкі адказу,
заўважыць, што яны з'яўляюцца загалоўкі і дазвольце мне змяніць яго.
Гэта свайго роду даволі друкаваная версія ад Chrome.
Давайце націснем крыніца прагляду.
Гэта сыравіна тэкст, які вэб-сервер Apache.
І я ведаю, што, зірнуўшы на гэтай лініі тут.
І Apache проста бясплатна і з адкрытым зыходным кодам.
Гэта, бадай, самы папулярны Сервернае праграмнае забеспячэнне вэб-там.
Гэта з'яўляецца вынікам поціск рукі вяртаецца да мяне.
І калі я, вядома, паглядзець на , Што было ўнутры ад рукі
або віртуальны канверт, што ўяўляе пакеты,
збіраецца па сетцы ўнутры
таго, што менавіта гэтыя некалькі радкоў тэксту.
І таму, што браўзэры Самі кажуць HTTP,
яны запраграмаваныя на Google і Microsoft
і іншыя кампаніі шукаць гэтай лініі.
І калі ён бачыць размяшчэнне: для чаго гэта трэба з URL
пасля двукроп'я меркавана?
Само да яго.
І мы бачым, гэта у любым ліку шляхоў.
На самай справе, вельмі зручна інструмент асабліва на Linux
і Mac OS, калі я адкрываю акно тэрмінала тут
і я раблю згарнуцца і я-я і затым ўставіць гэты URL там.
Гэта добрая звычка выкарыстоўваць двукоссі
таму што калі вы калі-небудзь ёсць пытанні знакі
або іншыя незразумелыя сімвалы, Вы можаце на самой справе накшталт
з блытайце камандную радок.
Але калі вы працытаваць URL там, Цяпер мы ўбачым сапраўды ўсё
загалоўкаў, якія вярнуліся.
І ў гэтым выпадку, на самай справе Я зрабіў не той.
Я зрабіў Canvas URL.
Давайце зробім http://www.cs164.net.
Enter. Ёсць дакладна тыя ж загалоўкі.
І калі я хачу бачыць Наступны тое, што вяртаецца,
Я магу толькі зрабіць гэта ўручную.
Так завіток толькі збольшага хутка і бруднымі дыягнастычны інструмент тут,
завітак-I і зараз зноў, што URL і гэта ўсё загалоўкі
што зараз вяртаюцца з canvas.harvard.edu.
Якую дадатковую інфармацыю яны пасылаюць нас?
Гэта крыху адрэзаць.
Дазвольце мне рухацца над гэтым.
Так адна з гэтых ліній Цікава.
Даўжыня Так змест, гэта колькі байт былі ўнутры
віртуальнага абгінаючай што вярнуўся.
Тып змесціва гэта HTML, гэта можа быць нешта іншае
калі гэта PNG або GIF або JPEG.
На самай справе, наогул кажучы, што ж гэты радок называецца?
Ёсць гэтыя унікальныя Радкі ў свеце
што адназначна апісаць розныя тыпы дадзеных.
Гэта так званы Тып MIME, тыпу М-Я-М-Е.
Такім чынам, свет стандартызаванай
што. PNG Я думаю, з'яўляецца "малюнак / PNG".
Свет стандартызаваны , Што ў HTML файл з'яўляецца тэкст / HTML.
Свет стандартызаваны, што mp4, файл фільм video/mp4.
Такім чынам, гэтыя унікальныя маркеры што браўзэры звычайна выкарыстоўваюць
вызначыць, ці з'яўляецца гуляць гэта як у кіно, каб паказаць яго
у выглядзе малюнка, аказваць гэта, як HTML або таму падобнае.
Што робіць сервер - Instructure кампанія за Canvas
па-відаць, выкарыстоўваць?
Так Apache таксама, так што яны выкарыстоўваюць той жа інструмент, і мы бачым
што праз гэтую лінію тут.
Як у баку, яны фактычна зрабіць і тое, што разумны
што не ўсе вэб-сайты рабіць.
Вельмі часта сайты выплюнуць,
не толькі, што яны працуе Apache, але і
што яны працуюць Apache версіі 2.1.3.
Але гэтыя хлопцы былі разумныя і адключыць нумар версіі.
Чаму гэта разумны?
Так.
>> Можа быць, таму пэўны версія можа быць знойдзены
і маюць прыватнасці уразлівасці
[Неразборліва] відавочна.
>> Вось менавіта.
Гэта патэнцыйны пагрозу бяспецы.
Калі вы па сутнасці вяшчанне свет, эй,
мы бяжым гэтую версію.
Эй мы бяжым гэтую версію.
Гэта не так складана з дапамогай Google або толькі з згарнуцца нават ткнуць
вакол выпадковыя IP-адрасы
і знайсці людзей, якія бягуць багі праграмнае забеспячэнне, а затым напасці на іх
любымі дакументальна азначае, што ёсць.
Цяпер, чаму гэта да гэтага часу кажучы Apache?
Можна сцвярджаць, што, што з'яўляецца свайго роду бязвыплатная інфармацыя.
Ну, Apache дазваляе лёгка выключыць нумар версіі
але не іх роду за сцэны брэндынг такім чынам.
І гэта, як Google і іншыя кампаніі ведаюць, што вэб-серверы
людзі бягуць, таму што яны проста кажа ўвесь свет
кожны раз, калі вы наведаеце іх.
Так печыва вернецца таксама.
Але вы, напэўна, памятаеце, што печыва з'яўляюцца свайго роду вялікія унікальныя нумары
што, як правіла, падабаецца ручной штамп на карыстальніка.
Яго крыху файл або частка Дадзеныя пасаджаныя ў браўзэры
памятаць, кім з'яўляецца карыстальнік.
Статус 200 гэта добра.
X-Палатно-Мета, таму што ўсё гэта?
Ну, карацей кажучы, Свет таксама дазволіла свеце
прыдумаць адвольнае, HTTP загалоўкі і калі вы прэфікс іх
з X, што толькі азначае, што яны на заказ.
І гэта добры спосаб нават Для дыягнастычных мэтаў
калі вы распрацоўваеце вэб-дадатак
і вы хочаце, каб мець магчымасць
каб убачыць за кулісамі вы ведаю, што заходняя частка сервера косы
з гэтага адказу ці што нумар версіі ў цяперашні час працаваць
на гэтым серверы.
Або тое, што яго ўнутраная IP адрас,
любая рэч, дзе вы маглі б хочаце нейкі ўнутраны пробліск
у чымсьці, што адбываецца, вы можаце плюнуць
з уласнага адвольнага HTTP загалоўкі такім чынам.
Але гісторыя пачалася з адкрываючы вэб-сайт курсу.
І мы бачылі ўсё гэта радкоў у закладцы Сетка.
Першы быў з самых Цікавасць, які пераадрасавалі нас
да іншага, і тады мы атрымалі таму ў гэты адказ тут.
Так, дзе ж canvas.harvard.edu?
Давайце націснуць ледзь далей і роду
з наступныя хлебныя крошкі.
Canvas.harvard.edu з'яўляецца па-відаць, належыць Гарвардзе.
Яны стварылі гэтую суб-дамен называецца canvas.harvard.edu.
Як бы я высветліць, дзе
у свеце canvas.harvard.edu жыццё?
Ці, можа быць, больш канкрэтна што яго IP-адрас?
Як мы можам зразумець гэта?
Да?
[Неразборліва Заўвага]
Абсалютна.
Так што на самой справе адказаць на пару пытанняў там.
Першы такі просты інструмент будзе быць тое, што называецца NSlookup
хоць гэта называецца іншыя рэчы.
Nameserver Пошук і Я магу увесці нешта
як canvas.harvard.edu.
Enter. І гэта будзе даваць мяне назад, мабыць, цэлая куча
адказаў.
Але давайце паглядзім, калі не можа разабрацца ў гэтым.
Такім чынам, відавочна,
canvas.harvard.edu з'яўляецца кананічным імем
для гэтага зверскім гледзячы рэч,
Гарвард-vanity.instructure.com.
Такім чынам, што ж тут адбываецца?
У той час як у той час, калі мы будзем чытаць,
Гарвард-vanity.instructure.com мае кананічнае імя
чагосьці яшчэ больш загадкавым,
Гарвард-170 нешта -Нам-ўсход-1.elb.amazon.aws.
Тым больш, што рэч вырашае
каб па-відаць, тры розных IP-адрасоў.
Так што ў свеце жа ўсё гэта значыць?
Да?
[Неразборліва Заўвага]
ОК. Добра. І дазвольце мне наладзіць Адзінае, што вы сказалі,
гэта не зусім Ўтрыманне сеткі дастаўкі.
Таму што гэта, як правіла, што азначае, што гэта статычны кантэнт
і таму, што большасць сайт дынамічна прывадам,
Я не буду апісваць гэта як CDN
але гэта Amazon адбыўся сервераў.
Amazon прапануе сэрвіс пад назвай Amazon Elastic Compute Cloud,
EC2 для сцісласці.
І гэта толькі вэб- серверы часта працуе Apache
або іншыя часткі праграмнага забеспячэння што вы можаце арандаваць сутнасці
, Заплаціўшы Amazon некалькі цэнтаў або некалькі даляраў у гадзіну
а на самай справе вы вядзеце свой Код на сваіх серверах.
І сродкі, з дапамогай якіх яны зрабіць гэта яны даюць загадкавыя
гледзячы даменнае імя, як гэта які ў сваю чаргу прыводзіць да аднаго
ці больш IP-адрасы як гэтых траіх тут.
І ў сваю чаргу, вы можа ствараць псеўданімы
што нашмат больш чалавекам добразычлівым
для гэтага ў адваротным выпадку цалкам ненезабываемый Amazon адрас.
І ў гэтым выпадку Кампанія Instructure вырашыў
стварыць злёгку больш запамінальным адрас,
Гарвард-vanity.instructure.com
але гэта было б зверскі выгляд рэчы для нас
для наведвання для курса сайтаў.
Так Гарварда, у сваю чаргу стварыў іншы псеўданім, больш
проста canvas.harvard.edu.
І ўсе гэтыя метады з'яўляюцца выкарыстоўваючы тое, што называецца DNS,
Сістэма даменных імёнаў.
І пакуль сістэмы Адміністратар мае доступ
каб Гарварда або Instructure'S DNS-серверы,
Вы можаце стварыць гэтыя псеўданімы.
І калі вы, хлопцы, для вашых праектаў,
вырашылі купіць дамен назваць за 5 даляраў,
10 даляраў або любы іншы.
І нават плаціць за вэб-хостынгу
або проста выкарыстоўваць у вольным доступе вэб-хостынгу і вы хочаце яго
на самай справе жыць не на нешта random.com
але на свой уласны дамен імя, якое вы купілі за 5
або 10 даляраў гэтыя з'яўляюцца віды дэталяў канфігурацыі
што мы будзем вывучаць у бок канец семестра.
Калі і калі прыходзіць час грузіць нешта публічна
так што ён можа жыць у а цікавей URL.
Дазвольце мне спыніцца на імгненне Таму што вы, хлопцы з'яўляюцца свайго роду
неапраўдана групоўкі ў там.
Хочаце няёмка толькі збольшага прыйсці і сядзець
у спіну або ў сярэдзіне?
Ці павінен я не малюю увагу да вас?
Ўваходзіце
Гэта, верагодна, больш нязручна там.
[Паўза]
Добра.
ОК. Сардэчна запрашаем.
Добра.
Дык дзе ж, што цяпер нам застаецца?
Так ці інакш мы з сябрам і мы перасекчы гэты мост, калі
і, калі прыйдзе час з пункту гледжання
з DNS, як вы на самой справе наладзіць усё гэта.
Некаторыя, як і іншыя, гэта HTTP запыт,
гэты першапачатковы поціск рукі дасягае сервер ў адным
з тых IP-адрасоў.
На гэтым серверы нешта называецца вэб-сервер.
Не дзіўна.
Але тое, што сапраўды тэхнічна з'яўляецца вэб-сервер?
Вы накшталт ўзяць фразу як належнае, але што гэта такое?
Што такое вэб-сервер?
Да?
[Неразборліва Заўвага]
ОК. Такім чынам, гэта проста кампутар з памяццю і уваходаў.
Вы ведаеце, гэта, магчыма, глядзеў
як гэтая карціна раней нават хоць гэта адна крыху
Рэтра і больш настольны кампутар або вежа кампутар.
Так, гэта проста кампутар.
Але тэхнічна, вэб-сервер гэта не кампутар за, кажуць.
Мы, як свайго роду людзі маюць доўга аб'яднаны вэб-серверы
і паштовыя серверы як фізічныя прылады.
Але вэб-сервер на самай справе гэта кавалак праграмнага забеспячэння.
Гэта частка праграмнага забеспячэння, працуе на фізічным кампутары.
І, такім чынам, вы можаце мець Сервер электроннай пошты і вэб-сервер
і серверам дыяграмы і любы шэраг іншых сервераў
ці больш правільна службаў, якія працуюць на вяршыні
канкрэтнага кампутара і ўсе гэтыя паслугі могуць жыць
у той жа IP-адрас таму.
Такім чынам, як - калі ў вас ёсць вам сапраўды ёсць некалькі службаў
або сервераў, якія працуюць на той жа кампутар, як, калі нулі
і тыя ідуць у на іх праз Інтэрнэт,
робіць кампутар ведаю, адказаць як паштовы сервер
з вэб-старонкі, з чаце?
Так.
[Неразборліва Заўвага]
Добра. Менавіта так.
Так вэб-сервер слухае на тое, што называецца порт.
І калі вы ўзялі CS143 Сетка, вы маглі б ведаць
што гэтыя парты ставяцца да пратаколаў тыпу TCP
якія вы, верагодна, на меры чулі пра або UDP.
І гэтыя парты ці нумары партоў проста ўнікальныя ідэнтыфікатары
што ідэнтыфікаваць паслугу.
Так 80 вэб, 25 з'яўляецца электронная пошта, 23 з'яўляецца Telnet, 22 з'яўляецца SSH
і ёсць дзесяткі і сотні
з астатніх хоць ёсць за ўсё ў некалькіх вельмі папулярныя з іх.
І гэта адзін са спосабаў для кампутар з аднаго IP-адрасы
сартаваць з мультыплекса сярод Розныя тыпы запыце
і рэагаваць адпаведным чынам.
Дык што ж гэта на самай справе азначае?
Такім чынам, мы не патрэбна вэб-браўзэр.
Нам не трэба завіток ў фактычна гаварыць на вэб-сервер.
Мы проста павінны зразумець, што пратакол і як ён працуе
і я спасылаўся на гэта імгненне таму.
Telnet з'яўляецца свайго роду Старая праграма школы.
Вярнуцца ў мой час, мы выкарыстоўвалі выкарыстоўваць яго, каб праверыць электронную пошту
але гэта было абсалютна небяспечна.
Гэта ўсяго толькі інструмент, праз які Вы можаце адправіць тэкставыя каманды
на іншы кампутар.
І яшчэ ў той дзень,
гэтыя тэкставыя каманды часта ўключаюцца сваё імя карыстальніка
і ваш пароль з няма роду шыфравання.
Калі вы знаёмыя з SSH,
SSH з'яўляецца ў значнай ступені Telnet але з шыфраваннем.
Дык вось крыху спрашчэнне.
Але я магу рабіць выгляд, як чалавекам з тэрмінальным акне
і гэтая старая школьная праграма Telnet быць вэб-браўзэр.
Я магу увесці нешта як Telnet www.cs164.net
і, на жаль, калі я проста націсніце Enter, яго спрабуюць
але нічога, здаецца , Адбываецца.
І гэта таму, што па змаўчанні, свет вырашыў гадоў таму
што порт па змаўчанні Telnet з'яўляецца 23
як я коратка згадаў да моманту таму.
Але я не хачу Telnet за, кажуць.
Я хачу выкарыстоўваць Telnet такога роду тэкставай праграмы прыкідвацца
быць вэб-браўзэр у Chrome і IE і іншыя браўзэры
па змаўчанні было цяжка кадуецца Google і Microsoft
казаць не да 23, але да 80 або, можа быць 443
для SSL на аснове вэб-сайтаў.
А цяпер звярніце увагу, я стараюся і я падлучыцца да вэб-серверу.
Я сыходжу, ісці наперад і сказаць нешта накшталт прывітанне.
І, мабыць, гэта мае проста пераехаў на сталае жыхарства.
Я пасылаю некаторыя фіктыўныя каманду
і яго адпраўкі мяне назад на гэты адрас тут.
Такім чынам, давайце на самай справе гэта крыху па-іншаму.
Давайце рэальна ўбачыць кажуць, GET/HTTP/1.1.
Так што я раблю?
Гэта каманда.
Гэта свайго роду майго поціск рукі, так бы мовіць.
Якая наперад слэш, верагодна, паказваюць?
Хатні каталог.
Такім чынам, хатні каталог вось гэта як раз азначае -
добра назавем яго роўны сайце.
Незалежна файл па змаўчанні ёсць, можа быць, гэта index.html,
можа быць, гэта index.php
і HTTP/1.1 сутнасці апошняя версія HTTP.
Так што я, які прэтэндуе быць браўзэр, які даволі току
, Каб яна адпавядала гэта мяне як я спадзяюся.
І я іду наперад і націсніце Увод двойчы
таму што спосаб, якім рэчы працуюць, што як толькі вы ўбачыце пусты радок,
робіць вэб-сервер затым адказаць.
Але, на жаль, гэта дрэнны запыт.
Браўзэр накіраваў запыт
што гэты сервер не мог зразумець.
Цяпер гэта адно шмат цяжэй дыягнаставаць.
Але аказваецца, што cs164.net выкарыстоўвае Apache.
І не так шмат мы можам высветліць.
Але яго таксама выкарыстоўваць нешта называецца віртуальны хостынг
, У якой вы можаце быць знаёмыя.
Можа быць, цьмяна ад Вашы CS50 дзён
або калі вы напісалі камерцыйныя вэб-сайты да,
што віртуальны хост або віртуальны хост?
Так.
[Неразборліва Заўвага]
ОК. Менавіта так.
Такім чынам, ёсць некалькі слаёў мультыплексаванне тут, так бы мовіць.
Калі вы атрымаеце запыт ў нейкі сервер
на пэўным IP-адрасе, вы мінімальна трэба, што нумар порта
каб сервер ведае, што гэта электронная пошта, гэта вэб-запыт,
паведамленне чата або што не.
Але калі толькі вы зразумець з, у парадку, яго порт 80.
Гэта, відавочна, запыт для вэб-старонкі.
Але гэта не было б добра
калі адзін сервер мог на самай справе падтрымліваць некалькі
сайты, food.com і bar.com і bass.com
такім чынам, яны не маюць патрэбы ў адзін фізічны сервер або адзін суцэльны
праграмнага забеспячэння для кожны чорт сайт у свеце.
Такім чынам, свет прыдумаў віртуальны хостынг, які дазваляе вам
паставіць некалькі даменных імёнаў на тым жа IP-адрас.
Але загваздка ў тым, злучэнне Я толькі што зрабіў з дапамогай Telnet,
паказаўшы порт 80 www.cs164.net я не згадаў
даменнага імя што я быў зацікаўлены
ў за камандную радок.
І, на жаль, і гэта трохі невідавочным.
Як толькі я трапіў Enter,
істотна Telnet саманадзейна з'яўляецца пераўтварэнне
www.cs164.net для мяне да IP адрасе
а потым проста даслаўшы мой сыравіну GET запыту на сервер.
Так што меркаванне, што гэта было www.cs164.net цалкам страціў,
Права.
Telnet ня браўзэру чаму б яму турбаваць адпраўкі
дадатковая інфармацыя на сервер?
Гэта не так разумны.
Так што я прагляду ёсць нагадаць сервер
, Што не толькі я хачу каб атрымаць на хатняй старонцы,
Я таксама хачу паказаць мноства cs164.net.
І загаловак HTTP так, каб гаварыць і ёсць той самы, Гаспадар:.
Цяпер, калі я ударыў Калі ласка, увядзіце, я вярнуцца той жа перанакіраванне
што я бачыў у Chrome і што я бачылі ў завіток, але я адважуся сказаць цяпер,
мы робім гэта проста прыкладна так жа нізкі ўзровень
як тэхнічна магчыма
з дапамогай гэтых больш таемныя каманды.
Цяпер, чаму гэта карысна?
Такім чынам, гэта не звычайны спосаб наведаць вэб-сайт
але практычна ў любы час, вы павінны дыягнаставаць некаторыя праблемы
з вэб-дадатак які ўключае ў сябе сервер або кавалак
праграмнага забеспячэння або зноў створаны віртуальны хост
ці зноў купіў даменнае імя.
Гэта як раз тыя інструменты што вы ведаеце, Ціма і Роб і я
і іншыя будуць выкарыстоўваць проста паспрабаваць малюнку
, Што адбываецца не так, ці не так?
Справа ў кропку любы час вы атрымаеце даменнае імя, вы так ці інакш прыйдзецца
звязаць IP звяртацца з ім.
І вы робіце гэта звычайна праз вэб-інтэрфейс на GoDaddy
або namecheap.com ці там, дзе вы купілі даменнае імя.
Так розныя вэб-сайты ёсць розныя інструменты
але гэта ў асноўным на Excel табліца са слупкамі
для імёнаў і слупкоў якія прымаюць
для IP-адрасоў нешта ў гэтым родзе.
Але ёсць праблема таму ў любы час вас папросяць
звязаць IP-адрас з імем хаста, вас просяць
для яго TTL які стаіць для - вы ўзялі 143.
Я чую яго сюды.
Time To Live.
TTL азначае, колькі секунд павінны гэты запіс памятаць
для і ўспомніў, Я маю на ўвазе ў кэш.
Так, карацей кажучы, Таксама ў свеце DNS,
ёсць уся гэтая Паняцце кэшавання.
І гэта тэма, якую мы будзем вывучыць падчас, а
на ўзроўні праграмнага забеспячэння з дапамогай кэшаванне часта сапраўды
добрая рэч.
І што мы маем на ўвазе кэшавання вэб-старонкі напрыклад
або кэшавання DNS запіс, IP-адрас?
Што гэта значыць у кэш?
Так.
[Неразборліва Заўвага]
Так, сапраўды, проста захоўваючы вакол копіі, так што
калі яна не змяніць або адкрыта, нават калі мяняе,
давайце не заўважыць, па меншай меры некалькі секунд, можа быць, нават некалькі
хвілін ці горш на працягу гадзіны або двух.
І ў вэб-сайт, вы, магчыма, бачылі гэта раней,
часам, калі вы выкарыстанне вэб-сайта,
ня столькі самая вялікая вэб-сайтаў.
Вы, як правіла, атрымаць дэталь прама як Facebook
і Gmail і таму падобнае.
Але калі вы выкарыстоўваеце іншы сайт, які выкарыстоўвае шмат
тэхналогій мы будзем выкарыстоўваць у класе,
гэта часта дызайнерскае рашэнне каб вырашыць, ці варта
кэшаваць нешта і калі так, як доўга кэшаваць нешта.
І калі вы калі-небудзь быў на сайце
дзе, напрыклад, вы патрапілі Захаваць і тады вы перазагрузіце старонку
а затым усё, што вам адказваў там няма.
Але тады вы, магчыма, вы перазагрузіць зноў, і здаецца.
І на самай справе, у мяне на самай справе бачыў сімптом нават
з Facebook раз у той час
дзе, калі вы загрузіце ваша навінавая стужка,
часам нешта ёсць, часам яна знікае
і рэчы не сапраўды, здаецца, паслядоўным.
І гэта часцяком з'яўляецца вынікам проста кэшаванне пытанні.
З аднаго просьбе, вы патрапіўшы адзін сервер.
На другі запыт, вы ўдару іншы сервер
і іх кэшы, іх копіі
вэб-старонак не маглі б быць ідэальна сінхранізаваныя
на некалькі секунд ці хвілін
Такім чынам, вы бачыце розныя дзяржавы свету.
Тое ж самае адбываецца і з DNS.
Калі вы вырашыце, што ў вас ёсць food.com
і калі вы былі хостынг яго на GoDaddy,
даволі папулярны вэб- хостынг кампанія сярод іншых
і вы вырашылі, няма, я не вельмі падабаецца іх палітыку,
Я не вельмі люблю іх цэны, іх паслугі.
Я хачу змяніць у іншай сетцы хостынгу кампаніі ўсё разам.
Што вы робіце?
Ну, вы б проста змяніць IP адрас food.com да кропкі
на сэрвэры чужой, хто Вы збіраецеся пачаць грошы.
Але таму, што ўвесь DNS серверная сістэма выкарыстоўвае кэшы,
Што гэта можа азначаць для карыстальнікаў
калі раптам вы рухаецеся ваш сайт адсюль
да больш чым тут, адрозніваецца IP адрас.
Добра.
Па некаторых ненулявога колькасці хвілін або секунд,
Вашы карыстальнікі могуць у канчатковым выніку адбываецца тут напрыклад або тут
таму што іх аперацыйная сістэма, іх браўзэр, іх правайдэр,
іх хатні маршрутызатар, магчыма, прыйдзецца кэшуюцца стары IP-адрас
і ў гэты момант, яго сапраўды цяжка малюнку
што менавіта адбываецца не так.
Так як жа вы пачынаеце пераследваць ўніз нават такія пытанні, як што?
Па толькі пасля гэтыя хлебныя крошкі
і разуменне у канчатковым рахунку, тое, што HTTP
і што гэта значыць для адпраўкі запыт і што рабіць інструменты
як NSLOOKUP фактычна зрабіць для вас.
І так як вы можаце выканаць некаторыя з гэтых каманд нізкага ўзроўню
і проста высветліць, што на самой справе ідзе не так.
Такім чынам, вы ведаеце, да каго звяртацца, хто адаслаць электронны ліст або што
змяніць на сваім серверы.
І як у бок, Я найбольш гадаць
з вас тут выкарыстоўвалі CS50 Appliance, калі вы сапраўды бралі CS50.
Нават калі вы не рабілі многія
з вас, верагодна, выкарыстоўвалі Apache ці на вашых уласных кампутараў Mac
або ПК або скрынкі Linux.
Гэтак жа, як у баку, калі я раблю адкрыйце акно тэрмінала тут
на апошняй CS50 Appliance і я стаў корань з Sudu су
а затым я іду ў гэты каталог
тут і г.д. / HTTPD / conf.d /.
Гэта агульная месца для вэб-сервера -
для вэб-сервераў Apache для захоўвання іх канфігурацыйных файлах.
Conf.d проста азначае канфігурацыю Каталог з цэлым букетам
файлаў і калі я адкрыю з VI напрыклад,
Прыбор 50, вы будзеце на самай справе ўбачыць, як віртуальны хостынг
у CS50 Appliance быў працуе усе гэтыя гады.
Калі гэта было некаторы час, нагадаем,
што вы можаце змясціць найбольш любы вэб-сайт ўнутры
з дырэкторыі вашага віртуальны хост ў у Appliance.
Як гэта на самай справе працуе?
Ну заўважыць, што гэта крыху таямніцай і вы маглі сартаваць
з звяртаў увагі свой шлях праз гэта з дапамогай дакументацыі.
Але, па сутнасці, верагодна, найбольш карысны лінія
каб паглядзець - паглядзець на гэта.
Гэтая лінія тут істотна паведамляе вэб-серверу, каб паглядзець
у Джон Гарварда віртуальны хост каталог
для маленькай версіі за ўсё, што імя сервера
або даменнае імя было фактычна наведаў.
І мы не будзем абавязкова заходзіць у з такой ступенню майстраваць.
Але пры выкарыстанні Apache, вы тыя,
якія ў канчатковым выніку павінны Кантроль за гэтымі дэталямі.
ОК. Так, з гэтага часу, мы можам зараз прыняць HTTP як належнае, ці не так?
Добра.
Дык чаму б нам не зрабіць гэта, асабліва калі некаторыя
з вас адчуваць сябе некалькі палон аўдыторыя, чаму б нам не пайсці далей
і ўзяць два-хвілінны перапынак,
Калі мы вяртаемся, мы будзем ныраць трохі ў MVC, і мы будзем
на запіску аб - праблемы гэтай мы тады вырашыць у сераду
з дапамогай інструмента пад назвай Laravel.
Так, давайце пару хвілін.