ΟΜΙΛΗΤΗΣ 1: Εντάξει, ας ρίξουμε μια ματιά στο πώς η λύση προσωπικό πραγματικότητα λειτουργεί, έτσι ώστε να να πάρετε μια αίσθηση, πρώτα από πώς υποτίθεται ότι ο web server να τρέξει, και πώς μπορείτε πραγματικά να να πάρει το τρέξιμο στον υπολογιστή σας. Έτσι εικόνα εδώ. Έχω ήδη εγκατασταθεί σε CS50 ID pset6 φερμουάρ τελεία, σύμφωνα με την προδιαγραφή. Έχω αποσυμπιεστεί, και έχω CDed σε κατάλογο pset6 μου. Ένα από τα πρώτα πράγματα που είστε πρόκειται να θέλουν να κάνουν, ειδικά αν έχετε χρησιμοποιήσει ένα IDE CS50 για να παίξετε μαζί με τις πρόσφατες ομιλίες, όπου έχουμε τη χρήση της PHP σε CS50 IDE, ειδικά, χρησιμοποιώντας αυτό το web server που ονομάζεται Apache, το οποίο μπορείτε να ξεκινήσετε και να σταματήσετε την με αυτήν την εντολή, Apache 50. Κατ 'αρχάς, να προχωρήσει και να πληκτρολογήστε "Apache 50 stop" ακριβώς για να βεβαιωθείτε ότι αν ήταν μετά μαζί τις τελευταίες ημέρες, και γύρισε σε Apache, είστε απενεργοποίησή με αυτόν τον τρόπο από τη διακοπή του διακομιστή. Τώρα, τι Πάω να κάνουμε είναι ακριβώς ποια είναι η spec μου λέει να κάνω. Πάω να πάει στο Tilda CS50 κάθετο pset6 διακομιστή κάθετος, και απλά πατήστε Enter. Θα παρατηρήσετε ότι είμαι φώναξε σε με κάποιες πληροφορίες χρήσης, σύμφωνα με την οποία Θα πρέπει να λειτουργεί το πρόγραμμα ως διακομιστής με ένα προαιρετικό p παύλα και στη συνέχεια μια αριθμό θύρας, το οποίο μπορείτε πραγματικά να αφήστε κενό επειδή από προεπιλογή, σύμφωνα με την προδιαγραφή, ο web server θα ας υποθέσουμε ότι θέλετε θύρα 8080. Εν τω μεταξύ, μπορείτε να υπενθυμίσουμε ότι θύρα 8080 δεν είναι πραγματικά πρότυπο, μάλλον θύρα 80 είναι η Αριθμός έχουμε μιλήσει για να είναι η προεπιλογή για το HTTP. Λοιπόν, αποδεικνύεται ότι CS50 IDE είναι απλά διαμορφωμένη με έναν τρόπο, έτσι ώστε όταν με ένα πρόγραμμα περιήγησης δοκιμάσετε να επισκεφθεί το λιμάνι 80 από τον έξω κόσμο, πρόκειται να είδος μαγείας λιμάνι προς τα εμπρός, ή να ανακατευθύνουν το ίδιο, στη θύρα 8080 στο εσωτερικό του ίδιου διακομιστή σας. Έτσι, το τελευταίο πράγμα εδώ είναι η εντολή επιχείρημα γραμμή, ο δρόμος προς την διαδρομή. Και από ότι έχω μόνο Δηλαδή, τι μπορώ να κάνω φάκελο Θέλετε να πείτε στον διακομιστή να χρησιμοποιήσει προκειμένου να εξυπηρετήσει τα αρχεία; Με άλλα λόγια, εάν ο χρήστης επισκέπτεται κάθετος, τι πρέπει αυτός ή αυτή δούμε; Λοιπόν, ας πάμε μπροστά και να τρέχει ακριβώς ότι και πάλι, αυτή τη φορά διευκρινίζοντας ότι εγώ θέλουν τη ρίζα του web server μου να είναι το κοινό κατάλογο, που έρχεται με το πρόβλημα που έξι κωδικό διανομής. Όταν πατήσετε το Enter, θα δείτε σε κίτρινο εδώ, μια υπενθύμιση ως προς το τι φάκελο Είμαι πραγματικά χρήση. Σε αυτήν την περίπτωση, πρόκειται για μια μακρά σειρά, "σπίτι ubuntu δημόσιο χώρο εργασίας pset6." Και ότι τελευταία λέξη είναι αυτό που είναι το κλειδί. Και στη συνέχεια, τέλος, προφανώς, μου διακομιστής είναι τώρα ακρόαση στη θύρα 8080. Τι είμαι δίπλα πρόκειται να κάνουμε είναι να υπενθυμίσει ότι το αναγνωριστικό CS50 στην επάνω δεξιά γωνία της οθόνης σας, θα πάμε να δούμε μια διεύθυνση URL που είναι ide50-username.cs50.io. Και πράγματι, αν κάνετε κλικ στο κουμπί ότι, θα πρέπει να φυγαδεύεται σε μια άλλη καρτέλα του προγράμματος περιήγησης, ότι, στην περίπτωση αυτή, πρόκειται να μου δείξει τα περιεχόμενα διακομιστές web μου ρίζες. Με άλλα λόγια, τα αρχεία που βλέπετε εδώ, γάτα dot HTML, τελεία γάτα JPEG, favicon dot ico, γεια dot HTML, γεια dot php, και δοκιμή, είναι όλα από το ίδιο περιεχόμενο που θα δείτε με LS εσωτερικό του δημόσιου καταλόγου μου. Και τι ωραίο είναι ότι αν πάω μπροστά και κάντε κλικ τώρα για τη γάτα dot HTML, Βλέπω τελεία γάτα HTML. Και αν κάνω κλικ στην κουκίδα γάτα JPEG, ή γεια dot HTML, ή ακόμα και πληκτρολογήστε το όνομα μου Δαβίδ, και στη συνέχεια κάντε κλικ στο κουμπί "πω ένα γεια," θα δείτε ότι όλα τα αρχεία λειτουργήσει επειδή το προσωπικό λύση, φυσικά, εγκατεστημένο σε CS50 ID είναι πλήρως λειτουργικό. Έτσι λειτουργεί ακριβώς όπως το δικό σας λύση θα πρέπει τελικά να λειτουργήσει. Εν τω μεταξύ, αν πάμε πίσω στο τερματικό μου παράθυρο, όπου έτρεξα την εντολή server, παρατηρήσετε τι έχει πει η κονσόλα. Βλέπω εδώ ότι η πρώτη αίτηση που Έλαβα κυριολεκτικά πάρει κάθετο γάτα dot HTML, έκδοση HTTP 1.1. Και τότε, σε ό, τι πράσινο η λύση του προσωπικού έχει γίνει είναι αυτό είναι που μου το δείχνει πρώτη γραμμή εξόδου ότι ο web server ανταποκρίνεται με. Με άλλα λόγια, έχουμε ήδη γράψει τον κωδικό ότι ανοίγει τον εικονικό φάκελο, που περιέχουν την εν λόγω αίτηση GET. Και τότε θα ανταποκριθούν στην χρήστη, αλλά, ταυτόχρονα, εκτύπωση στην οθόνη εξόδου εδώ HTTP 1.1, 200 OK να επιβεβαιώσει ό, τι είμαστε σε θέση το φάκελο επιστροφής, να το πω έτσι, ότι θα στείλουμε πίσω στο χρήστη. Και έτσι αυτό που συμβαίνει εδώ είναι ότι στο παράθυρο τερματικού, είμαστε τρέχει στο διαδίκτυο server, και, ως εκ τούτου, είναι ακούγοντας για το HTTP αιτήσεις στη θύρα TCP 8080. Εν τω μεταξύ, στο web browser μου, όπως κάνω κλικ μέσα από κάθε από αυτά τα αρχεία, ή ακόμα και συμβολή μου το όνομα Δαβίδ, και στη συνέχεια κάντε κλικ στο κουμπί Υποβολή, ότι ο φυλλομετρητής μου μιλώντας με τον web server. Και τι κάνει η web server, Στη συνέχεια, σε αυτό το παράθυρο τερματικού που μου δείχνει ακριβώς η πρώτη γραμμή που είναι έχουν ληφθεί σε ένα εικονικό φάκελο και ακριβώς η πρώτη γραμμή που είναι να ανταποκρίθηκε με αυτό το web με τον πελάτη.