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