1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> SPEAKER 1: בסדר, בואו לקחת נראה כיצד פתרון צוות בפועל 3 00:00:02,660 --> 00:00:04,760 פועל, כך שאתה לקבל תחושה, ראשון מ 4 00:00:04,760 --> 00:00:06,930 איך שרת האינטרנט אמור לרוץ, ואיך בעצם אתה יכול 5 00:00:06,930 --> 00:00:08,480 לקבל את זה פועל במחשב שלך. 6 00:00:08,480 --> 00:00:09,350 אז לדמיין את זה כאן. 7 00:00:09,350 --> 00:00:13,640 אני כבר התקנתי בCS50 זיהוי zip pset6 נקודה, למפרט. 8 00:00:13,640 --> 00:00:16,197 אני כבר פתחתי את הרוכסן, ויש לי CDed לתוך ספריית pset6. 9 00:00:16,197 --> 00:00:18,780 אחד הדברים הראשונים שאתה הולך רוצה לעשות, במיוחד 10 00:00:18,780 --> 00:00:22,010 שלך אם כבר משתמש IDE CS50 לשחק יחד עם ההרצאות האחרונות, שבי 11 00:00:22,010 --> 00:00:25,640 אנחנו כבר באמצעות PHP ב CS50 IDE, במיוחד, 12 00:00:25,640 --> 00:00:29,050 באמצעות שרת האינטרנט שנקרא Apache, לפיה ניתן להתחיל ולהפסיק אותו 13 00:00:29,050 --> 00:00:30,910 עם הפקודה ש, Apache 50. 14 00:00:30,910 --> 00:00:34,160 ראשית, קדימה, הקלד "תחנת האפצ'י 50" 15 00:00:34,160 --> 00:00:37,370 רק כדי לוודא שאם היית הבא יחד בימים האחרונים, 16 00:00:37,370 --> 00:00:40,090 ואתה הפך באפצ'י, אתה מפנה אותו בדרך זו 17 00:00:40,090 --> 00:00:41,360 על ידי עצירת השרת. 18 00:00:41,360 --> 00:00:44,110 עכשיו, מה אני הולך לעשות בדיוק מה המפרט אומר לי לעשות. 19 00:00:44,110 --> 00:00:49,770 אני מתכוון ללכת לקו נטוי CS50 טילדה שרת נטוי pset6, ורק על Enter. 20 00:00:49,770 --> 00:00:52,840 תוכל להבחין כי אני צעקתי על עם קצת מידע שימוש, לפיה 21 00:00:52,840 --> 00:00:54,960 אני צריך להיות פועל התכנית כשרת 22 00:00:54,960 --> 00:00:58,230 עם p מקף אופציונאלי ולאחר מכן מספר יציאה, שבו אתה בעצם יכול 23 00:00:58,230 --> 00:01:00,720 להשאיר ריק כי על ידי ברירת מחדל, למפרט, 24 00:01:00,720 --> 00:01:04,010 שרת האינטרנט הולך תניח שאתה רוצה יציאה 8080. 25 00:01:04,010 --> 00:01:07,560 בינתיים, אתה אולי זוכר ש היציאה 8080 היא לא ממש סטנדרטית, 26 00:01:07,560 --> 00:01:09,380 ולא יציאה 80 היא מספר שדיברנו 27 00:01:09,380 --> 00:01:11,440 על להיות ברירת המחדל עבור HTTP. 28 00:01:11,440 --> 00:01:14,870 ובכן, מתברר שCS50 IDE פשוט מוגדר בצורה, 29 00:01:14,870 --> 00:01:18,730 כך שכאשר אתה עם דפדפן לנסות לבקר יציאה 80 מהעולם החיצוני, 30 00:01:18,730 --> 00:01:22,210 זה הולך למיין של קסם יציאה קדימה, או להפנות את עצמו, 31 00:01:22,210 --> 00:01:25,200 לבתוך 8080 יציאה של השרת שלך עצמו. 32 00:01:25,200 --> 00:01:29,330 >> אז הדבר האחרון שכאן היא הפקודה קו טיעון, בדרך למסלול. 33 00:01:29,330 --> 00:01:31,590 ועל ידי שאני רק כלומר, מה לעשות אני תיקייה 34 00:01:31,590 --> 00:01:34,820 רוצה לומר לשרת להשתמש כדי לשרת את קבצים? 35 00:01:34,820 --> 00:01:39,030 במילים אחרות, אם המשתמש מבקר ב לחתוך, מה שהוא או היא צריך לראות? 36 00:01:39,030 --> 00:01:41,030 ובכן, בואו נלך קדימה ו לרוץ בדיוק את זה שוב, 37 00:01:41,030 --> 00:01:43,940 זה זמן לציין שאני רוצה השורש של שרת האינטרנט שלי 38 00:01:43,940 --> 00:01:48,210 להיות הספרייה הציבורית, שמגיע עם בעיה להגדיר קוד הפצה שש. 39 00:01:48,210 --> 00:01:50,620 כשאני על Enter, תראה בצהוב כאן, תזכורת 40 00:01:50,620 --> 00:01:52,260 על מה תיקייה אני למעשה משתמש. 41 00:01:52,260 --> 00:01:55,870 במקרה זה, זה מחרוזת ארוכה, "ציבור pset6 סביבת העבודה של אובונטו הבית." 42 00:01:55,870 --> 00:01:57,500 וכי המילה האחרונה היא מה מפתח. 43 00:01:57,500 --> 00:02:01,180 ואז לבסוף, ככל הנראה, שלי שרת של החברה ההאזנה ביציאה 8080. 44 00:02:01,180 --> 00:02:05,860 >> מה אני הבא אני הולך לעשות הוא זוכר ש בתעודת זהות CS50 בפינה הימנית העליונה 45 00:02:05,860 --> 00:02:09,440 של המסך, אתה הולך לראות כתובת אתר שהוא ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 ואכן, אם תלחץ על כי, אתה תהיה לקחת משם 48 00:02:15,080 --> 00:02:17,090 לכרטיסיית דפדפן אחרת, כי, במקרה זה, 49 00:02:17,090 --> 00:02:20,830 הוא הולך להראות לי את התוכן שורשי שרתי אינטרנט שלי. 50 00:02:20,830 --> 00:02:24,770 במילים אחרות, את הקבצים שאתה רואה כאן, נקודת HTML חתול, חתול הנקודה JPEG, נקודת favicon 51 00:02:24,770 --> 00:02:27,690 ICO, שלום הנקודה HTML, שלום PHP נקודה, ובדיקה, 52 00:02:27,690 --> 00:02:29,800 כל של אותו תוכן שהיית רואה 53 00:02:29,800 --> 00:02:32,560 עם LS הפנימי של הספרייה הציבורית שלי. 54 00:02:32,560 --> 00:02:36,790 ומה נחמד הוא שאם אני הולך קדימה ולחץ עכשיו על נקודת HTML חתול, 55 00:02:36,790 --> 00:02:38,710 אני רואה נקודת חתול HTML. 56 00:02:38,710 --> 00:02:42,660 ואם אני לוחץ על נקודת חתול JPEG, או נקודת שלום HTML, 57 00:02:42,660 --> 00:02:46,650 או אפילו להקליד את השם שלי דוד, ולאחר מכן לחץ על "להגיד שלום," 58 00:02:46,650 --> 00:02:49,420 תראה שכל קבצים לעבוד כי צוות 59 00:02:49,420 --> 00:02:52,820 פתרון, כמובן, הותקן בCS50 זיהוי הוא מתפקד במלואה. 60 00:02:52,820 --> 00:02:57,090 כך זה עובד בדיוק כמו שלך פתרון סופו של דבר צריך לעבוד. 61 00:02:57,090 --> 00:03:00,990 >> בינתיים, אם נחזור למסוף שלי חלון, שבו אני רץ את פקודת השרת, 62 00:03:00,990 --> 00:03:03,410 שים לב למה הקונסולה כבר אמרה. 63 00:03:03,410 --> 00:03:07,890 אני רואה כאן שהבקשה הראשונה ש קבלתי ממש היה מקבל קו נטוי חתול 64 00:03:07,890 --> 00:03:10,260 נקודת HTML, גרסת HTTP 1.1. 65 00:03:10,260 --> 00:03:12,600 ולאחר מכן, בירוק מה פתרון צוות עשה 66 00:03:12,600 --> 00:03:14,580 הוא זה שהראה לי הקו הראשון של פלט 67 00:03:14,580 --> 00:03:16,340 כי שרת האינטרנט מגיב עם. 68 00:03:16,340 --> 00:03:18,300 במילים אחרות, יש לנו כבר כתב את הקוד 69 00:03:18,300 --> 00:03:21,530 שנפתחת שמעטפה וירטואלית, מכיל שבקשת הגט. 70 00:03:21,530 --> 00:03:23,980 ואז אנחנו מגיבים ל משתמשים אבל, בו זמנית, 71 00:03:23,980 --> 00:03:28,780 להדפיס לפלט המסך כאן HTTP 1.1, 200 אישור 72 00:03:28,780 --> 00:03:31,900 כדי לאשר את מה שאנחנו מכניסים ב מעטפת ההחזרה, אם אפשר לומר כך, 73 00:03:31,900 --> 00:03:33,540 כי אנחנו שולחים בחזרה למשתמש. 74 00:03:33,540 --> 00:03:36,200 >> ואז מה קורה כאן כי בחלון המסוף, 75 00:03:36,200 --> 00:03:38,510 אנחנו רצים באינטרנט שרת, ולכן, זה 76 00:03:38,510 --> 00:03:42,480 האזנה לHTTP בקשות על יציאת TCP 8080. 77 00:03:42,480 --> 00:03:44,960 בינתיים, בדפדפן האינטרנט שלי, כאני לוחץ דרך כל 78 00:03:44,960 --> 00:03:48,480 של אותם קבצים, או אפילו קלט שלי שם דוד, ולאחר מכן לחץ על שלח, 79 00:03:48,480 --> 00:03:51,827 שהדפדפן שלי מדבר לשרת האינטרנט. 80 00:03:51,827 --> 00:03:54,410 ומה עושה את של שרת האינטרנט, לאחר מכן, שבחלון המסוף 81 00:03:54,410 --> 00:03:56,370 הוא מראה לי בדיוק הקו הראשון זה 82 00:03:56,370 --> 00:03:58,540 התקבל בוירטואלי מעטפה ובדיוק 83 00:03:58,540 --> 00:04:02,870 הקו הראשון זה להיות הגיב שללקוח האינטרנט.