
הטקסט המלא של הדקות הראשונות בהרצאה «פרוטוקול HTTP הסבר על Request» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
מה שאנחנו הולכים לראות הפעם ואת הנושא של request ו-response. בואו נבין קודם כל מה זה request ומה זה רספונס. נחזור על הציור שציירנו, שיעור שעבר.
יש לנו את אותו לקוח, נצייר אותו פה כבן אדם, שגולש במחשב ובתוך המחשב יש לו דפדפן. הלקוח משתמש בו בדפדפן בכדי לגלוש לאתר אינטרנט.
האתר נמצא במחשב איפשהו בעולם, נחשב כמחשב שרת. מחשב השרת מחזיק את האתרים. אוקיי, יש לנו פה את השרת ויש לנו את הלקוח שגולש אליו.
כאשר הלקוח מבצע גלישה למחשב השרת, מה זה אומר בעצם גלישה למחשב השרת לצורך בקשת דף? זה אומר שישנו מידע טקסטואלי שמגיע ממחשב הלקוח אל מחשב השרת, שמתאר מה בדיוק הלקוח רוצה.
המידע הטקסטואלי הזה נקרא ריקווסט. שרת אז מקבל את המידע הטקסטואלי הזה על ידי פנה שנקראת IIS מבית מיקרוסופט, תוכנה אחרת של חברות אחרות, לדוגמה אפאצ'י.
התוכנה הזאת מאתרת את דף ה-HTML או ה-ASP או ה-ASPX או PHP וכולי שנמצאות במחשב השרת, איפה נמצא בדיוק הדף הזה ומחבירה תשובה למחשב הלקוח.
התשובה הזאת שהשרת מחזיר נקרא ריספונס. אבל מה זאת בדיוק התשובה הזאת?
התשובה הזאת זה גם כן מידע טקסטואלי לחלוטין שמכיל את התשובה שהשרת מחזיר ללקוח. בואו נחשוב מה יכול להיות בריקווסט. בריקווסט עצמו שהלקוח מבקש מהשרת, יש את הדף המבוקש שהלקוח רוצה, יש את כתובת השרת ויש עוד מידע רב בנוגע ללקוח עצמו.
מה כתובת ה-IP שלו, כלומר כתובת המחשב, עוד נתונים שאנחנו נראה בהמשך שנקראים קוקיז וכולי. השרת, כאשר הוא מחזיר תשובה, התשובה שלו מה יכולה להכיל.
אז ברור שהשרת מחזיר דף אינטרנט שהלקוח אמור לראות, ולכן התשובה שהשרת מחזיר, כלומר ה-Response, מכילה כמובן את הדף האינטרנט, אבל היא מכילה עוד כל מיני דברים.
היא יכולה להכיל הוראות שהשרת שולח לדפדפן, היא יכולה להכיל קוקיז שהשרת רוצה לשמור במחשב הלקוח וכולי. בכל מקרה ה-Request זה מידע טקסטואלי שנשלח מהלקוח לשרת, ה-Response זה מידע טקסטואלי שהשרת מחזיר ללקוח.
המילה request באנגלית היא בקשה, המילה response באנגלית היא תגובה או תשובה. בואו נסתכל עכשיו איך אנחנו יכולים להשתמש בנתונים האלה ב-asp.net. יש לנו פה פרויקט asp.net ריק.
בואו נוסיף אליו דף, נקרא לדף הזה Homepage. אוקיי, כאשר הלקוח מבצע גלישה לדף הזה, כמו שאני הולך לבצע עכשיו, מה שקרה זה שהיה גם request, כי ביקשתי דף, וגם ריספונס כי קיבלתי את הדף ואני יכול לראות אותו כאן למעלה.
עכשיו הדף הגיע וכמובן ריק. בואו נסתכל מה עוד אנחנו יכולים להשיג מהמידע הזה של הריקווסט ושל הריספונס. אני אבנה פה לחצן.
נציג את אזור הדיזיין, חסר לי פה run את סרבר. דאבל קליק על הלחצן בדיזיינר גורם לפתיחת אזור הקוד בדיוק באירוע קליק.
אוקיי, בואו נסתכל על נתון מעניין שקיים ב-asp.net. אם אני מסתכל על השרטוט שציירנו מקודם אני רואה שהדפדפן יצר מידע טקסטואלי שנקרא request שנשלח לשרת.
השרת הולך לייצר מידע טקסטואלי שנקרא response ולהחזיר ללקוח. בשרת קיימת fatsp.net. fatsp.net יכולה להיכתב בכל שפה .NETית שהיא כגון csharp או vb.net בקובץ כרגע csharp.
קובץ הC-Sharp מכיל את אירועי צד השרת. אלו האירועים שאנחנו רואים כאן, לדוגמה Page Load, לדוגמה אירוע הלחיצה על הלחצן וכולי. כאשר אני נמצא בצד של השרת ומבצע את האירועים האלה, האם אני יכול להשתמש במידע שהגיע אליי על ידי ה-Request
ולהשתמש במידע שהולך להישלח ללקוח על ידי ה-Response? תשובה כן. כאשר אני נמצא באירועי ה-C-Sharp בצד השרת, הריקווסט כבר הגיע אליי מפני שהלקוח כבר ביקש דף.
אם הוא לא היה מבקש את הדף האירועים לא היו מתבצעים. עצם העובדה שהוא ביקש דף זה אומר שאירועי השרת מתחילים להתבצע. ולכן בצד של השרת בדיוק באזור ה-C-Sharp אני יכול להשתמש במידע של הריקווסט שהגיע מהלקוח.
איך אני עושה את זה? קיים לי מאפיין שנקרא ריקווסט. ריקווסט זה מאפיין שקיים ברמת ה-Page והוא קיים בכל דף הדף שלי שנקרא home page מנוהל על ידי מחלקה שנקראת home page שהיא הורשת את page ולכן יש לי אפשרות להשתמש במאפיין request אם אני לוחץ נקודה אני רואה שהמאפיין הזה הוא ממש מאפיין ענק שמכיל המון המון המון דברים כל הדברים האלה זה מידע
שהגיע ב-request בואו נראה כמה דברים לדוגמה browser type אני יכול לדעת מה בדיוק סוג