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