1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> ENCEINTE 1: Très bien, nous allons jeter un regarder comment la solution du personnel effectivement 3 00:00:02,660 --> 00:00:04,760 exploite, afin que vous avoir une idée, d'abord 4 00:00:04,760 --> 00:00:06,930 comment le serveur Web est censé à courir, et comment vous pouvez réellement 5 00:00:06,930 --> 00:00:08,480 le faire fonctionner sur votre propre ordinateur. 6 00:00:08,480 --> 00:00:09,350 Alors imaginez ici. 7 00:00:09,350 --> 00:00:13,640 Je l'ai déjà installé dans CS50 ID pset6 zip de points, par la spécification. 8 00:00:13,640 --> 00:00:16,197 Je l'ai décompressé, et je l'ai CDED dans mon répertoire de pset6. 9 00:00:16,197 --> 00:00:18,780 Une des premières choses que vous êtes va vouloir faire, surtout 10 00:00:18,780 --> 00:00:22,010 si vous avez utilisé un IDE de CS50 à jouer avec les récentes conférences, dans laquelle 11 00:00:22,010 --> 00:00:25,640 nous utilisons PHP CS50 IDE, en particulier, 12 00:00:25,640 --> 00:00:29,050 en utilisant ce serveur web appelé Apache, par lequel vous pouvez démarrer et arrêter 13 00:00:29,050 --> 00:00:30,910 avec cette commande, 50 Apache. 14 00:00:30,910 --> 00:00:34,160 Tout d'abord, aller de l'avant et tapez "arrêt Apache 50" 15 00:00:34,160 --> 00:00:37,370 juste pour vous assurer que si vous étiez suivant le long de ces derniers jours, 16 00:00:37,370 --> 00:00:40,090 et vous avez tourné sur Apache, vous êtes éteindre de cette manière 17 00:00:40,090 --> 00:00:41,360 par arrêt du serveur. 18 00:00:41,360 --> 00:00:44,110 Maintenant, ce que je vais faire est exactement ce que la spécification me dit de faire. 19 00:00:44,110 --> 00:00:49,770 Je vais aller à Tilda CS50 slash serveur slash pset6, et appuyez simplement sur Entrée. 20 00:00:49,770 --> 00:00:52,840 Vous remarquerez que je hurlai avec quelques informations sur l'utilisation, par lequel 21 00:00:52,840 --> 00:00:54,960 Je doit être exécuté le programme en tant que serveur 22 00:00:54,960 --> 00:00:58,230 avec un tableau de bord en option p, puis une numéro de port, qui vous pouvez réellement 23 00:00:58,230 --> 00:01:00,720 laisser en blanc parce que, par défaut, par la spécification, 24 00:01:00,720 --> 00:01:04,010 le serveur web va supposons que vous voulez le port 8080. 25 00:01:04,010 --> 00:01:07,560 Pendant ce temps, vous pourriez rappeler que le port 8080 est pas vraiment standard, 26 00:01:07,560 --> 00:01:09,380 plutôt le port 80 est le Numéro nous avons parlé 27 00:01:09,380 --> 00:01:11,440 d'être le défaut pour HTTP. 28 00:01:11,440 --> 00:01:14,870 Eh bien, se trouve que CS50 IDE est simplement configuré d'une manière, 29 00:01:14,870 --> 00:01:18,730 de telle sorte que lorsque vous essayez avec un navigateur à visiter le port 80 du monde extérieur, 30 00:01:18,730 --> 00:01:22,210 il va trier de magie avant port, ou se réorienter, 31 00:01:22,210 --> 00:01:25,200 le port 8080 à l'intérieur de votre serveur lui-même. 32 00:01:25,200 --> 00:01:29,330 >> Donc la dernière chose ici est la commande argument de la ligne, le chemin à l'itinéraire. 33 00:01:29,330 --> 00:01:31,590 Et que je viens dire, ce dossier-je 34 00:01:31,590 --> 00:01:34,820 vouloir dire au serveur à utiliser pour servir des fichiers? 35 00:01:34,820 --> 00:01:39,030 En d'autres termes, si l'utilisateur visite Slash, que doit-il ou elle voir? 36 00:01:39,030 --> 00:01:41,030 Eh bien, allons de l'avant et exécuter exactement cela à nouveau, 37 00:01:41,030 --> 00:01:43,940 cette fois en précisant que je veulent la racine de mon serveur web 38 00:01:43,940 --> 00:01:48,210 soit le répertoire public, qui vient avec problème posé six code de distribution. 39 00:01:48,210 --> 00:01:50,620 Lorsque je tape Entrée, vous verrez en jaune ici, un rappel 40 00:01:50,620 --> 00:01:52,260 quant à ce dossier que je suis en train d'utiliser. 41 00:01:52,260 --> 00:01:55,870 Dans ce cas, il est une longue chaîne, "la maison ubuntu espace de travail pset6 public." 42 00:01:55,870 --> 00:01:57,500 Et ce dernier mot est ce qui est la clé. 43 00:01:57,500 --> 00:02:01,180 Et puis enfin, apparemment, mon serveur est maintenant à l'écoute sur le port 8080. 44 00:02:01,180 --> 00:02:05,860 >> Ce que je vais faire la prochaine est le rappel que dans CS50 ID dans le coin en haut à droite 45 00:02:05,860 --> 00:02:09,440 de votre écran, vous allez voir une URL qui est ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 Et en effet, si vous cliquez sur que, vous serez emmené 48 00:02:15,080 --> 00:02:17,090 à un autre onglet du navigateur, que, dans ce cas, 49 00:02:17,090 --> 00:02:20,830 va me montrer le contenu de mes serveurs web racines. 50 00:02:20,830 --> 00:02:24,770 En d'autres termes, les fichiers que vous voyez ici, chat dot HTML, chat dot JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, bonjour dot HTML, bonjour dot php, et de test, 52 00:02:27,690 --> 00:02:29,800 sont tous de la même contenu que vous verriez 53 00:02:29,800 --> 00:02:32,560 LS avec l'intérieur de mon répertoire public. 54 00:02:32,560 --> 00:02:36,790 Et ce qui est beau est que si je vais avant et cliquez maintenant sur le chat dot HTML, 55 00:02:36,790 --> 00:02:38,710 Je vois chat dot HTML. 56 00:02:38,710 --> 00:02:42,660 Et si je clique sur le chat dot JPEG, ou bonjour dot HTML, 57 00:02:42,660 --> 00:02:46,650 ou même taper mon nom David, puis cliquez sur «dire bonjour», 58 00:02:46,650 --> 00:02:49,420 vous verrez que tous les fichiers fonctionnent parce que le personnel 59 00:02:49,420 --> 00:02:52,820 solution, bien entendu, installé dans CS50 ID est entièrement fonctionnel. 60 00:02:52,820 --> 00:02:57,090 Donc, il fonctionne exactement comme votre propre solution devrait finalement travailler. 61 00:02:57,090 --> 00:03:00,990 >> En attendant, si nous revenons à mon terminal fenêtre, où je couru la commande du serveur, 62 00:03:00,990 --> 00:03:03,410 remarquez ce que la console a été dit. 63 00:03:03,410 --> 00:03:07,890 Je vois ici que la première demande que Je recevais était littéralement obtenir slash chat 64 00:03:07,890 --> 00:03:10,260 dot HTML, version HTTP 1.1. 65 00:03:10,260 --> 00:03:12,600 Et puis, ce qui en vert la solution du personnel a fait 66 00:03:12,600 --> 00:03:14,580 est il me la montre première ligne de sortie 67 00:03:14,580 --> 00:03:16,340 que le serveur web réagit avec. 68 00:03:16,340 --> 00:03:18,300 En d'autres termes, nous avons déjà écrit le code 69 00:03:18,300 --> 00:03:21,530 qui ouvre cette enveloppe virtuelle, contenant cette requête GET. 70 00:03:21,530 --> 00:03:23,980 Et puis, nous répondons à la utilisateur, mais, en même temps, 71 00:03:23,980 --> 00:03:28,780 imprimer à l'écran de sortie ici HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 pour confirmer ce que nous mettons en l'enveloppe de retour, pour ainsi dire, 73 00:03:31,900 --> 00:03:33,540 que nous envoyons à l'utilisateur. 74 00:03:33,540 --> 00:03:36,200 >> Et qu'est-ce qui se passe ici est que, dans la fenêtre de terminal, 75 00:03:36,200 --> 00:03:38,510 nous courons le web serveur, et, par conséquent, il est 76 00:03:38,510 --> 00:03:42,480 écoute pour HTTP requêtes sur le port TCP 8080. 77 00:03:42,480 --> 00:03:44,960 Pendant ce temps, dans mon navigateur web, comme je clique à travers chaque 78 00:03:44,960 --> 00:03:48,480 de ces fichiers, ou même mon entrée Nom David, puis cliquez sur Envoyer, 79 00:03:48,480 --> 00:03:51,827 qui est mon navigateur parlant au serveur Web. 80 00:03:51,827 --> 00:03:54,410 Et ce que fait le serveur web, puis, dans cette fenêtre de terminal 81 00:03:54,410 --> 00:03:56,370 me montrant exactement la première ligne qui est 82 00:03:56,370 --> 00:03:58,540 été reçu dans un virtuel enveloppe et exactement 83 00:03:58,540 --> 00:04:02,870 la première ligne qui est d'être répondu avec à ce client web.