1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> CONFÉRENCIER: Parlons un autre protocol-- l'Hypertext Transfer 3 00:00:09,310 --> 00:00:12,060 Protocole, ou HTTP. 4 00:00:12,060 --> 00:00:15,074 Donc, nous avons parlé IP et TCP dans les vidéos précédentes. 5 00:00:15,074 --> 00:00:17,240 Et ce sont les protocoles qui dictent la façon dont l'information 6 00:00:17,240 --> 00:00:20,970 se déplace de machine à machine et d'un programme à ou service 7 00:00:20,970 --> 00:00:27,720 au service via Internet, par l'intermédiaire ce réseau de routeurs et de machines. 8 00:00:27,720 --> 00:00:30,640 >> Mais cela est généralement pas l'image entière, non? 9 00:00:30,640 --> 00:00:33,530 Habituellement, lorsque nous envoyons informations, le programme 10 00:00:33,530 --> 00:00:36,570 itself-- lorsque les données sont reçu, disons, par exemple, 11 00:00:36,570 --> 00:00:44,270 dans l'email via le port TCP 25 ou Web demande de page via le port 80, 12 00:00:44,270 --> 00:00:48,220 il ya habituellement un système de règles, il pour traiter ce que je viens de recevoir. 13 00:00:48,220 --> 00:00:51,960 Et HTTP est un exemple d'un tel protocole. 14 00:00:51,960 --> 00:00:54,929 >> HTTP est le seul protocole d'application de la couche 15 00:00:54,929 --> 00:00:56,220 que nous allons parler. 16 00:00:56,220 --> 00:00:59,660 Mais il est un autre jeu des règles qui dictent comment 17 00:00:59,660 --> 00:01:02,790 des informations doivent être transmises et traitées par l'intermédiaire d'Internet. 18 00:01:02,790 --> 00:01:06,390 En particulier, HTTP précise exactement comment 19 00:01:06,390 --> 00:01:11,300 il faut faire une demande de une page web et exactement comment 20 00:01:11,300 --> 00:01:15,160 un serveur, un ordinateur qui héberge les pages web, 21 00:01:15,160 --> 00:01:17,840 délivre cette information sauvegarder aux clients. 22 00:01:17,840 --> 00:01:20,010 >> Donc, ce protocole ne avoir fait quoi que ce soit 23 00:01:20,010 --> 00:01:22,270 à voir avec la façon dont l'information se déplace du point A 24 00:01:22,270 --> 00:01:26,090 au point B. Il est vraiment le système de règles 25 00:01:26,090 --> 00:01:29,700 pour-- il est fondamentalement les règles de l'engagement de travailler avec une page web, 26 00:01:29,700 --> 00:01:31,960 similaire à quand quelqu'un vagues leur main à vous, 27 00:01:31,960 --> 00:01:33,410 vous êtes censé signe en retour. 28 00:01:33,410 --> 00:01:36,280 Voilà une sorte de humain protocole classique. 29 00:01:36,280 --> 00:01:39,610 Protocole HTTP dit juste, si vous souhaitez recevoir un web 30 00:01:39,610 --> 00:01:42,730 la page, assurez-vous que vos regards de format comme this-- sorte de formatage comme 31 00:01:42,730 --> 00:01:44,930 une lettre de l'entreprise, par exemple. 32 00:01:44,930 --> 00:01:50,029 Et la réponse sera similaire venir selon ce protocole. 33 00:01:50,029 --> 00:01:51,820 Il existe d'autres Les protocoles de couche d'application 34 00:01:51,820 --> 00:01:53,380 que nous ne sommes pas aller à parler dans les vidéos. 35 00:01:53,380 --> 00:01:55,790 Mais ceux-ci comprennent des choses comme le protocole de transfert de fichiers, 36 00:01:55,790 --> 00:01:59,200 Protocole Simple Mail Transfer pour l'envoi de courriels, la distribution des données 37 00:01:59,200 --> 00:02:02,100 Service, Remote Desktop Protocole, RDP, qui 38 00:02:02,100 --> 00:02:05,590 est utilisée si vous voulez accéder à distance votre ordinateur depuis un autre ordinateur, 39 00:02:05,590 --> 00:02:08,479 XMPP, qui est fréquemment connu comme Jabber ou le chat, 40 00:02:08,479 --> 00:02:11,160 si cela est le protocole pour l'utilisation de services de chat. 41 00:02:11,160 --> 00:02:13,310 Et il ya beaucoup, beaucoup, beaucoup d'autres. 42 00:02:13,310 --> 00:02:15,900 >> Donc, chaque fois que vous utilisez un service, le service 43 00:02:15,900 --> 00:02:18,930 attend des informations à une demande received-- 44 00:02:18,930 --> 00:02:21,010 être dans une received-- format particulier très 45 00:02:21,010 --> 00:02:24,070 et qui est nécessaire pour renvoyer des informations de retour 46 00:02:24,070 --> 00:02:27,190 dans un format très particulier ainsi. 47 00:02:27,190 --> 00:02:31,750 >> Donc, revenons à notre illustration nous vouloir parler à l'Internet. 48 00:02:31,750 --> 00:02:34,810 Donc, nous sommes heureux, et nous voulons pour aller à cats.com, non? 49 00:02:34,810 --> 00:02:38,550 Donc, si nous parlons seulement de cats.com, nous pourrions dire quelque chose comme hey, 50 00:02:38,550 --> 00:02:39,720 puis-je voir votre page d'accueil? 51 00:02:39,720 --> 00:02:42,320 Et cats.com sera probablement répondre, oui, bien sûr. 52 00:02:42,320 --> 00:02:43,440 Et voilà. 53 00:02:43,440 --> 00:02:46,440 Voilà donc une sorte humaine de demander et de réponses. 54 00:02:46,440 --> 00:02:47,980 >> Qu'est-ce que cela ressemble à HTTP? 55 00:02:47,980 --> 00:02:51,340 Eh bien, il en fait un peu traduit assez proprement à quelque chose comme ça. 56 00:02:51,340 --> 00:02:57,290 Nous pourrions dire GET / HTTP / 1.1 de cats.com hôte. 57 00:02:57,290 --> 00:03:03,039 Donc, fondamentalement, ce que je fais ici est demandant la page Web www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Nous omettons généralement la barre oblique de nos jours, mais ce serait tout simplement 59 00:03:05,330 --> 00:03:07,200 signifie la page d'accueil de cats.com. 60 00:03:07,200 --> 00:03:11,910 >> Oh, et par la manière, je vais être avec la version HTTP 61 00:03:11,910 --> 00:03:14,182 1.1 pour communiquer avec vous. 62 00:03:14,182 --> 00:03:16,390 Voilà en quelque sorte analogue à dire, comme, d'ailleurs, 63 00:03:16,390 --> 00:03:17,870 Je vais prendre la parole en français, ou par la façon dont, 64 00:03:17,870 --> 00:03:19,370 Je vais être parlant en anglais. 65 00:03:19,370 --> 00:03:22,160 Voilà tout simplement le format du protocole. 66 00:03:22,160 --> 00:03:25,050 Il est également de 1,0, ce qui est pas plus couramment utilisé. 67 00:03:25,050 --> 00:03:30,615 Donc, je suis HTTP 1.1 parlant, et Je voudrais www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 S'il vous plaît obtenir ce pour moi. 69 00:03:31,710 --> 00:03:34,610 >> Et puis il ya d'autres informations, too-- le point, point, il dot, 70 00:03:34,610 --> 00:03:38,234 qui sont des informations sur qui vous êtes si cats.com 71 00:03:38,234 --> 00:03:39,400 serait de savoir où l'envoyer. 72 00:03:39,400 --> 00:03:41,480 Mais ce sont les deux sorte de pièces critiques 73 00:03:41,480 --> 00:03:44,000 au tout début d'un HTTP request-- 74 00:03:44,000 --> 00:03:46,770 tout comme lorsque vous démarrez un lettre que vous dites, cher, vide. 75 00:03:46,770 --> 00:03:49,710 Ceci est très similaire dans l'esprit à cela. 76 00:03:49,710 --> 00:03:52,370 >> Et si cats.com va dites, oh, bien sûr, ici vous allez. 77 00:03:52,370 --> 00:03:55,590 Ils pourraient réagir comme this-- Je suis aussi de répondre. 78 00:03:55,590 --> 00:03:57,960 Je parle aussi HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Votre demande est approuvée, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Qu'est-ce que vous êtes sur le point de recevoir est HTML, puis 81 00:04:04,709 --> 00:04:06,250 dot, dot, dot quelques informations supplémentaires. 82 00:04:06,250 --> 00:04:10,620 Et tout en bas de la demande est en fait le HTML, 83 00:04:10,620 --> 00:04:16,339 le langage de balisage, la contenu de la page d'accueil de cats.com. 84 00:04:16,339 --> 00:04:21,227 >> Donc HTTP / 1.1-- Je reconnais votre demande a été acceptée via HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Votre demande a été approuvée. 86 00:04:22,310 --> 00:04:25,810 Je peux vous donner ce que vous voulez, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Vous êtes sur le point de recevoir des messages HTML. 88 00:04:27,440 --> 00:04:30,450 Et puis voici le HTML que vous avez demandé. 89 00:04:30,450 --> 00:04:33,930 >> Mais parfois, nos demandes ne sont pas toujours aller assez conformément au plan. 90 00:04:33,930 --> 00:04:37,100 Puis-je voir votre page cats.html? 91 00:04:37,100 --> 00:04:40,366 Eh bien, si ils disent, nous ne pas avoir une page de cats.html, 92 00:04:40,366 --> 00:04:42,740 qui semble sorte de irréaliste parce qu'ils sont cats.com. 93 00:04:42,740 --> 00:04:44,400 On pourrait penser qu'ils auraient cats.html. 94 00:04:44,400 --> 00:04:45,420 Mais d'accord. 95 00:04:45,420 --> 00:04:48,484 Donc, cela est en quelque sorte le l'interaction humaine classique 96 00:04:48,484 --> 00:04:49,650 nous avons maintenant eu avec cats.com. 97 00:04:49,650 --> 00:04:51,060 Comment cela se traduit? 98 00:04:51,060 --> 00:04:52,726 >> Cela pourrait être quelque chose de familier pour vous. 99 00:04:52,726 --> 00:04:55,690 Notre demande était exactement le même, sauf qu'au lieu d'obtenir slash 100 00:04:55,690 --> 00:04:58,110 Maintenant, nous obtenons cats.html. 101 00:04:58,110 --> 00:05:01,810 Alors maintenant, ce qui en fait toute cette demande dit donnez-moi s'il vous plaît est 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Donc, l'hôte et le milieu une partie de cette ligne supérieure 104 00:05:08,700 --> 00:05:14,632 il indiquer précisément quelle page que je demande. 105 00:05:14,632 --> 00:05:17,590 Mais cats.com dans ce cas ne va pas pour être en mesure de répondre positivement. 106 00:05:17,590 --> 00:05:19,089 Ils ne savent pas que nous parlons. 107 00:05:19,089 --> 00:05:25,170 Et donc cela est quelque chose que vous pourriez avoir vu HTTP before-- 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Je ne pouvais pas trouver ce que vous demandiez. 109 00:05:27,180 --> 00:05:30,460 En passant, je vais vous donner Retour du HTML, et le plus souvent que le HTML 110 00:05:30,460 --> 00:05:32,351 est le contenu de certaines pages 404. 111 00:05:32,351 --> 00:05:34,100 Et dans le cas de cats.com, il est probablement 112 00:05:34,100 --> 00:05:37,720 certains chats mignons dans un panier avec 404 visage triste à côté d'eux, 113 00:05:37,720 --> 00:05:40,920 parce que vous allez être triste quand vous ne recevez pas la page 114 00:05:40,920 --> 00:05:43,040 que vous recherchez. 115 00:05:43,040 --> 00:05:48,520 >> Voilà sorte de les bases de ce que une Protocole, les demandes de protocole HTTP 116 00:05:48,520 --> 00:05:49,180 ressembler. 117 00:05:49,180 --> 00:05:52,640 Ils sont vraiment similaire à la façon dont nous ferait une interaction similaire 118 00:05:52,640 --> 00:05:55,460 dans les conventions simplement humains demander quelque chose 119 00:05:55,460 --> 00:05:58,250 et de le faire revenir ou d'écrire un lettre et attend une réponse 120 00:05:58,250 --> 00:06:00,380 lettre dans un format particulier. 121 00:06:00,380 --> 00:06:03,910 Voilà à peu près ce que HTTP est juste canonisant 122 00:06:03,910 --> 00:06:10,190 pour tous les appareils qui souhaitent un accès les pages Web, les transferts de l'hypertexte. 123 00:06:10,190 --> 00:06:15,110 >> Ainsi, une ligne de la forme, cela le Version méthode demande HTTP cible, 124 00:06:15,110 --> 00:06:17,100 est appelée une ligne de requête HTTP. 125 00:06:17,100 --> 00:06:23,740 Il est généralement la première chose qui est transmis dans le cadre d'une requête HTTP 126 00:06:23,740 --> 00:06:26,180 ou si vous demandez HTTP. 127 00:06:26,180 --> 00:06:29,970 Il est un peu comme, comme je le disais, en disant chère, vierge en haut de votre lettre. 128 00:06:29,970 --> 00:06:32,880 Ils savent que vous êtes les écrire une lettre. 129 00:06:32,880 --> 00:06:34,796 Donc, cela est très similaire à dire, je sais 130 00:06:34,796 --> 00:06:37,670 que ils font une demande HTTP et ceci est le format particulier 131 00:06:37,670 --> 00:06:39,090 qu'ils demandent. 132 00:06:39,090 --> 00:06:43,810 >> Version HTTP est probablement toujours va être HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 existe aussi mais est pas plus vraiment utilisé. 134 00:06:46,670 --> 00:06:49,200 Aux fins de la CS50, GET est probablement toujours 135 00:06:49,200 --> 00:06:51,540 ce que vous allez être l'aide lorsque vous êtes réellement 136 00:06:51,540 --> 00:06:54,250 des requêtes HTTP directs. 137 00:06:54,250 --> 00:06:57,720 Mais POST est une autre option que nous sommes ne vais pas parler maintenant. 138 00:06:57,720 --> 00:07:02,980 Et puis demande-cible est quelle page sur le serveur de l'hôte 139 00:07:02,980 --> 00:07:05,812 vous souhaitez obtenir. 140 00:07:05,812 --> 00:07:08,020 Comme je le disais, ce nom d'hôte est une ligne distincte, habituellement 141 00:07:08,020 --> 00:07:10,350 la deuxième ligne de la demande globale. 142 00:07:10,350 --> 00:07:13,660 Et donc, pris ensemble, l'hôte nom et la cible de demande 143 00:07:13,660 --> 00:07:16,070 spécifier un particulier ressource recherchée. 144 00:07:16,070 --> 00:07:20,986 Dans notre exemple 404 il ya une seconde, je demandait encore pour www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com étant l'hôte. 146 00:07:22,940 --> 00:07:26,300 Et dans ma ligne de demande, Je l'ai dit /cats.html. 147 00:07:26,300 --> 00:07:27,790 Ce fut ma demande cible. 148 00:07:27,790 --> 00:07:31,200 Donc dans l'ensemble je posais pour le contenu ou la ressource située 149 00:07:31,200 --> 00:07:36,410 au www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> Et puis, en fonction de si la ressource existe 151 00:07:38,870 --> 00:07:42,160 et si le serveur peut fournir la ressource en vertu de celle du client 152 00:07:42,160 --> 00:07:46,760 demande, vous pourriez obtenir divers codes retour d'état. 153 00:07:46,760 --> 00:07:50,280 Certains de ces codes d'état que vous avez vu parce qu'ils font partie de la réponse. 154 00:07:50,280 --> 00:07:53,580 Certains d'entre eux, 200 OK, sont probablement assez silencieux. 155 00:07:53,580 --> 00:07:55,650 Vous avez probablement jamais vu une page de répondre 200 OK. 156 00:07:55,650 --> 00:07:56,890 Vous venez d'obtenir la page. 157 00:07:56,890 --> 00:08:01,260 Il est pas comme une erreur 404, qui est généralement assez clair. 158 00:08:01,260 --> 00:08:03,850 Vous voyez habituellement qu'il dit 404. 159 00:08:03,850 --> 00:08:06,880 >> Donc, nous allons parler de ce que certains de ces codes d'état pourrait être. 160 00:08:06,880 --> 00:08:09,660 Encore une fois, lorsque le serveur répond à nous, ils sont 161 00:08:09,660 --> 00:08:12,120 va répondre HTTP statut de version. 162 00:08:12,120 --> 00:08:14,020 Habituellement HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Quels sont ces codes d'état va être? 164 00:08:17,410 --> 00:08:18,890 Eh bien, nous pourrions obtenir un succès. 165 00:08:18,890 --> 00:08:23,617 Donc, dans la catégorie de succès, nous pourrait obtenir le code 200 avec le texte OK. 166 00:08:23,617 --> 00:08:24,450 Qu'est-ce que cela signifie? 167 00:08:24,450 --> 00:08:25,491 Eh bien, tout est bon. 168 00:08:25,491 --> 00:08:26,721 Vous avez fait une demande valide. 169 00:08:26,721 --> 00:08:27,720 Voici une réponse valide. 170 00:08:27,720 --> 00:08:30,060 Je suis en mesure de livrer exactement ce que vous vouliez. 171 00:08:30,060 --> 00:08:33,080 >> Parfois, vous pourriez obtenir d'autres choses que vous ne verrez pas tout de suite 172 00:08:33,080 --> 00:08:35,140 mais sont quelque peu échecs. 173 00:08:35,140 --> 00:08:36,422 Ils sont appelés les redirections. 174 00:08:36,422 --> 00:08:37,630 Il ya deux plus communs ici. 175 00:08:37,630 --> 00:08:41,520 301 Permanently-- Déplacé ce que cela signifie essentiellement, 176 00:08:41,520 --> 00:08:43,559 est la page est maintenant à un nouvel emplacement. 177 00:08:43,559 --> 00:08:44,920 Il y vivra pour toujours. 178 00:08:44,920 --> 00:08:47,150 Et la plupart des navigateurs vous rediriger automatiquement. 179 00:08:47,150 --> 00:08:49,860 Donc, vous ne verrez jamais vraiment une 301, soit, sauf si vous êtes 180 00:08:49,860 --> 00:08:52,210 utilisant un vraiment hors-of-date navigateur, éventuellement, 181 00:08:52,210 --> 00:08:57,660 parce que la réponse 301 fait partie de le point, point, point de la réponse 301. 182 00:08:57,660 --> 00:08:59,577 Il vous indique également où la nouvelle page est. 183 00:08:59,577 --> 00:09:01,660 Et si la plupart des navigateurs simplement vous rediriger là, 184 00:09:01,660 --> 00:09:03,570 en supposant que vous voulez y aller. 185 00:09:03,570 --> 00:09:05,440 >> Parfois, vous aurez également 302 trouvés. 186 00:09:05,440 --> 00:09:07,850 Et celui-ci vous fait pourrait encore voir de temps en temps. 187 00:09:07,850 --> 00:09:09,720 Parfois pages se déplacent temporairement. 188 00:09:09,720 --> 00:09:13,570 Donc, ça ne va pas être intégré dans la demande dire le navigateur 189 00:09:13,570 --> 00:09:16,740 à changer de façon permanente tout moment il voit la demande que vous 190 00:09:16,740 --> 00:09:18,255 faire pour le changer en quelque chose d'autre. 191 00:09:18,255 --> 00:09:21,210 Donc vous pouvez voir 302 Trouvé, qui essentiellement 192 00:09:21,210 --> 00:09:22,710 dit cette page vit ailleurs. 193 00:09:22,710 --> 00:09:24,418 Mais il ne va pas il vivra éternellement. 194 00:09:24,418 --> 00:09:29,052 Il finira probablement aller retour à l'endroit où vous pensez qu'il est. 195 00:09:29,052 --> 00:09:31,780 >> Ensuite, vous aurez des choses comme les erreurs client. 196 00:09:31,780 --> 00:09:34,012 Donc, ce sont ceux que vous avez probablement vu, maintenant. 197 00:09:34,012 --> 00:09:35,970 Vous avez probablement pas vu les 200s ou les 300s, 198 00:09:35,970 --> 00:09:37,370 mais vous êtes probablement familier avec les 400s. 199 00:09:37,370 --> 00:09:40,130 Et voilà ce que nous allons parler à propos dans une seconde, 500s ainsi. 200 00:09:40,130 --> 00:09:42,580 >> Vous pouvez voir 401 Unauthorized. 201 00:09:42,580 --> 00:09:45,100 Habituellement, cela signifie que vous êtes essayant d'accéder à une page, 202 00:09:45,100 --> 00:09:46,230 mais vous ne l'avez pas connecté. 203 00:09:46,230 --> 00:09:50,500 Donc, vous essayez et aller à quelques profil ou quelque chose sur Facebook 204 00:09:50,500 --> 00:09:53,106 ou vous essayez et l'accès some-- vous êtes au travail. 205 00:09:53,106 --> 00:09:56,619 Vous essayez d'accéder à quelque chose sur l'Internet de votre travail, 206 00:09:56,619 --> 00:09:57,660 mais vous n'êtes pas connecté. 207 00:09:57,660 --> 00:09:58,740 Vous ne pouvez pas voir la page. 208 00:09:58,740 --> 00:10:01,770 Vous pourriez obtenir un 401 non autorisé, qui nous signifie probablement 209 00:10:01,770 --> 00:10:06,590 sera en mesure de satisfaire cette demande, mais vous devez d'abord vous connecter à le faire. 210 00:10:06,590 --> 00:10:09,590 >> Inversement, vous pourriez obtenir 403 Interdit, ce qui est cela n'a pas vraiment 211 00:10:09,590 --> 00:10:11,490 Peu importe si vous êtes connecté ou non. 212 00:10:11,490 --> 00:10:13,020 Cette demande est pas autorisé. 213 00:10:13,020 --> 00:10:15,320 La ressource existe sur le serveur. 214 00:10:15,320 --> 00:10:17,817 Mais vous n'êtes pas autorisé à y accéder. 215 00:10:17,817 --> 00:10:20,900 Ceci est habituellement fichiers internes qui vivre sur le serveur pour diverses raisons 216 00:10:20,900 --> 00:10:23,860 mais ne sont pas destinés à être accessible depuis le monde extérieur, 217 00:10:23,860 --> 00:10:25,030 et donc ils sont interdits. 218 00:10:25,030 --> 00:10:27,120 Ils y vivent. 219 00:10:27,120 --> 00:10:28,440 Je ne dis pas que je ne peux pas le trouver. 220 00:10:28,440 --> 00:10:30,030 Mais je dis que je ne peux pas vous le donner. 221 00:10:30,030 --> 00:10:32,071 Et il n'a pas d'importance si vous êtes connecté ou non. 222 00:10:32,071 --> 00:10:35,479 Et puis bien sûr, la très commun 404 Not Found. 223 00:10:35,479 --> 00:10:37,020 Le fichier ne existe pas sur le serveur. 224 00:10:37,020 --> 00:10:40,200 Je tiens à satisfaire votre demande, mais je ne peux pas. 225 00:10:40,200 --> 00:10:43,390 >> Vous voyez aussi parfois serveur erreurs, le plus commun qui est généralement 226 00:10:43,390 --> 00:10:46,990 étant de 500 Internal Server Error, qui ne fait rien vous dire 227 00:10:46,990 --> 00:10:50,200 du tout sur ce qui a mal tourné. 228 00:10:50,200 --> 00:10:53,290 Mais il est pas vraiment vous faire une erreur dans votre demande. 229 00:10:53,290 --> 00:10:58,200 Il est en fait le serveur défaillant pour fournir à la demande d'une certaine manière. 230 00:10:58,200 --> 00:11:00,040 Donc, 500 est la réponse générale. 231 00:11:00,040 --> 00:11:03,190 >> Vous verrez aussi quelque chose comme Service Unavailable, 232 00:11:03,190 --> 00:11:05,720 qui je crois est le code 503. 233 00:11:05,720 --> 00:11:07,882 Et la passerelle si Timeout-- vous déjà eu une page seulement 234 00:11:07,882 --> 00:11:09,590 assis là chargement et le chargement et le chargement 235 00:11:09,590 --> 00:11:12,715 et vous ne savez jamais si ça va charge et puis finalement il says-- juste 236 00:11:12,715 --> 00:11:13,650 donne juste place. 237 00:11:13,650 --> 00:11:15,460 Voilà une passerelle Timeout 504. 238 00:11:15,460 --> 00:11:17,600 Le serveur voulait exécuter votre demande, 239 00:11:17,600 --> 00:11:19,930 mais quelque chose a mal tourné sur le serveur de side-- 240 00:11:19,930 --> 00:11:24,452 pas sur votre side-- à Parce que ça d'être un problème. 241 00:11:24,452 --> 00:11:27,410 Maintenant, nous pourrions finir l'histoire ici, mais ce que je vais effectivement faire maintenant 242 00:11:27,410 --> 00:11:29,368 est que je vais ouvrir mon navigateur et vous montrer 243 00:11:29,368 --> 00:11:32,250 comment vous pourriez être en mesure de voir certains de ces codes d'état 244 00:11:32,250 --> 00:11:34,580 même si vous ne les voyez pas généralement. 245 00:11:34,580 --> 00:11:39,090 Et nous allons le faire en prenant Un aperçu de certains outils de développement. 246 00:11:39,090 --> 00:11:42,050 >> Tous droits Donc ici, je suis maintenant dans la fenêtre de mon navigateur. 247 00:11:42,050 --> 00:11:45,840 Et je veux apprendre un peu plus sur ces requêtes HTTP. 248 00:11:45,840 --> 00:11:49,060 Comment puis-je know-- certainement nous savons si un Page goes-- quand quelque chose va mal, 249 00:11:49,060 --> 00:11:49,630 nous obtenons un 404. 250 00:11:49,630 --> 00:11:50,465 Nous avons tous vu cela. 251 00:11:50,465 --> 00:11:51,840 Nous ne devons pas pour illustrer cela. 252 00:11:51,840 --> 00:11:53,048 Mais quelles sont les autres? 253 00:11:53,048 --> 00:11:56,850 Et comment pourrions-nous voir ces demandes en action? 254 00:11:56,850 --> 00:11:59,990 >> Donc, première chose que je vais faire est d'ouvrir les outils de développement. 255 00:11:59,990 --> 00:12:02,580 Donc Developer Tools sont construits dans la plupart des navigateurs modernes 256 00:12:02,580 --> 00:12:06,020 et nous permettent de voir les choses que nous ne le faisons pas autrement 257 00:12:06,020 --> 00:12:10,580 see-- quelques informations supplémentaire de tri étant transmis sous notre web 258 00:12:10,580 --> 00:12:11,500 demandes. 259 00:12:11,500 --> 00:12:12,790 Je suis en utilisant Google Chrome ici. 260 00:12:12,790 --> 00:12:16,900 Et pour ouvrir Developer Tools dans Chrome, vous appuyez simplement sur F-12, 261 00:12:16,900 --> 00:12:18,729 et il va ouvrir vers le haut sur le côté. 262 00:12:18,729 --> 00:12:21,770 Une fois que je tape la demande, je vais zoome afin que nous puissions voir ce qui se passe ici. 263 00:12:21,770 --> 00:12:28,530 Mais ce que je vais faire dans mon navigateur BAR est-- et je zoome sur ici-- 264 00:12:28,530 --> 00:12:32,427 Je vais faire une demande à www.google.com. 265 00:12:32,427 --> 00:12:34,260 Nous avons probablement tous fait cette demande avant. 266 00:12:34,260 --> 00:12:35,400 Je vais appuyez sur Entrée. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Maintenant, ici dans mon développeur Outils, je ont choisi l'onglet Réseau. 269 00:12:46,400 --> 00:12:48,010 Et vous remarquez beaucoup de choses ici. 270 00:12:48,010 --> 00:12:51,732 Regardez these-- 200 OK, OK 200, certains de ces codes d'état à venir. 271 00:12:51,732 --> 00:12:53,356 Je ne sais pas pourquoi je reçois 302 Trouvé. 272 00:12:53,356 --> 00:12:54,860 Je ne savais pas que je verrais que l'un. 273 00:12:54,860 --> 00:12:58,192 Mais remarquez essentiellement cette jolie beaucoup, en termes de mon request-- Google 274 00:12:58,192 --> 00:13:00,150 Je fis un très simple demande de la page de Google. 275 00:13:00,150 --> 00:13:02,890 Et dans le processus de livrer ma demande, 276 00:13:02,890 --> 00:13:05,670 Google a apparemment fait beaucoup d'autres demandes sur mon compte. 277 00:13:05,670 --> 00:13:11,990 >> Mais je me suis fait une requête GET pour Google la page et je vais avoir un lot de 200 OKs. 278 00:13:11,990 --> 00:13:14,830 Je ne vois pas OK sur 200 mon écran, mais je suis en train de 279 00:13:14,830 --> 00:13:17,170 beaucoup de demandes qui ont été faites. 280 00:13:17,170 --> 00:13:19,550 Un de plus que je suis assez sûr est d'aller travailler 281 00:13:19,550 --> 00:13:21,920 est-- pour ceux d'entre vous qui sont vraiment de la vieille école, 282 00:13:21,920 --> 00:13:26,012 vous savez peut-être que Facebook était pas toujours à Facebook.com. 283 00:13:26,012 --> 00:13:29,780 À ses débuts, il était au wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 Ils pourraient apparemment pas accéder à Facebook.com depuis un certain temps. 285 00:13:33,560 --> 00:13:35,870 >> Et donc ce que je vais attendre ici est d'obtenir des informations. 286 00:13:35,870 --> 00:13:37,315 Et nous verrons si cette casseroles. 287 00:13:37,315 --> 00:13:39,190 Ce que je veux attendre ici est d'obtenir des informations 288 00:13:39,190 --> 00:13:43,980 que Facebook a déplacé de façon permanente de thefacebook.com à Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Je suis donc attendre quelque part près du haut de mes demandes 290 00:13:46,830 --> 00:13:50,730 plus dans mes Developer Tools pour obtenir une notification 301 291 00:13:50,730 --> 00:13:52,580 que Facebook a déplacé de façon permanente. 292 00:13:52,580 --> 00:13:59,070 Encore une fois, je ne vais pas voir 301 sur l'écran de mon navigateur. 293 00:13:59,070 --> 00:14:01,380 Et parce qu'il est un 301, il est un mouvement permanent. 294 00:14:01,380 --> 00:14:03,500 Mon navigateur, étant que il est un navigateur moderne, 295 00:14:03,500 --> 00:14:06,110 va probablement rediriger moi de toute façon Facebook.com. 296 00:14:06,110 --> 00:14:07,260 Mais nous allons voir ce qui se passe. 297 00:14:07,260 --> 00:14:09,340 >> Et maintenant, je vais aller à thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 Et oui, il est tout en haut. 299 00:14:11,370 --> 00:14:13,390 Il alla, mais il était là. 300 00:14:13,390 --> 00:14:14,820 Permettez-moi de défiler vers le haut ici. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Juste ici au sommet. 303 00:14:18,920 --> 00:14:23,080 Je fis une demande à thefacebook.com, et je me fais une réponse 304 00:14:23,080 --> 00:14:25,410 que cette page a été déplacée de façon permanente. 305 00:14:25,410 --> 00:14:27,770 Et puis ici est 307 une redirection interne. 306 00:14:27,770 --> 00:14:30,680 Et c'est ce qui a fait Me déplacé à la beaucoup plus 307 00:14:30,680 --> 00:14:33,330 www.facebook.com familier. 308 00:14:33,330 --> 00:14:38,480 >> Donc, ces codes de réponse font encore arriver, même si nous ne les voyons pas. 309 00:14:38,480 --> 00:14:40,710 Je ne vais pas illustrer 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 parce que vous avez probablement déjà vu ceux à divers points. 311 00:14:43,090 --> 00:14:45,740 Et 500, je serais juste genre de-- nous avions de la chance 312 00:14:45,740 --> 00:14:50,380 si a obtenu un 500 parce que nous ne savons pas ce serveurs sont actuellement nulle part. 313 00:14:50,380 --> 00:14:53,060 Mais ces codes font existe, et il existe un moyen 314 00:14:53,060 --> 00:14:58,610 pour y accéder, même si nous ne le faisons pas voir de première main sur nos systèmes. 315 00:14:58,610 --> 00:14:59,530 Je suis Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Ceci est CS50. 317 00:15:01,570 --> 00:15:03,557