1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> COLUNA: Vamos falar sobre outro protocol-- de Transferência de Hipertexto 3 00:00:09,310 --> 00:00:12,060 Protocolo ou HTTP. 4 00:00:12,060 --> 00:00:15,074 Então, nós já conversamos sobre IP e TCP em vídeos anteriores. 5 00:00:15,074 --> 00:00:17,240 E esses são os protocolos que ditam como informações 6 00:00:17,240 --> 00:00:20,970 movimentos de máquina para máquina e de programa para programa ou serviço 7 00:00:20,970 --> 00:00:27,720 ao serviço através da internet, via esta rede de roteadores e máquinas. 8 00:00:27,720 --> 00:00:30,640 >> Mas isso não é geralmente a imagem inteira, certo? 9 00:00:30,640 --> 00:00:33,530 Normalmente quando enviamos informação, o programa 10 00:00:33,530 --> 00:00:36,570 itself-- quando dados é recebido, digamos, por exemplo, 11 00:00:36,570 --> 00:00:44,270 no e-mail via porta TCP 25 ou um solicitação de página web via porta 80, 12 00:00:44,270 --> 00:00:48,220 há geralmente um sistema de regras lá para processar o que eu acabei de receber. 13 00:00:48,220 --> 00:00:51,960 E HTTP é um exemplo de apenas um tal protocolo. 14 00:00:51,960 --> 00:00:54,929 >> O HTTP é a única protocolo de camada de aplicação 15 00:00:54,929 --> 00:00:56,220 que vamos falar. 16 00:00:56,220 --> 00:00:59,660 Mas é um outro conjunto das regras que ditam como 17 00:00:59,660 --> 00:01:02,790 a informação deve ser transmitida e processada através da internet. 18 00:01:02,790 --> 00:01:06,390 Em particular, o HTTP especifica exatamente como 19 00:01:06,390 --> 00:01:11,300 deve-se fazer um pedido uma página web e exatamente como 20 00:01:11,300 --> 00:01:15,160 um servidor, uma máquina que hospeda páginas da web, 21 00:01:15,160 --> 00:01:17,840 entrega essa informação voltar aos clientes. 22 00:01:17,840 --> 00:01:20,010 >> Portanto, este protocolo não faz realmente tem nada 23 00:01:20,010 --> 00:01:22,270 a ver com a forma como as informações se move do ponto A 24 00:01:22,270 --> 00:01:26,090 ao ponto B. É realmente o sistema de regras 25 00:01:26,090 --> 00:01:29,700 for-- é basicamente as regras do engajamento para trabalhar com uma página web, 26 00:01:29,700 --> 00:01:31,960 semelhante a quando alguém ondas de sua mão em você, 27 00:01:31,960 --> 00:01:33,410 você deveria acenar de volta. 28 00:01:33,410 --> 00:01:36,280 Isso é uma espécie de humano protocolo convencional. 29 00:01:36,280 --> 00:01:39,610 Protocolo HTTP apenas diz que, se você deseja solicitar uma web 30 00:01:39,610 --> 00:01:42,730 página, certificar-se de sua aparência formato como isto-- tipo de formatação como 31 00:01:42,730 --> 00:01:44,930 uma carta de negócios, por exemplo. 32 00:01:44,930 --> 00:01:50,029 E a resposta será semelhante vir de acordo com este protocolo. 33 00:01:50,029 --> 00:01:51,820 Há outra protocolos da camada de aplicação 34 00:01:51,820 --> 00:01:53,380 que não estamos indo para falar em vídeos. 35 00:01:53,380 --> 00:01:55,790 Mas estes incluem coisas como o File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol para enviar e-mails, a distribuição de dados 37 00:01:59,200 --> 00:02:02,100 Serviço, ambiente de trabalho remoto Protocolo, RDP, que 38 00:02:02,100 --> 00:02:05,590 é usado se você deseja acessar remotamente seu computador a partir de outro computador, 39 00:02:05,590 --> 00:02:08,479 XMPP, que é freqüentemente conhecido como Jabber ou bate-papo, 40 00:02:08,479 --> 00:02:11,160 por isso este é o protocolo para a utilização de serviços de chat. 41 00:02:11,160 --> 00:02:13,310 E há muitos, muitos, muitos outros. 42 00:02:13,310 --> 00:02:15,900 >> Então, toda vez que você está usando um serviço, o serviço 43 00:02:15,900 --> 00:02:18,930 está esperando informações para ser received-- um pedido 44 00:02:18,930 --> 00:02:21,010 para ser received-- numa formato específico muito 45 00:02:21,010 --> 00:02:24,070 e é necessária a retornar informações de volta 46 00:02:24,070 --> 00:02:27,190 em particular, um formato muito bem. 47 00:02:27,190 --> 00:02:31,750 >> Então, vamos voltar para a nossa ilustração de nós querendo falar com a internet. 48 00:02:31,750 --> 00:02:34,810 Então, nós estamos felizes, e nós queremos para ir para cats.com, certo? 49 00:02:34,810 --> 00:02:38,550 Então, se estamos apenas conversando com cats.com, poderíamos dizer algo como hey, 50 00:02:38,550 --> 00:02:39,720 Eu posso ver sua home page? 51 00:02:39,720 --> 00:02:42,320 E, provavelmente, cats.com responder, sim, com certeza. 52 00:02:42,320 --> 00:02:43,440 Aqui vai você. 53 00:02:43,440 --> 00:02:46,440 Então, isso é uma espécie humana de pedir e respostas. 54 00:02:46,440 --> 00:02:47,980 >> O que isso se parece em HTTP? 55 00:02:47,980 --> 00:02:51,340 Bem, é realmente tipo de traduz muito limpa para algo como isto. 56 00:02:51,340 --> 00:02:57,290 Poderíamos dizer GET / HTTP / 1.1 cats.com do hospedeiro. 57 00:02:57,290 --> 00:03:03,039 Então, basicamente o que estou fazendo aqui é pedindo a página web www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Nós geralmente omitir a barra hoje em dia, mas que seria apenas 59 00:03:05,330 --> 00:03:07,200 significa a página de cats.com. 60 00:03:07,200 --> 00:03:11,910 >> Ah, e por falar nisso, eu vou estar usando a versão HTTP 61 00:03:11,910 --> 00:03:14,182 1.1 para se comunicar com você. 62 00:03:14,182 --> 00:03:16,390 Isso é análogo ao tipo de dizendo, como, aliás, 63 00:03:16,390 --> 00:03:17,870 Eu vou estar falando em francês, ou, a propósito, 64 00:03:17,870 --> 00:03:19,370 Eu vou estar falando em Inglês. 65 00:03:19,370 --> 00:03:22,160 Isso é apenas o formato do protocolo. 66 00:03:22,160 --> 00:03:25,050 Também é 1,0, que é que normalmente não são mais usados. 67 00:03:25,050 --> 00:03:30,615 Então, eu estou falando HTTP 1.1, e Eu gostaria www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Por favor, obter isso por mim. 69 00:03:31,710 --> 00:03:34,610 >> E depois há outras informações, demasiado-- a ponto, ponto, ponto lá, 70 00:03:34,610 --> 00:03:38,234 qual é a informação sobre que você é tão cats.com 71 00:03:38,234 --> 00:03:39,400 saberia onde enviá-lo. 72 00:03:39,400 --> 00:03:41,480 Mas estes são os dois tipo de peças críticas 73 00:03:41,480 --> 00:03:44,000 no início de um HTTP request-- 74 00:03:44,000 --> 00:03:46,770 Assim como quando você iniciar um carta você diz, querida, em branco. 75 00:03:46,770 --> 00:03:49,710 Isto é muito semelhante em espírito para isso. 76 00:03:49,710 --> 00:03:52,370 >> E se cats.com vai digo, oh, com certeza, aqui você vai. 77 00:03:52,370 --> 00:03:55,590 Eles podem responder como isto-- Eu também estou respondendo. 78 00:03:55,590 --> 00:03:57,960 Também falo HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 O seu pedido for aprovado, 200 OK. 80 00:04:01,720 --> 00:04:04,709 O que você está prestes a receber é HTML e, em seguida, 81 00:04:04,709 --> 00:04:06,250 ponto, ponto, ponto algumas informações extra. 82 00:04:06,250 --> 00:04:10,620 E na parte inferior da pedido é realmente o HTML, 83 00:04:10,620 --> 00:04:16,339 a linguagem de marcação, o conteúdo da página inicial da cats.com. 84 00:04:16,339 --> 00:04:21,227 >> Então, HTTP / 1.1-- Eu reconheço o seu pedido foi aceite via HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 O seu pedido foi aprovado. 86 00:04:22,310 --> 00:04:25,810 Eu posso te dar o que você quer, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Você está prestes a receber HTML. 88 00:04:27,440 --> 00:04:30,450 E então aqui está a HTML que você solicitou. 89 00:04:30,450 --> 00:04:33,930 >> Mas às vezes os nossos pedidos não fazer sempre ir bastante conforme o planejado. 90 00:04:33,930 --> 00:04:37,100 Posso ver sua página cats.html? 91 00:04:37,100 --> 00:04:40,366 Bem, o que se costuma dizer, nós não tem uma página cats.html, 92 00:04:40,366 --> 00:04:42,740 que parece meio irreal porque eles são cats.com. 93 00:04:42,740 --> 00:04:44,400 Você acha que eles teriam cats.html. 94 00:04:44,400 --> 00:04:45,420 Mas sim. 95 00:04:45,420 --> 00:04:48,484 Portanto, esta é uma espécie de interação humana convencional 96 00:04:48,484 --> 00:04:49,650 temos agora tivemos com cats.com. 97 00:04:49,650 --> 00:04:51,060 Como é que se traduzem? 98 00:04:51,060 --> 00:04:52,726 >> Isso pode ser algo familiar para você. 99 00:04:52,726 --> 00:04:55,690 Nosso pedido parecia exatamente o mesmo, exceto em vez de ficar barra 100 00:04:55,690 --> 00:04:58,110 nós estamos começando agora cats.html. 101 00:04:58,110 --> 00:05:01,810 Então agora o que basicamente toda esta pedido está dizendo é por favor me dê 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Então o anfitrião e meio parte dessa linha superior 104 00:05:08,700 --> 00:05:14,632 não indicar com precisão que página estou pedindo. 105 00:05:14,632 --> 00:05:17,590 Mas cats.com neste caso não vai para ser capaz de responder positivamente. 106 00:05:17,590 --> 00:05:19,089 Eles não sabem que estamos falando. 107 00:05:19,089 --> 00:05:25,170 E então isso é algo que você pode ter visto HTTP antes-- 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Eu não poderia encontrar o que você estava pedindo. 109 00:05:27,180 --> 00:05:30,460 By the way, eu estou indo dar-lhe de volta um pouco de HTML, e, geralmente, que o HTML 110 00:05:30,460 --> 00:05:32,351 é o conteúdo de alguns página 404. 111 00:05:32,351 --> 00:05:34,100 E no caso de cats.com, é provavelmente 112 00:05:34,100 --> 00:05:37,720 alguns gatos bonitos em uma cesta com a 404 rosto triste ao lado deles, 113 00:05:37,720 --> 00:05:40,920 porque você está indo para ser triste quando você não obter página 114 00:05:40,920 --> 00:05:43,040 que você estava procurando. 115 00:05:43,040 --> 00:05:48,520 >> Isso é meio o básico do que um Protocolo, as solicitações de protocolo HTTP 116 00:05:48,520 --> 00:05:49,180 parece. 117 00:05:49,180 --> 00:05:52,640 Eles são muito semelhante à forma como nós faria uma interacção semelhante 118 00:05:52,640 --> 00:05:55,460 em convenções apenas humanos pedindo algo 119 00:05:55,460 --> 00:05:58,250 e coloca-lo de volta ou escrever um carta e esperando uma resposta 120 00:05:58,250 --> 00:06:00,380 carta em um formato particular. 121 00:06:00,380 --> 00:06:03,910 Isso é muito bonito o que HTTP é apenas Canonicalização 122 00:06:03,910 --> 00:06:10,190 para todos os dispositivos que pretende aceder páginas da web, transferências de hipertexto. 123 00:06:10,190 --> 00:06:15,110 >> Assim, uma linha do formulário, este a método de solicitação HTTP versão alvo, 124 00:06:15,110 --> 00:06:17,100 é chamado de linha de solicitação de HTTP. 125 00:06:17,100 --> 00:06:23,740 É geralmente a primeira coisa que é transmitida como parte de uma solicitação HTTP 126 00:06:23,740 --> 00:06:26,180 ou se você está pedindo HTTP. 127 00:06:26,180 --> 00:06:29,970 É uma espécie de gosto, como eu disse, dizendo querida, branco na parte superior a sua carta. 128 00:06:29,970 --> 00:06:32,880 Eles sabem que você é escrever-lhes uma carta. 129 00:06:32,880 --> 00:06:34,796 Então isso é muito semelhante para dizer, eu sei 130 00:06:34,796 --> 00:06:37,670 que eles estão fazendo uma solicitação HTTP e este é o formato específico 131 00:06:37,670 --> 00:06:39,090 eles estão pedindo. 132 00:06:39,090 --> 00:06:43,810 >> Versão HTTP é provavelmente sempre vai ser HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 também existe mas não está realmente mais usado. 134 00:06:46,670 --> 00:06:49,200 Para fins de CS50, GET é provavelmente sempre 135 00:06:49,200 --> 00:06:51,540 o que você está indo ser usar quando você está na verdade 136 00:06:51,540 --> 00:06:54,250 fazer solicitações HTTP diretas. 137 00:06:54,250 --> 00:06:57,720 Mas POST é outra opção que nós somos Não vou falar sobre isso agora. 138 00:06:57,720 --> 00:07:02,980 E, em seguida, pedido-alvo é qual página no servidor do anfitrião 139 00:07:02,980 --> 00:07:05,812 você gostaria de obter. 140 00:07:05,812 --> 00:07:08,020 Como eu disse, esse nome de host é uma linha separada, normalmente 141 00:07:08,020 --> 00:07:10,350 a segunda linha do pedido global. 142 00:07:10,350 --> 00:07:13,660 E assim tomados em conjunto, o anfitrião nome e o alvo pedido 143 00:07:13,660 --> 00:07:16,070 especificar um específico recurso que está sendo procurado. 144 00:07:16,070 --> 00:07:20,986 No nosso exemplo, 404 um segundo atrás, eu estava pedindo novamente para www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com ser o anfitrião. 146 00:07:22,940 --> 00:07:26,300 E na minha linha de solicitação, Eu disse /cats.html. 147 00:07:26,300 --> 00:07:27,790 Esse era o meu destino pedido. 148 00:07:27,790 --> 00:07:31,200 Assim, no geral eu estava pedindo a conteúdo ou o recurso localizado 149 00:07:31,200 --> 00:07:36,410 em www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> E, em seguida, com base no facto existe o recurso 151 00:07:38,870 --> 00:07:42,160 e se o servidor pode entregar o recurso de acordo com o cliente do 152 00:07:42,160 --> 00:07:46,760 pedido, você pode ter vários códigos de status de volta. 153 00:07:46,760 --> 00:07:50,280 Alguns desses códigos de status que você já viu porque eles são parte da resposta. 154 00:07:50,280 --> 00:07:53,580 Alguns deles, 200 OK, são provavelmente bastante silencioso. 155 00:07:53,580 --> 00:07:55,650 Você provavelmente nunca visto uma página de responder 200 OK. 156 00:07:55,650 --> 00:07:56,890 Você só obter a página. 157 00:07:56,890 --> 00:08:01,260 Não é como um erro 404, que normalmente é bastante claro. 158 00:08:01,260 --> 00:08:03,850 Você normalmente ver que ele diz 404. 159 00:08:03,850 --> 00:08:06,880 >> Então vamos falar sobre o que alguns desses códigos de status pode ser. 160 00:08:06,880 --> 00:08:09,660 Mais uma vez, quando o servidor responde a nós, eles são 161 00:08:09,660 --> 00:08:12,120 vai responder status da versão HTTP. 162 00:08:12,120 --> 00:08:14,020 Normalmente HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Quais são esses códigos de status vai ser? 164 00:08:17,410 --> 00:08:18,890 Bem, poderíamos obter um sucesso. 165 00:08:18,890 --> 00:08:23,617 Assim, na categoria de sucesso, pode obter o código 200 com o texto OK. 166 00:08:23,617 --> 00:08:24,450 O que isto significa? 167 00:08:24,450 --> 00:08:25,491 Bem, tudo é bom. 168 00:08:25,491 --> 00:08:26,721 Você fez um pedido válido. 169 00:08:26,721 --> 00:08:27,720 Aqui está uma resposta válida. 170 00:08:27,720 --> 00:08:30,060 Eu era capaz de entregar exatamente o que você queria. 171 00:08:30,060 --> 00:08:33,080 >> Às vezes você pode obter outras coisas que você não vai notar de imediato 172 00:08:33,080 --> 00:08:35,140 mas são um pouco falhas. 173 00:08:35,140 --> 00:08:36,422 Eles são chamados de redirecionamentos. 174 00:08:36,422 --> 00:08:37,630 Há dois mais comuns aqui. 175 00:08:37,630 --> 00:08:41,520 301 Permanently-- Movido o que isso significa, basicamente, 176 00:08:41,520 --> 00:08:43,559 é a página está agora em um novo local. 177 00:08:43,559 --> 00:08:44,920 Ele vai viver ali para sempre. 178 00:08:44,920 --> 00:08:47,150 E a maioria dos navegadores automaticamente redireccionado. 179 00:08:47,150 --> 00:08:49,860 Então você nunca realmente ver um 301, ou, a menos que você é 180 00:08:49,860 --> 00:08:52,210 usando realmente um out-of-date navegador, possivelmente, 181 00:08:52,210 --> 00:08:57,660 porque a resposta 301 é parte de o ponto, ponto, ponto 301 da resposta. 182 00:08:57,660 --> 00:08:59,577 Ele também informa que a nova página é. 183 00:08:59,577 --> 00:09:01,660 E assim a maioria dos navegadores apenas redirecioná-lo lá, 184 00:09:01,660 --> 00:09:03,570 supondo que você quer ir para lá. 185 00:09:03,570 --> 00:09:05,440 >> Às vezes, você também vai receber 302 encontrados. 186 00:09:05,440 --> 00:09:07,850 E isso que você realmente ainda pode ver ocasionalmente. 187 00:09:07,850 --> 00:09:09,720 Às vezes, páginas deslocar-se temporariamente. 188 00:09:09,720 --> 00:09:13,570 Por isso, não vai ser construído em o pedido dizendo ao navegador 189 00:09:13,570 --> 00:09:16,740 para alterar permanentemente qualquer momento ele vê a solicitação que você 190 00:09:16,740 --> 00:09:18,255 fazer para mudá-lo para outra coisa. 191 00:09:18,255 --> 00:09:21,210 Então você pode ver 302 Encontrado, que, basicamente, 192 00:09:21,210 --> 00:09:22,710 diz que esta página vive em outro lugar. 193 00:09:22,710 --> 00:09:24,418 Mas não vai viver ali para sempre. 194 00:09:24,418 --> 00:09:29,052 Ele acabará provavelmente ir de volta para onde você pensa que é. 195 00:09:29,052 --> 00:09:31,780 >> Então você vai fazer as coisas como erros de cliente. 196 00:09:31,780 --> 00:09:34,012 Então, esses são os que você provavelmente já viu, agora. 197 00:09:34,012 --> 00:09:35,970 Você provavelmente não viu 200s ou 300s, 198 00:09:35,970 --> 00:09:37,370 mas provavelmente você está familiarizado com os 400s. 199 00:09:37,370 --> 00:09:40,130 E é isso que vamos falar em cerca de um segundo, 500s bem. 200 00:09:40,130 --> 00:09:42,580 >> Você pode ver 401 não autorizado. 201 00:09:42,580 --> 00:09:45,100 Normalmente, isso significa que você é a tentar aceder a uma página, 202 00:09:45,100 --> 00:09:46,230 mas você ainda não identificado. 203 00:09:46,230 --> 00:09:50,500 Então você tentar ir a algum perfil ou algo no Facebook 204 00:09:50,500 --> 00:09:53,106 ou você tentar e acesso some-- você está no trabalho. 205 00:09:53,106 --> 00:09:56,619 Você está tentando acessar algo na internet do seu trabalho, 206 00:09:56,619 --> 00:09:57,660 mas você não está logado. 207 00:09:57,660 --> 00:09:58,740 Você não pode ver a página. 208 00:09:58,740 --> 00:10:01,770 Você pode obter um 401 não autorizado, o que significa que, provavelmente, 209 00:10:01,770 --> 00:10:06,590 será capaz de satisfazer este pedido, mas primeiro você precisa fazer login para fazê-lo. 210 00:10:06,590 --> 00:10:09,590 >> Por outro lado, você pode ter 403 Proibida, que é ele realmente não 211 00:10:09,590 --> 00:10:11,490 importa se você está conectado ou não. 212 00:10:11,490 --> 00:10:13,020 Este pedido não é permitido. 213 00:10:13,020 --> 00:10:15,320 O recurso existe no servidor. 214 00:10:15,320 --> 00:10:17,817 Mas você não tem permissão para acessá-lo. 215 00:10:17,817 --> 00:10:20,900 Este é normalmente ficheiros internos que viver no servidor por várias razões 216 00:10:20,900 --> 00:10:23,860 mas não se pretende que sejam acessado a partir do mundo exterior, 217 00:10:23,860 --> 00:10:25,030 e por isso eles são proibidos. 218 00:10:25,030 --> 00:10:27,120 Eles vivem lá. 219 00:10:27,120 --> 00:10:28,440 Não estou dizendo que eu não posso encontrá-lo. 220 00:10:28,440 --> 00:10:30,030 Mas eu estou dizendo que eu não posso dar a você. 221 00:10:30,030 --> 00:10:32,071 E não importa se você está logado ou não. 222 00:10:32,071 --> 00:10:35,479 E, em seguida, é claro, o muito comum 404 Not Found. 223 00:10:35,479 --> 00:10:37,020 O arquivo não existe no servidor. 224 00:10:37,020 --> 00:10:40,200 Eu gostaria de satisfazer seu pedido, mas eu não posso. 225 00:10:40,200 --> 00:10:43,390 >> Você também vê às vezes servidor erros, o mais comum geralmente 226 00:10:43,390 --> 00:10:46,990 sendo 500 Internal Server Error, que na verdade, não lhe dizer nada 227 00:10:46,990 --> 00:10:50,200 em tudo sobre o que deu errado. 228 00:10:50,200 --> 00:10:53,290 Mas não é, na verdade, você está fazendo um erro em seu pedido. 229 00:10:53,290 --> 00:10:58,200 É realmente o servidor com falha para cumprir a solicitação de alguma forma. 230 00:10:58,200 --> 00:11:00,040 Assim, 500 é a resposta geral. 231 00:11:00,040 --> 00:11:03,190 >> Você também verá algo como Service Unavailable, 232 00:11:03,190 --> 00:11:05,720 que eu acredito que é o código 503. 233 00:11:05,720 --> 00:11:07,882 E Timeout-- gateway se Você já teve uma página apenas 234 00:11:07,882 --> 00:11:09,590 sentar-se lá de carga e carga e carregamento 235 00:11:09,590 --> 00:11:12,715 e você nunca sabe se ele vai carga e, eventualmente, ele só says-- 236 00:11:12,715 --> 00:11:13,650 apenas desiste. 237 00:11:13,650 --> 00:11:15,460 Isso é um gateway 504 Timeout. 238 00:11:15,460 --> 00:11:17,600 O servidor queria executar o seu pedido, 239 00:11:17,600 --> 00:11:19,930 mas algo deu errado no servidor side-- 240 00:11:19,930 --> 00:11:24,452 não em seu side-- para provocar que seja um problema. 241 00:11:24,452 --> 00:11:27,410 Agora, nós poderíamos terminar a história aqui, mas o que eu estou indo realmente para fazer agora 242 00:11:27,410 --> 00:11:29,368 é que eu vou abrir meu navegador e mostrar-lhe 243 00:11:29,368 --> 00:11:32,250 como você pode ser capaz de ver alguns desses códigos de status 244 00:11:32,250 --> 00:11:34,580 mesmo se você geralmente não vê-los. 245 00:11:34,580 --> 00:11:39,090 E vamos fazer isso por tomar uma olhada em algumas ferramentas para desenvolvedores. 246 00:11:39,090 --> 00:11:42,050 >> Tudo bem Então aqui estou eu agora em minha janela do navegador. 247 00:11:42,050 --> 00:11:45,840 E eu quero aprender um pouco mais sobre essas solicitações HTTP. 248 00:11:45,840 --> 00:11:49,060 Como faço para sabe-- certamente sabemos se um página goes-- quando algo dá errado, 249 00:11:49,060 --> 00:11:49,630 temos um 404. 250 00:11:49,630 --> 00:11:50,465 Nós todos vimos isso. 251 00:11:50,465 --> 00:11:51,840 Nós não precisamos para ilustrar isso. 252 00:11:51,840 --> 00:11:53,048 Mas o que são alguns outros? 253 00:11:53,048 --> 00:11:56,850 E como é que nós vemos estes pedidos em ação? 254 00:11:56,850 --> 00:11:59,990 >> Então a primeira coisa que eu vou fazer é abrir Developer Tools. 255 00:11:59,990 --> 00:12:02,580 Então Developer Tools são construídas na maioria dos navegadores modernos 256 00:12:02,580 --> 00:12:06,020 e nos permite ver as coisas que não fazer o contrário 257 00:12:06,020 --> 00:12:10,580 see-- alguma informação extra de sorte sendo transmitidos sob o nosso web 258 00:12:10,580 --> 00:12:11,500 pedidos. 259 00:12:11,500 --> 00:12:12,790 Estou usando o Google Chrome aqui. 260 00:12:12,790 --> 00:12:16,900 E para abrir Ferramentas de Desenvolvimento no Chrome, você acabou de bater F-12, 261 00:12:16,900 --> 00:12:18,729 e ele vai abrir -lo na lateral. 262 00:12:18,729 --> 00:12:21,770 Uma vez que eu escreva o pedido, eu vou fazer zoom para que possamos ver o que está acontecendo aqui. 263 00:12:21,770 --> 00:12:28,530 Mas o que eu vou fazer no meu navegador bar é-- e eu vou fazer zoom sobre aqui-- 264 00:12:28,530 --> 00:12:32,427 Eu vou fazer um pedido para www.google.com. 265 00:12:32,427 --> 00:12:34,260 Nós todos provavelmente feitos este pedido antes. 266 00:12:34,260 --> 00:12:35,400 Eu vou bater Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Agora, aqui no meu desenvolvedor Ferramentas, eu escolhi o separador Rede. 269 00:12:46,400 --> 00:12:48,010 E você notar um monte de coisas aqui. 270 00:12:48,010 --> 00:12:51,732 Olhe para these-- 200 OK, 200 OK, alguns destes códigos de status chegando. 271 00:12:51,732 --> 00:12:53,356 Eu não sei por que estou recebendo 302 Found. 272 00:12:53,356 --> 00:12:54,860 Eu não sabia que eu ia ver isso. 273 00:12:54,860 --> 00:12:58,192 Mas, basicamente, perceber que muito muito, em termos de meu request-- Google 274 00:12:58,192 --> 00:13:00,150 Eu fiz uma forma muito simples pedido de página do Google. 275 00:13:00,150 --> 00:13:02,890 E no processo de entregar o meu pedido, 276 00:13:02,890 --> 00:13:05,670 Google tem, aparentemente, fez um monte de outras solicitações em meu nome. 277 00:13:05,670 --> 00:13:11,990 >> Mas eu fiz um pedido GET para o Google página e estou recebendo um lote de 200 OKs. 278 00:13:11,990 --> 00:13:14,830 Eu não estou vendo em 200 OK minha tela, mas estou ficando 279 00:13:14,830 --> 00:13:17,170 uma grande quantidade de solicitações que foram feitas. 280 00:13:17,170 --> 00:13:19,550 Mais um que eu sou bonito certeza vai funcionar 281 00:13:19,550 --> 00:13:21,920 é-- para aqueles de vocês que são realmente old-school, 282 00:13:21,920 --> 00:13:26,012 você pode saber que o Facebook era nem sempre no Facebook.com. 283 00:13:26,012 --> 00:13:29,780 Em seus primeiros dias era em wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 Eles aparentemente não poderia obter acesso para Facebook.com por um bom tempo. 285 00:13:33,560 --> 00:13:35,870 >> E então o que eu estou esperando aqui é obter informações. 286 00:13:35,870 --> 00:13:37,315 E vamos ver se este garimpa para fora. 287 00:13:37,315 --> 00:13:39,190 O que eu estou esperando aqui é obter informações 288 00:13:39,190 --> 00:13:43,980 que o Facebook mudou permanentemente de thefacebook.com para Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Então, eu estou esperando em algum lugar perto do topo dos meus pedidos 290 00:13:46,830 --> 00:13:50,730 mais em meus Ferramentas de Desenvolvimento para obter uma notificação 301 291 00:13:50,730 --> 00:13:52,580 que o Facebook mudou permanentemente. 292 00:13:52,580 --> 00:13:59,070 Mais uma vez, eu não verei 301 na tela do meu navegador. 293 00:13:59,070 --> 00:14:01,380 E porque é um 301, é um movimento permanente. 294 00:14:01,380 --> 00:14:03,500 Meu navegador, sendo que é um navegador moderno, 295 00:14:03,500 --> 00:14:06,110 é provavelmente vai redirecionar me para Facebook.com de qualquer maneira. 296 00:14:06,110 --> 00:14:07,260 Mas vamos ver o que acontece. 297 00:14:07,260 --> 00:14:09,340 >> E agora eu vou ir para thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 E sim, ele está lá no topo. 299 00:14:11,370 --> 00:14:13,390 Ele foi embora, mas estava lá. 300 00:14:13,390 --> 00:14:14,820 Deixe-me rolar para cima aqui. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Aqui mesmo no topo. 303 00:14:18,920 --> 00:14:23,080 Eu fiz um pedido para thefacebook.com, e eu estou recebendo uma resposta 304 00:14:23,080 --> 00:14:25,410 que esta página foi movida permanentemente. 305 00:14:25,410 --> 00:14:27,770 E, em seguida, 307 é aqui um redirecionamento interno. 306 00:14:27,770 --> 00:14:30,680 E então é isso que tem, na verdade, me mudei para o muito mais 307 00:14:30,680 --> 00:14:33,330 www.facebook.com familiar. 308 00:14:33,330 --> 00:14:38,480 >> Então, esses códigos de resposta fazer ainda acontecer, mesmo se nós não vê-los. 309 00:14:38,480 --> 00:14:40,710 Eu não estou indo ilustram 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 porque você provavelmente já viu aqueles em vários pontos. 311 00:14:43,090 --> 00:14:45,740 E 500, eu estaria apenas tipo de-- teríamos sorte 312 00:14:45,740 --> 00:14:50,380 se tem um 500 porque não sabemos o que servidores estão atualmente para baixo em qualquer lugar. 313 00:14:50,380 --> 00:14:53,060 Mas esses códigos fazer existem, e não há uma maneira 314 00:14:53,060 --> 00:14:58,610 para acessá-los mesmo que não fazer vê-los em primeira mão em nossos sistemas. 315 00:14:58,610 --> 00:14:59,530 Eu sou Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Este é CS50. 317 00:15:01,570 --> 00:15:03,557