>> ENCEINTE 1: Très bien, nous allons jeter un regarder comment la solution du personnel effectivement
exploite, afin que vous avoir une idée, d'abord
comment le serveur Web est censé à courir, et comment vous pouvez réellement
le faire fonctionner sur votre propre ordinateur.
Alors imaginez ici.
Je l'ai déjà installé dans CS50 ID pset6 zip de points, par la spécification.
Je l'ai décompressé, et je l'ai CDED dans mon répertoire de pset6.
Une des premières choses que vous êtes va vouloir faire, surtout
si vous avez utilisé un IDE de CS50 à jouer avec les récentes conférences, dans laquelle
nous utilisons PHP CS50 IDE, en particulier,
en utilisant ce serveur web appelé Apache, par lequel vous pouvez démarrer et arrêter
avec cette commande, 50 Apache.
Tout d'abord, aller de l'avant et tapez "arrêt Apache 50"
juste pour vous assurer que si vous étiez suivant le long de ces derniers jours,
et vous avez tourné sur Apache, vous êtes éteindre de cette manière
par arrêt du serveur.
Maintenant, ce que je vais faire est exactement ce que la spécification me dit de faire.
Je vais aller à Tilda CS50 slash serveur slash pset6, et appuyez simplement sur Entrée.
Vous remarquerez que je hurlai avec quelques informations sur l'utilisation, par lequel
Je doit être exécuté le programme en tant que serveur
avec un tableau de bord en option p, puis une numéro de port, qui vous pouvez réellement
laisser en blanc parce que, par défaut, par la spécification,
le serveur web va supposons que vous voulez le port 8080.
Pendant ce temps, vous pourriez rappeler que le port 8080 est pas vraiment standard,
plutôt le port 80 est le Numéro nous avons parlé
d'être le défaut pour HTTP.
Eh bien, se trouve que CS50 IDE est simplement configuré d'une manière,
de telle sorte que lorsque vous essayez avec un navigateur à visiter le port 80 du monde extérieur,
il va trier de magie avant port, ou se réorienter,
le port 8080 à l'intérieur de votre serveur lui-même.
>> Donc la dernière chose ici est la commande argument de la ligne, le chemin à l'itinéraire.
Et que je viens dire, ce dossier-je
vouloir dire au serveur à utiliser pour servir des fichiers?
En d'autres termes, si l'utilisateur visite Slash, que doit-il ou elle voir?
Eh bien, allons de l'avant et exécuter exactement cela à nouveau,
cette fois en précisant que je veulent la racine de mon serveur web
soit le répertoire public, qui vient avec problème posé six code de distribution.
Lorsque je tape Entrée, vous verrez en jaune ici, un rappel
quant à ce dossier que je suis en train d'utiliser.
Dans ce cas, il est une longue chaîne, "la maison ubuntu espace de travail pset6 public."
Et ce dernier mot est ce qui est la clé.
Et puis enfin, apparemment, mon serveur est maintenant à l'écoute sur le port 8080.
>> Ce que je vais faire la prochaine est le rappel que dans CS50 ID dans le coin en haut à droite
de votre écran, vous allez voir une URL qui est ide50-username.cs50.io.
Et en effet, si vous cliquez sur que, vous serez emmené
à un autre onglet du navigateur, que, dans ce cas,
va me montrer le contenu de mes serveurs web racines.
En d'autres termes, les fichiers que vous voyez ici, chat dot HTML, chat dot JPEG, favicon dot
ico, bonjour dot HTML, bonjour dot php, et de test,
sont tous de la même contenu que vous verriez
LS avec l'intérieur de mon répertoire public.
Et ce qui est beau est que si je vais avant et cliquez maintenant sur le chat dot HTML,
Je vois chat dot HTML.
Et si je clique sur le chat dot JPEG, ou bonjour dot HTML,
ou même taper mon nom David, puis cliquez sur «dire bonjour»,
vous verrez que tous les fichiers fonctionnent parce que le personnel
solution, bien entendu, installé dans CS50 ID est entièrement fonctionnel.
Donc, il fonctionne exactement comme votre propre solution devrait finalement travailler.
>> En attendant, si nous revenons à mon terminal fenêtre, où je couru la commande du serveur,
remarquez ce que la console a été dit.
Je vois ici que la première demande que Je recevais était littéralement obtenir slash chat
dot HTML, version HTTP 1.1.
Et puis, ce qui en vert la solution du personnel a fait
est il me la montre première ligne de sortie
que le serveur web réagit avec.
En d'autres termes, nous avons déjà écrit le code
qui ouvre cette enveloppe virtuelle, contenant cette requête GET.
Et puis, nous répondons à la utilisateur, mais, en même temps,
imprimer à l'écran de sortie ici HTTP 1.1, 200 OK
pour confirmer ce que nous mettons en l'enveloppe de retour, pour ainsi dire,
que nous envoyons à l'utilisateur.
>> Et qu'est-ce qui se passe ici est que, dans la fenêtre de terminal,
nous courons le web serveur, et, par conséquent, il est
écoute pour HTTP requêtes sur le port TCP 8080.
Pendant ce temps, dans mon navigateur web, comme je clique à travers chaque
de ces fichiers, ou même mon entrée Nom David, puis cliquez sur Envoyer,
qui est mon navigateur parlant au serveur Web.
Et ce que fait le serveur web, puis, dans cette fenêtre de terminal
me montrant exactement la première ligne qui est
été reçu dans un virtuel enveloppe et exactement
la première ligne qui est d'être répondu avec à ce client web.