1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> Слухаць: Давайце пагаворым пра іншае protocol-- на перадачы гіпертэксту 3 00:00:09,310 --> 00:00:12,060 Пратакол, або HTTP. 4 00:00:12,060 --> 00:00:15,074 Такім чынам, мы ўжо казалі аб IP і TCP ў папярэдніх відэа. 5 00:00:15,074 --> 00:00:17,240 І тыя пратаколы што дыктаваць, якім чынам інфармацыя 6 00:00:17,240 --> 00:00:20,970 рухаецца ад машыны да машыны і ад праграмы да праграме або службе 7 00:00:20,970 --> 00:00:27,720 абслугоўваць праз Інтэрнэт, з дапамогай гэтая сетка маршрутызатараў і машын. 8 00:00:27,720 --> 00:00:30,640 >> Але гэта, як правіла, не ўся карціна, ці не так? 9 00:00:30,640 --> 00:00:33,530 Звычайна, калі мы адпраўляем Інфармацыя, праграма 10 00:00:33,530 --> 00:00:36,570 у тым: калі дадзеныя атрыманыя, напрыклад, напрыклад, 11 00:00:36,570 --> 00:00:44,270 па электроннай пошце праз TCP-порт 25 або яго запыт старонкі вэб праз порт 80, 12 00:00:44,270 --> 00:00:48,220 звычайна ёсць сістэма правіл ёсць апрацоўваць тое, што я толькі што атрымаў. 13 00:00:48,220 --> 00:00:51,960 І HTTP з'яўляецца прыкладам менавіта такі пратакол. 14 00:00:51,960 --> 00:00:54,929 >> HTTP з'яўляецца адзіным пратакол прыкладнога ўзроўню, 15 00:00:54,929 --> 00:00:56,220 што мы збіраемся пагаварыць. 16 00:00:56,220 --> 00:00:59,660 Але гэта іншы набор дыктавалых правілаў, як 17 00:00:59,660 --> 00:01:02,790 Інфармацыя павінна быць перададзена і апрацоўваюцца з дапамогай сеткі Інтэрнэт. 18 00:01:02,790 --> 00:01:06,390 У прыватнасці, HTTP вызначае, як менавіта 19 00:01:06,390 --> 00:01:11,300 трэба зрабіць запыт для вэб-старонкі і як менавіта 20 00:01:11,300 --> 00:01:15,160 сервер, машына што прымае вэб-старонак, 21 00:01:15,160 --> 00:01:17,840 пастаўляе гэтую інфармацыю вярнуцца да кліентам. 22 00:01:17,840 --> 00:01:20,010 >> Так гэты пратакол не на самай справе ёсць што-небудзь 23 00:01:20,010 --> 00:01:22,270 з тым, як інфармацыя перамяшчаецца з кропкі А 24 00:01:22,270 --> 00:01:26,090 ў кропку B. Гэта сапраўды сістэма правілаў 25 00:01:26,090 --> 00:01:29,700 for-- гэта ў асноўным правілы Удзел для працы з вэб-старонкі, 26 00:01:29,700 --> 00:01:31,960 падобна на калі хто-то хвалі свае сілы ў вас, 27 00:01:31,960 --> 00:01:33,410 вы павінны махнуць назад. 28 00:01:33,410 --> 00:01:36,280 Гэта свайго роду звычайны чалавек пратакол. 29 00:01:36,280 --> 00:01:39,610 Пратакол HTTP проста кажа, калі Вы хочаце, каб запытаць сетку 30 00:01:39,610 --> 00:01:42,730 старонка, пераканайцеся, што вашыя погляды фармат як this-- накшталт як фарматаванне 31 00:01:42,730 --> 00:01:44,930 дзелавое пісьмо, напрыклад. 32 00:01:44,930 --> 00:01:50,029 І адказ будзе аналагічным прыйшоў у адпаведнасці з гэтым пратаколам. 33 00:01:50,029 --> 00:01:51,820 Ёсць іншы пратаколы ўзроўню прыкладанняў 34 00:01:51,820 --> 00:01:53,380 што мы не збіраемся пагаварыць ў відэа. 35 00:01:53,380 --> 00:01:55,790 Але гэта ставяцца рэчы, як Пратакол перадачы файлаў, 36 00:01:55,790 --> 00:01:59,200 Просты пратакол перадачы пошты для адпраўка электроннай пошты, размеркавання дадзеных 37 00:01:59,200 --> 00:02:02,100 Паслугі аддаленага працоўнага стала Пратакол, RDP, які 38 00:02:02,100 --> 00:02:05,590 выкарыстоўваецца, калі вы хочаце, каб аддалены доступ кампутар з іншага кампутара, 39 00:02:05,590 --> 00:02:08,479 XMPP, які часта вядомы як Jabber або ў чаце, 40 00:02:08,479 --> 00:02:11,160 такім чынам, гэта пратакол для выкарыстання чата паслугі. 41 00:02:11,160 --> 00:02:13,310 І шмат, шмат, шмат іншых. 42 00:02:13,310 --> 00:02:15,900 >> Такім чынам, кожны раз, калі вы карыстаецеся служба, служба 43 00:02:15,900 --> 00:02:18,930 чакае інфармацыю каб быць received-- запыт 44 00:02:18,930 --> 00:02:21,010 быць received-- ў вельмі канкрэтны фармат 45 00:02:21,010 --> 00:02:24,070 і патрабуецца для вярнуцца назад інфармацыю 46 00:02:24,070 --> 00:02:27,190 ў вельмі пэўным фармаце, а таксама. 47 00:02:27,190 --> 00:02:31,750 >> Такім чынам, давайце вернемся да нашай ілюстрацыі з нас хоча, каб пагаварыць з Інтэрнэт. 48 00:02:31,750 --> 00:02:34,810 Такім чынам, мы рады, і мы хочам, каб перайсці да cats.com, праўда? 49 00:02:34,810 --> 00:02:38,550 Так што, калі мы толькі што казалі, каб cats.com, мы маглі б сказаць што-то, як эй, 50 00:02:38,550 --> 00:02:39,720 я магу ўбачыць вашу хатнюю старонку? 51 00:02:39,720 --> 00:02:42,320 І, верагодна, cats.com адказаць, ды, вядома. 52 00:02:42,320 --> 00:02:43,440 Тут вы ідзяце. 53 00:02:43,440 --> 00:02:46,440 Так што гэта свайго роду чалавек АСК-адказ. 54 00:02:46,440 --> 00:02:47,980 >> Што гэта выглядае ў HTTP? 55 00:02:47,980 --> 00:02:51,340 Ну, гэта на самай справе выгляд перакладае даволі чыста, каб нешта накшталт гэтага. 56 00:02:51,340 --> 00:02:57,290 Мы маглі б сказаць, GET / HTTP / 1.1 ад гаспадара cats.com. 57 00:02:57,290 --> 00:03:03,039 Таму ў асноўным тое, што я раблю тут прасіць вэб-старонкі www.cats.com/~~pobj. 58 00:03:03,039 --> 00:03:05,330 Мы звычайна апускаем рысу у цяперашні час, але, што б проста 59 00:03:05,330 --> 00:03:07,200 значыць хатнюю cats.com ст. 60 00:03:07,200 --> 00:03:11,910 >> Аб, і дарэчы, я збіраюся каб выкарыстоўваць HTTP версіі 61 00:03:11,910 --> 00:03:14,182 1.1 для сувязі з вамі. 62 00:03:14,182 --> 00:03:16,390 Гэта свайго роду аналагам кажучы, як, дарэчы, 63 00:03:16,390 --> 00:03:17,870 Я збіраюся казаць па-французску, або па шляху, 64 00:03:17,870 --> 00:03:19,370 Я збіраюся гаварыць на англійскай мове. 65 00:03:19,370 --> 00:03:22,160 Вось толькі фармат пратаколу. 66 00:03:22,160 --> 00:03:25,050 Гэта таксама 1,0, які звычайна не выкарыстоўваецца больш. 67 00:03:25,050 --> 00:03:30,615 Так што я кажу HTTP 1.1, і Я хацеў бы www.cats.com/~~dobj. 68 00:03:30,615 --> 00:03:31,710 Калі ласка, атрымліваем, што для мяне. 69 00:03:31,710 --> 00:03:34,610 >> А тут яшчэ іншая інфармацыя, too-- кропкавы, кропка, кропка ёсць, 70 00:03:34,610 --> 00:03:38,234 якая ўяўляе сабой інфармацыю аб якія вы так cats.com 71 00:03:38,234 --> 00:03:39,400 будзе ведаць, дзе для яго адпраўкі. 72 00:03:39,400 --> 00:03:41,480 Але гэта два Сартаваць крытычных частак 73 00:03:41,480 --> 00:03:44,000 у самым пачатку з HTTP-request-- 74 00:03:44,000 --> 00:03:46,770 гэтак жа, як калі вы пачынаеце Ліст скажаш, дарагі, пусты. 75 00:03:46,770 --> 00:03:49,710 Гэта вельмі падобна па духу на гэта. 76 00:03:49,710 --> 00:03:52,370 >> І калі cats.com збіраецца кажуць, о, вядома, тут вы ідзяце. 77 00:03:52,370 --> 00:03:55,590 Яны маглі б адказаць, як this-- Я таксама адказваць на запыты. 78 00:03:55,590 --> 00:03:57,960 Я таксама кажу HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Ваш запыт будзе ўхвалены, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Тое, што вы збіраецеся атрымліваеце HTML, а затым 81 00:04:04,709 --> 00:04:06,250 кропка, кропка, кропка некаторую дадатковую інфармацыю. 82 00:04:06,250 --> 00:04:10,620 І на самай ніжняй частцы Запыт на самай справе HTML, 83 00:04:10,620 --> 00:04:16,339 мова разметкі, то Змест хатнюю старонку cats.com ст. 84 00:04:16,339 --> 00:04:21,227 >> Так HTTP / 1.1-- я прызнаць сваю Запыт быў прыняты з дапамогай HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Ваш запыт быў зацверджаны. 86 00:04:22,310 --> 00:04:25,810 Я магу даць вам тое, што вы хочаце, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Вы збіраецеся атрымаць HTML. 88 00:04:27,440 --> 00:04:30,450 А потым вось HTML, што вы прасілі. 89 00:04:30,450 --> 00:04:33,930 >> Але часам нашы просьбы не заўсёды ідуць зусім па плане. 90 00:04:33,930 --> 00:04:37,100 Ці магу я ўбачыць сваю старонку cats.html? 91 00:04:37,100 --> 00:04:40,366 Ну, што, калі яны кажуць, мы ня ёсьць старонка cats.html, 92 00:04:40,366 --> 00:04:42,740 які, здаецца, свайго роду нерэальна таму што яны cats.com. 93 00:04:42,740 --> 00:04:44,400 Можна падумаць, што яны будуць мець cats.html. 94 00:04:44,400 --> 00:04:45,420 Але ОК. 95 00:04:45,420 --> 00:04:48,484 Такім чынам, гэта з'яўляецца свайго роду звычайны чалавек ўзаемадзеянне 96 00:04:48,484 --> 00:04:49,650 цяпер мы мелі з cats.com. 97 00:04:49,650 --> 00:04:51,060 Як гэта перавесці? 98 00:04:51,060 --> 00:04:52,726 >> Гэта можа быць што-то вам знаёма. 99 00:04:52,726 --> 00:04:55,690 Наша просьба выглядала сапраўды гэтак жа, акрамя замест таго, каб слэш 100 00:04:55,690 --> 00:04:58,110 мы цяпер атрымліваць cats.html. 101 00:04:58,110 --> 00:05:01,810 Так што цяпер у асноўным уся гэтая запыт кажу, калі ласка, дайце мне 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Так гаспадара і сярэдзіне частка гэтай верхняй радку 104 00:05:08,700 --> 00:05:14,632 ёсць дакладна ўказаць на якой старонцы я прашу. 105 00:05:14,632 --> 00:05:17,590 Але cats.com ў гэтым выпадку не будзе каб быць у стане адказаць станоўча. 106 00:05:17,590 --> 00:05:19,089 Яны не ведаюць, што мы гаворым пра. 107 00:05:19,089 --> 00:05:25,170 І так гэта тое, што вам, магчыма, прыйдзецца бачыў before-- HTTP 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Я не мог знайсці тое, што вы прасілі. 109 00:05:27,180 --> 00:05:30,460 Дарэчы, я збіраюся даць вам таму некаторыя HTML, і, як правіла, што HTML- 110 00:05:30,460 --> 00:05:32,351 з'яўляецца ўтрыманне якога-небудзь 404 стар. 111 00:05:32,351 --> 00:05:34,100 І ў выпадку cats.com, гэта, верагодна, 112 00:05:34,100 --> 00:05:37,720 некаторыя мілыя кошкі у кошыку з сумны 404 твар побач з імі, 113 00:05:37,720 --> 00:05:40,920 таму што вы будзеце сумна, калі вы не атрымаеце старонку 114 00:05:40,920 --> 00:05:43,040 што вы шукаеце. 115 00:05:43,040 --> 00:05:48,520 >> Гэта свайго роду асновах якой пратаколаў, запыты пратаколу HTTP 116 00:05:48,520 --> 00:05:49,180 выглядае як. 117 00:05:49,180 --> 00:05:52,640 Яны сапраўды падобныя, як мы б падобны ўзаемадзеянне 118 00:05:52,640 --> 00:05:55,460 ўсяго чалавека канвенцый з просьбай нешта 119 00:05:55,460 --> 00:05:58,250 і атрымаць яго назад або напісання лісты і чакаючы адказу 120 00:05:58,250 --> 00:06:00,380 літара ў вызначаным фармаце. 121 00:06:00,380 --> 00:06:03,910 Гэта даволі шмат, што HTTP толькі кананізацыі 122 00:06:03,910 --> 00:06:10,190 для ўсіх прылад, якія жадаюць атрымаць доступ вэб-старонкі, гіпертэкставыя пераклады. 123 00:06:10,190 --> 00:06:15,110 >> Такім чынам, лінія выглядзе, гэтага метад запыту HTTP мэтавай версія, 124 00:06:15,110 --> 00:06:17,100 называецца HTTP-запыту лініі. 125 00:06:17,100 --> 00:06:23,740 Гэта, як правіла, першае, што перадаецца як частка запыту HTTP 126 00:06:23,740 --> 00:06:26,180 або калі вы просіце HTTP. 127 00:06:26,180 --> 00:06:29,970 Гэта накшталт як, як я ўжо сказаў, кажучы дарагая, пусты ў верхняй Ваш ліст. 128 00:06:29,970 --> 00:06:32,880 Яны ведаюць, што вы пісаць ім ліст. 129 00:06:32,880 --> 00:06:34,796 Такім чынам, гэта вельмі падобна каб гаварыць, я ведаю, 130 00:06:34,796 --> 00:06:37,670 што яны робяць запыт HTTP ў і гэта канкрэтны фармат 131 00:06:37,670 --> 00:06:39,090 яны просяць. 132 00:06:39,090 --> 00:06:43,810 >> HTTP версія, верагодна, заўсёды будзе HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 таксама існуе, але гэта не сапраўды выкарыстоўваецца больш. 134 00:06:46,670 --> 00:06:49,200 Для мэт CS50, GET, верагодна, заўсёды 135 00:06:49,200 --> 00:06:51,540 тое, што вы будзеце выкарыстоўваючы, калі вы на самой справе 136 00:06:51,540 --> 00:06:54,250 робячы прамыя запыты HTTP. 137 00:06:54,250 --> 00:06:57,720 Але слуп іншы варыянт, што мы не буду казаць пра прама цяпер. 138 00:06:57,720 --> 00:07:02,980 А потым запыту мэта тое, што старонка на серверы гаспадара 139 00:07:02,980 --> 00:07:05,812 Вы хацелі б атрымаць. 140 00:07:05,812 --> 00:07:08,020 Як я ўжо сказаў, што імя хаста гэта асобная лінія, як правіла, 141 00:07:08,020 --> 00:07:10,350 другая лінія ад агульнага запыту. 142 00:07:10,350 --> 00:07:13,660 І так разам узятыя, гаспадар Назва і мэта запыту 143 00:07:13,660 --> 00:07:16,070 пазначыць канкрэтны рэсурс у вышуку. 144 00:07:16,070 --> 00:07:20,986 У нашым прыкладзе 404 секунду назад, я пытаўся зноў www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com быць гаспадар. 146 00:07:22,940 --> 00:07:26,300 І ў маёй радку запыту, Я сказаў /cats.html. 147 00:07:26,300 --> 00:07:27,790 Гэта была мая мэта запыту. 148 00:07:27,790 --> 00:07:31,200 Так у цэлым, я пытаўся для змест ці рэсурс, размешчаны 149 00:07:31,200 --> 00:07:36,410 у www.cats.com/cats.html~~pobj. 150 00:07:36,410 --> 00:07:38,870 >> І тады ў залежнасці ад таго існуе рэсурс 151 00:07:38,870 --> 00:07:42,160 і ці будзе сервер можа даставіць рэсурс у адпаведнасці з кліента 152 00:07:42,160 --> 00:07:46,760 Запыт, вы можаце атрымаць розныя коды статусу назад. 153 00:07:46,760 --> 00:07:50,280 Некаторыя з гэтых кодаў стану, вы бачылі таму што яны з'яўляюцца часткай адказу. 154 00:07:50,280 --> 00:07:53,580 Некаторыя з іх, 200 ОК, з'яўляюцца верагодна, даволі ціха. 155 00:07:53,580 --> 00:07:55,650 Вы, напэўна, не бачыў ніколі старонка рэагаваць 200 OK. 156 00:07:55,650 --> 00:07:56,890 Вы проста атрымліваеце старонку. 157 00:07:56,890 --> 00:08:01,260 Гэта не тое, памылка 404, якія, як правіла, даволі ясна. 158 00:08:01,260 --> 00:08:03,850 Вы звычайна бачыце, што ён кажа, 404. 159 00:08:03,850 --> 00:08:06,880 >> Такім чынам, давайце пагаворым аб тым, што некаторыя з тых кодаў стану можа быць. 160 00:08:06,880 --> 00:08:09,660 Зноў жа, калі сервер рэагуе на нас, яны 161 00:08:09,660 --> 00:08:12,120 будзе рэагаваць HTTP статус версіі. 162 00:08:12,120 --> 00:08:14,020 Звычайна HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Якія гэтыя коды статусу будзе? 164 00:08:17,410 --> 00:08:18,890 Ну, мы маглі б атрымаць поспех. 165 00:08:18,890 --> 00:08:23,617 Такім чынам, у катэгорыі поспеху, мы можа атрымаць код 200 з тэкстам OK. 166 00:08:23,617 --> 00:08:24,450 Што гэта значыць? 167 00:08:24,450 --> 00:08:25,491 Ну, усё добра. 168 00:08:25,491 --> 00:08:26,721 Вы зрабілі правільны запыт. 169 00:08:26,721 --> 00:08:27,720 Вось правільны адказ. 170 00:08:27,720 --> 00:08:30,060 Я быў у стане паставіць менавіта тое, што вы хацелі. 171 00:08:30,060 --> 00:08:33,080 >> Часам вы можаце атрымаць іншыя рэчы што вы не заўважыце адразу 172 00:08:33,080 --> 00:08:35,140 але некалькі няўдач. 173 00:08:35,140 --> 00:08:36,422 Яны называюцца перанакіраваньні. 174 00:08:36,422 --> 00:08:37,630 Там дзве распаўсюджаныя з іх тут. 175 00:08:37,630 --> 00:08:41,520 301 Moved Permanently-- тое, што гэта ў асноўным азначае, 176 00:08:41,520 --> 00:08:43,559 старонка зараз знаходзіцца на новым месцы. 177 00:08:43,559 --> 00:08:44,920 Гэта будзе жыць там вечна. 178 00:08:44,920 --> 00:08:47,150 І большасць браўзэраў аўтаматычна перанакіруе вас. 179 00:08:47,150 --> 00:08:49,860 Такім чынам, вы ніколі не будзеце сапраўды бачыць 301, альбо, калі вы не 180 00:08:49,860 --> 00:08:52,210 выкарыстоўваючы сапраўды па-за даты браўзэра, верагодна, 181 00:08:52,210 --> 00:08:57,660 паколькі 301 адказу з'яўляецца часткай кропка, кропка, кропка ў 301 адказ. 182 00:08:57,660 --> 00:08:59,577 Гэта таксама кажа вам, дзе новая старонка. 183 00:08:59,577 --> 00:09:01,660 І так большасць браўзэраў проста перанакіраваць вас там, 184 00:09:01,660 --> 00:09:03,570 пры ўмове, што вы хочаце, каб пайсці туды. 185 00:09:03,570 --> 00:09:05,440 >> Часам вы таксама атрымаеце 302 знойдзена. 186 00:09:05,440 --> 00:09:07,850 А гэта вы на самой справе можа ўсё яшчэ бачыць час ад часу. 187 00:09:07,850 --> 00:09:09,720 Часам старонкі часова пераехаць. 188 00:09:09,720 --> 00:09:13,570 Так што гэта не будзе пабудаваны ў запыт паведамляючы браўзэру 189 00:09:13,570 --> 00:09:16,740 пастаянна мяняць у любы час ён бачыць, што вас запыт 190 00:09:16,740 --> 00:09:18,255 зрабіць, каб змяніць яго на што-то яшчэ. 191 00:09:18,255 --> 00:09:21,210 Такім чынам, вы можаце ўбачыць 302 Знойдзена, што ў асноўным 192 00:09:21,210 --> 00:09:22,710 кажа, што гэта старонка жыве недзе ў іншым месцы. 193 00:09:22,710 --> 00:09:24,418 Але гэта не збіраецца жыць там вечна. 194 00:09:24,418 --> 00:09:29,052 Гэта, у канчатковым рахунку, верагодна, пайсці туды, дзе вы думаеце, гэта так. 195 00:09:29,052 --> 00:09:31,780 >> Тады вы атрымаеце рэчы як кліенцкіх памылак. 196 00:09:31,780 --> 00:09:34,012 Такім чынам, гэтыя тыя, якія вы напэўна, бачылі, цяпер. 197 00:09:34,012 --> 00:09:35,970 Вы, напэўна, не бачылі у 200s або 300s, то 198 00:09:35,970 --> 00:09:37,370 але вы, верагодна, знаёмыя з 400s. 199 00:09:37,370 --> 00:09:40,130 І гэта тое, што мы будзем казаць аб у секунду, 500s, а таксама. 200 00:09:40,130 --> 00:09:42,580 >> Вы можаце ўбачыць 401 Несанкцыянаванае. 201 00:09:42,580 --> 00:09:45,100 Звычайна гэта азначае, што вы спрабуюць атрымаць доступ да старонцы, 202 00:09:45,100 --> 00:09:46,230 але вы не зайшлі. 203 00:09:46,230 --> 00:09:50,500 Такім чынам, вы паспрабуйце, і пайсці на некаторыя профіль ці нешта на Facebook 204 00:09:50,500 --> 00:09:53,106 ці вы спрабуеце і доступ some-- вы на працы. 205 00:09:53,106 --> 00:09:56,619 Вы спрабуеце атрымаць доступ да сёе- у інтэрнэце вашага творы, 206 00:09:56,619 --> 00:09:57,660 але вы не ўвайшлі ў. 207 00:09:57,660 --> 00:09:58,740 Вы не можаце бачыць старонку. 208 00:09:58,740 --> 00:10:01,770 Вы можаце атрымаць 401 несанкцыянаванае, што азначае, мы, верагодна, 209 00:10:01,770 --> 00:10:06,590 будзе ў стане задаволіць гэтую просьбу, але спачатку вы павінны ўвайсці, каб зрабіць так. 210 00:10:06,590 --> 00:10:09,590 >> І наадварот, вы можаце атрымаць 403 Забаронены, што гэта на самай справе не 211 00:10:09,590 --> 00:10:11,490 мае значэння, калі вы ўвайшлі ў сістэму або няма. 212 00:10:11,490 --> 00:10:13,020 Гэты запыт не дапускаецца. 213 00:10:13,020 --> 00:10:15,320 Існуе рэсурс на серверы. 214 00:10:15,320 --> 00:10:17,817 Але вы не можаце атрымаць да яго доступ. 215 00:10:17,817 --> 00:10:20,900 Гэта, як правіла ўнутраныя файлы, якія жыць на сэрвэры па розных прычынах 216 00:10:20,900 --> 00:10:23,860 але не прызначаныя, каб быць доступ з навакольнага свету, 217 00:10:23,860 --> 00:10:25,030 і таму яны забароненыя. 218 00:10:25,030 --> 00:10:27,120 Яны жывуць там. 219 00:10:27,120 --> 00:10:28,440 Я не кажу, што я не магу яе знайсці. 220 00:10:28,440 --> 00:10:30,030 Але я кажу, што я не магу даць яго вам. 221 00:10:30,030 --> 00:10:32,071 І гэта не мае значэння, калі Вы ўвайшлі ў сістэму ці не. 222 00:10:32,071 --> 00:10:35,479 І тады, вядома, вельмі распаўсюджаным 404. 223 00:10:35,479 --> 00:10:37,020 Файл не існуе на серверы. 224 00:10:37,020 --> 00:10:40,200 Я хацеў бы, каб задаволіць Ваш запыт, але я не магу. 225 00:10:40,200 --> 00:10:43,390 >> Вы таксама часам бачу сервер Памылкі, найбольш распаўсюджаным ў цэлым 226 00:10:43,390 --> 00:10:46,990 быўшы 500 Унутраная памылка сервера, які на самай справе не што-небудзь расказаць вам 227 00:10:46,990 --> 00:10:50,200 наогул пра тое, што пайшло не так. 228 00:10:50,200 --> 00:10:53,290 Але гэта на самай справе не вы робіце памылка ў запыце. 229 00:10:53,290 --> 00:10:58,200 Гэта на самай справе сервер няўдачу каб даставіць па просьбе нейкім чынам. 230 00:10:58,200 --> 00:11:00,040 Так 500 з'яўляецца агульны адказ. 231 00:11:00,040 --> 00:11:03,190 >> Вы таксама ўбачыце нешта як Служба недаступная, 232 00:11:03,190 --> 00:11:05,720 які я лічу, гэта код 503. 233 00:11:05,720 --> 00:11:07,882 І шлюз Timeout-- калі Вы калі-небудзь былі старонку проста 234 00:11:07,882 --> 00:11:09,590 сядзець там і загрузку загрузка і загрузка 235 00:11:09,590 --> 00:11:12,715 і вы ніколі не ведаеце, калі гэта будзе нагрузкі і затым у канчатковым рахунку гэта проста says-- 236 00:11:12,715 --> 00:11:13,650 проста здаецца. 237 00:11:13,650 --> 00:11:15,460 Гэта 504 Шлюз чакання. 238 00:11:15,460 --> 00:11:17,600 Сервер хацеў выканаць вашу просьбу, 239 00:11:17,600 --> 00:11:19,930 але нешта пайшло не так на серверы side-- 240 00:11:19,930 --> 00:11:24,452 ня на side-- да прычынай таго, што, каб быць праблемай. 241 00:11:24,452 --> 00:11:27,410 Зараз, мы маглі б скончыць гісторыю тут, але тое, што я на самой справе збіраецеся рабіць цяпер 242 00:11:27,410 --> 00:11:29,368 з'яўляецца Я збіраюся адкрыць мой браўзэр і паказаць вам, 243 00:11:29,368 --> 00:11:32,250 як вы маглі б быць у стане бачыць некаторыя з гэтых кодаў стану 244 00:11:32,250 --> 00:11:34,580 нават калі вы наогул не бачыць іх. 245 00:11:34,580 --> 00:11:39,090 І мы збіраемся зрабіць, што, прымаючы Паглядзіце на некаторыя прылады для распрацоўнікаў. 246 00:11:39,090 --> 00:11:42,050 >> Усе правы Дык вось я Цяпер у маім акне браўзэра. 247 00:11:42,050 --> 00:11:45,840 І я хачу, каб даведацца трохі Больш падрабязна аб гэтых HTTP-запытаў. 248 00:11:45,840 --> 00:11:49,060 Як знаю-- вядома мы ведаем, калі старонка goes-- калі нешта ідзе не так, 249 00:11:49,060 --> 00:11:49,630 мы атрымліваем 404. 250 00:11:49,630 --> 00:11:50,465 Мы ўсе бачылі, што. 251 00:11:50,465 --> 00:11:51,840 Мы не павінны паказаць, што. 252 00:11:51,840 --> 00:11:53,048 Але тое, што некаторыя астатнія? 253 00:11:53,048 --> 00:11:56,850 І як бы мы ўбачылі гэтыя запыты ў дзеянні? 254 00:11:56,850 --> 00:11:59,990 >> Так першае, што я збіраюся зрабіць, гэта адкрыць Developer Tools. 255 00:11:59,990 --> 00:12:02,580 Так Developer Tools ўбудаваныя у большасці сучасных браўзэраў 256 00:12:02,580 --> 00:12:06,020 і дазваляюць нам бачыць рэчы што мы робім не інакш 257 00:12:06,020 --> 00:12:10,580 see-- некаторую дадатковую інфармацыю накшталт перадаецца пад нашым сайце 258 00:12:10,580 --> 00:12:11,500 запыты. 259 00:12:11,500 --> 00:12:12,790 Я выкарыстоўваю Google Chrome тут. 260 00:12:12,790 --> 00:12:16,900 І, каб адкрыць Developer Tools у Chrome, вы проста націсніце F-12, 261 00:12:16,900 --> 00:12:18,729 і ён збіраецца адкрыць гэта на баку. 262 00:12:18,729 --> 00:12:21,770 Пасля таго, як я друкую запыт, я буду набліжаць так што мы можам убачыць, што тут адбываецца. 263 00:12:21,770 --> 00:12:28,530 Але тое, што я збіраюся зрабіць у сваім браўзэры бар is-- і я маштабу ў больш here-- 264 00:12:28,530 --> 00:12:32,427 Я зраблю запыт на www.google.com. 265 00:12:32,427 --> 00:12:34,260 Мы ўсе, верагодна, зрабіў Гэты запыт раней. 266 00:12:34,260 --> 00:12:35,400 Я стукну Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Цяпер, тут, у маёй Developer Інструменты, я выбраў ўкладку Сетка. 269 00:12:46,400 --> 00:12:48,010 І вы заўважыце шмат рэчаў тут. 270 00:12:48,010 --> 00:12:51,732 Паглядзіце на these-- 200 OK, 200 OK, некаторыя з гэтых кодаў стану прыдумляць. 271 00:12:51,732 --> 00:12:53,356 Я не ведаю, чаму я атрымліваю 302 знойдзена. 272 00:12:53,356 --> 00:12:54,860 Я не разумею, што я ўбачу, што адзін. 273 00:12:54,860 --> 00:12:58,192 Але ў асноўным даволі заўважыць, што шмат, з пункту гледжання маёй Google request-- 274 00:12:58,192 --> 00:13:00,150 Я зрабіў вельмі просты запыт старонцы Google. 275 00:13:00,150 --> 00:13:02,890 І ў працэсе забяспечваючы маю просьбу, 276 00:13:02,890 --> 00:13:05,670 Google па-відаць, зрабіў шмат іншых запытаў ад майго імя. 277 00:13:05,670 --> 00:13:11,990 >> Але я зрабіў запыт GET для Google, старонка, і я атрымліваю шмат 200 OKS. 278 00:13:11,990 --> 00:13:14,830 Я не бачу 200 ОК мой экран, але я атрымліваю 279 00:13:14,830 --> 00:13:17,170 шмат запытаў, якія былі зробленыя. 280 00:13:17,170 --> 00:13:19,550 Яшчэ адзін, што я даволі упэўнены, што будзе працаваць 281 00:13:19,550 --> 00:13:21,920 is-- для тых, хто сапраўды старая школа, 282 00:13:21,920 --> 00:13:26,012 Вы ведаеце, што Facebook быў не заўсёды Facebook.com. 283 00:13:26,012 --> 00:13:29,780 У сваіх ранніх дзён гэта было у wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 Яны, мабыць, не мог атрымаць доступ каб Facebook.com даволі доўга. 285 00:13:33,560 --> 00:13:35,870 >> І так, што я чакаў тут, каб атрымаць інфармацыю. 286 00:13:35,870 --> 00:13:37,315 І мы ўбачым, калі гэта з рондаля. 287 00:13:37,315 --> 00:13:39,190 Што я чакаў тут каб атрымаць інфармацыю 288 00:13:39,190 --> 00:13:43,980 што Facebook ужо пераехаў на сталае жыхарства ад thefacebook.com ў facebook.com. 289 00:13:43,980 --> 00:13:46,830 Так што я дзе-то чакаў у верхняй частцы маіх запытаў 290 00:13:46,830 --> 00:13:50,730 больш у маіх інструментаў распрацоўніка каб атрымаць апавяшчэнне аб 301 291 00:13:50,730 --> 00:13:52,580 што Facebook ужо пераехаў на пастаяннае жыхарства. 292 00:13:52,580 --> 00:13:59,070 Зноў жа, я не ўбачу 301 на экране майго браўзэра. 293 00:13:59,070 --> 00:14:01,380 І таму, што гэта 301, гэта пастаяннае рух. 294 00:14:01,380 --> 00:14:03,500 Мой браўзэр, у тым, што гэта сучасны браўзэр, 295 00:14:03,500 --> 00:14:06,110 , Верагодна, будзе перанакіраваць мне ўсё роўна Facebook.com. 296 00:14:06,110 --> 00:14:07,260 Але давайце паглядзім, што адбудзецца. 297 00:14:07,260 --> 00:14:09,340 >> А цяпер я збіраюся перайсці да thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 І так, там на самым версе. 299 00:14:11,370 --> 00:14:13,390 Ён пайшоў прэч, але гэта было там. 300 00:14:13,390 --> 00:14:14,820 Дазвольце мне прагортку уверх тут. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Прама тут на самым версе. 303 00:14:18,920 --> 00:14:23,080 Я зрабіў запыт у thefacebook.com, і я атрымліваю адказ 304 00:14:23,080 --> 00:14:25,410 што гэтая старонка пераехала назаўжды. 305 00:14:25,410 --> 00:14:27,770 А потым тут 307 ўнутраны рэдырэкт. 306 00:14:27,770 --> 00:14:30,680 І так гэта тое, што на самой справе мае пераехаў мяне да значна больш 307 00:14:30,680 --> 00:14:33,330 www.facebook.com знаёмыя. 308 00:14:33,330 --> 00:14:38,480 >> Такім чынам, гэтыя коды адказаў зрабіць яшчэ адбудзецца, нават калі мы не бачым іх. 309 00:14:38,480 --> 00:14:40,710 Я не збіраюся ілюстрацыі 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 таму што вы, напэўна, бачылі тыя, у розных кропках. 311 00:14:43,090 --> 00:14:45,740 І 500, я б проста выгляд of-- мы пашанцуе 312 00:14:45,740 --> 00:14:50,380 калі ёсць 500, таму што мы не ведаем, што серверы ў цяперашні час дзе заўгодна. 313 00:14:50,380 --> 00:14:53,060 Але гэтыя коды зрабіць існуе, і ёсць спосаб 314 00:14:53,060 --> 00:14:58,610 для доступу да іх, нават калі мы не убачыць іх на свае вочы ў нашых сістэмах. 315 00:14:58,610 --> 00:14:59,530 Я Дуг Лойд. 316 00:14:59,530 --> 00:15:01,570 Гэта CS50. 317 00:15:01,570 --> 00:15:03,557