PracticU

פרוטוקול HTTP הסבר על Request

בלי כתוביותעם כתוביות
PracticU › קורס ASP.NET › פרוטוקול HTTP הסבר על Request
מילון מושגים:
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
תגובה - המידע שהשרת מחזיר ללקוח בתשובה לבקשה, הכולל בדרך כלל נתונים וקוד סטטוס.
C# - שפת תכנות מונחית עצמים של מיקרוסופט, המשמשת בעיקר לפיתוח יישומים על פלטפורמת .NET.
IIS - שרת האינטרנט של מיקרוסופט (Internet Information Services), המריץ אתרים ויישומי אינטרנט על Windows.
עוגייה - קובץ קטן שאתר שומר בדפדפן כדי לזכור מידע על המשתמש בין בקשות, למשל מצב התחברות או העדפות.
HTML - שפת הסימון שבה בונים את מבנה ותוכן דפי האינטרנט, באמצעות תגיות שמגדירות כותרות, פסקאות, קישורים ועוד.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
CSS - שפת עיצוב שקובעת את המראה של דפי אינטרנט: צבעים, גופנים, מיקום וסידור הרכיבים.

פרוטוקול HTTP הסבר על Request
השיעור עוסק בבקשה (Request) ובתשובה (Response) בין הדפדפן לשרת, ובאופן שבו ASP.NET חושפת את המידע הזה לקוד C#.
מה זה Request ומה זה Response
הדפדפן שולח לשרת מידע טקסטואלי שמתאר מה הלקוח רוצה. זו הבקשה. תוכנת השרת, כמו IIS, מאתרת את הדף המבוקש ומחזירה תשובה. התשובה היא גם היא מידע טקסטואלי, והיא מכילה את הדף, וגם הוראות לדפדפן ולעתים קוקיז.
בבקשה נמצאים הדף המבוקש, כתובת השרת, כתובת ה-IP של הלקוח ונתונים נוספים על הלקוח. בתשובה נמצא הדף שהלקוח אמור לראות וכל מה שהשרת רוצה להעביר לדפדפן.
נתונים מהבקשה
1. Request.Browser.Type: מחזיר את סוג הדפדפן של הלקוח. בהדגמה הופיע IE 8.
2. Request.Path: מחזיר את הנתיב של הדף שאליו נגלש.
3. Request.UserHostAddress: מחזיר את כתובת ה-IP של הלקוח. בהדגמה, כשהשרת והלקוח על אותו מחשב, הכתובת הייתה 127.0.0.1.
הנתונים האלה זמינים בכל אירוע C# בצד השרת, כי הבקשה כבר הגיעה לשרת כשהאירועים מתחילים לרוץ.
Response בצד השרת
1. Response.Write: כותב טקסט לתשובה. הטקסט מופיע לפני ה-HTML של הדף, ולכן הוא לא נכון לשימוש בסביבת פרודקשן. כלי זה מתאים לבדיקה ולדיבאג בלבד, כי הוא יכול לשבור את מבנה ה-HTML ואת ה-CSS.
2. Response.Redirect: שולח לדפדפן הוראה לגלוש לכתובת אחרת. אפשר לתת כתובת חיצונית, כמו גוגל, או נתיב יחסי לדף אחר באתר, למשל products.aspx. הדפדפן מבצע גלישה חדשה לכתובת שנתנו.
שרשרת הבקשות
בדוגמה של Redirect יש שלוש גלישות לשרת: הטעינה הראשונה של הדף, לחיצה על לחצן ששולחת בקשה לשרת, וגלישה שלישית שהדפדפן מבצע לפי ההוראה של Redirect.
בסוף השיעור הסטודנט יודע לקרוא את פרטי הבקשה מהשרת, לכתוב תשובה לדפדפן ולהפנות אותו לדף אחר.
השיעור הבא בקורס: Page Events - אורך חיי דף וארועי הדף

פרקי ההרצאה: פרוטוקול HTTP הסבר על Request

  1. 00:00

    מהם Request ו-Response

  2. 01:35

    המידע הטקסטואלי של Request

  3. 03:18

    מה מכיל ה-Request

  4. 03:58

    מה מכיל ה-Response

  5. 05:00

    הוספת דף בפרוייקט ASP.NET

  6. 08:50

    שימוש במאפיין Request בקוד

תמלול ההרצאה: פרוטוקול HTTP הסבר על Request

הטקסט המלא של הדקות הראשונות בהרצאה «פרוטוקול HTTP הסבר על Request» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    מה שאנחנו הולכים לראות הפעם ואת הנושא של request ו-response. בואו נבין קודם כל מה זה request ומה זה רספונס. נחזור על הציור שציירנו, שיעור שעבר.

  2. 00:17

    יש לנו את אותו לקוח, נצייר אותו פה כבן אדם, שגולש במחשב ובתוך המחשב יש לו דפדפן. הלקוח משתמש בו בדפדפן בכדי לגלוש לאתר אינטרנט.

  3. 00:40

    האתר נמצא במחשב איפשהו בעולם, נחשב כמחשב שרת. מחשב השרת מחזיק את האתרים. אוקיי, יש לנו פה את השרת ויש לנו את הלקוח שגולש אליו.

  4. 01:12

    כאשר הלקוח מבצע גלישה למחשב השרת, מה זה אומר בעצם גלישה למחשב השרת לצורך בקשת דף? זה אומר שישנו מידע טקסטואלי שמגיע ממחשב הלקוח אל מחשב השרת, שמתאר מה בדיוק הלקוח רוצה.

  5. 01:39

    המידע הטקסטואלי הזה נקרא ריקווסט. שרת אז מקבל את המידע הטקסטואלי הזה על ידי פנה שנקראת IIS מבית מיקרוסופט, תוכנה אחרת של חברות אחרות, לדוגמה אפאצ'י.

  6. 02:21

    התוכנה הזאת מאתרת את דף ה-HTML או ה-ASP או ה-ASPX או PHP וכולי שנמצאות במחשב השרת, איפה נמצא בדיוק הדף הזה ומחבירה תשובה למחשב הלקוח.

  7. 02:48

    התשובה הזאת שהשרת מחזיר נקרא ריספונס. אבל מה זאת בדיוק התשובה הזאת?

  8. 03:18

    התשובה הזאת זה גם כן מידע טקסטואלי לחלוטין שמכיל את התשובה שהשרת מחזיר ללקוח. בואו נחשוב מה יכול להיות בריקווסט. בריקווסט עצמו שהלקוח מבקש מהשרת, יש את הדף המבוקש שהלקוח רוצה, יש את כתובת השרת ויש עוד מידע רב בנוגע ללקוח עצמו.

  9. 03:52

    מה כתובת ה-IP שלו, כלומר כתובת המחשב, עוד נתונים שאנחנו נראה בהמשך שנקראים קוקיז וכולי. השרת, כאשר הוא מחזיר תשובה, התשובה שלו מה יכולה להכיל.

  10. 04:10

    אז ברור שהשרת מחזיר דף אינטרנט שהלקוח אמור לראות, ולכן התשובה שהשרת מחזיר, כלומר ה-Response, מכילה כמובן את הדף האינטרנט, אבל היא מכילה עוד כל מיני דברים.

  11. 04:27

    היא יכולה להכיל הוראות שהשרת שולח לדפדפן, היא יכולה להכיל קוקיז שהשרת רוצה לשמור במחשב הלקוח וכולי. בכל מקרה ה-Request זה מידע טקסטואלי שנשלח מהלקוח לשרת, ה-Response זה מידע טקסטואלי שהשרת מחזיר ללקוח.

  12. 04:50

    המילה request באנגלית היא בקשה, המילה response באנגלית היא תגובה או תשובה. בואו נסתכל עכשיו איך אנחנו יכולים להשתמש בנתונים האלה ב-asp.net. יש לנו פה פרויקט asp.net ריק.

  13. 05:09

    בואו נוסיף אליו דף, נקרא לדף הזה Homepage. אוקיי, כאשר הלקוח מבצע גלישה לדף הזה, כמו שאני הולך לבצע עכשיו, מה שקרה זה שהיה גם request, כי ביקשתי דף, וגם ריספונס כי קיבלתי את הדף ואני יכול לראות אותו כאן למעלה.

  14. 06:11

    עכשיו הדף הגיע וכמובן ריק. בואו נסתכל מה עוד אנחנו יכולים להשיג מהמידע הזה של הריקווסט ושל הריספונס. אני אבנה פה לחצן.

  15. 06:50

    נציג את אזור הדיזיין, חסר לי פה run את סרבר. דאבל קליק על הלחצן בדיזיינר גורם לפתיחת אזור הקוד בדיוק באירוע קליק.

  16. 07:19

    אוקיי, בואו נסתכל על נתון מעניין שקיים ב-asp.net. אם אני מסתכל על השרטוט שציירנו מקודם אני רואה שהדפדפן יצר מידע טקסטואלי שנקרא request שנשלח לשרת.

  17. 07:39

    השרת הולך לייצר מידע טקסטואלי שנקרא response ולהחזיר ללקוח. בשרת קיימת fatsp.net. fatsp.net יכולה להיכתב בכל שפה .NETית שהיא כגון csharp או vb.net בקובץ כרגע csharp.

  18. 08:05

    קובץ הC-Sharp מכיל את אירועי צד השרת. אלו האירועים שאנחנו רואים כאן, לדוגמה Page Load, לדוגמה אירוע הלחיצה על הלחצן וכולי. כאשר אני נמצא בצד של השרת ומבצע את האירועים האלה, האם אני יכול להשתמש במידע שהגיע אליי על ידי ה-Request

  19. 08:30

    ולהשתמש במידע שהולך להישלח ללקוח על ידי ה-Response? תשובה כן. כאשר אני נמצא באירועי ה-C-Sharp בצד השרת, הריקווסט כבר הגיע אליי מפני שהלקוח כבר ביקש דף.

  20. 08:47

    אם הוא לא היה מבקש את הדף האירועים לא היו מתבצעים. עצם העובדה שהוא ביקש דף זה אומר שאירועי השרת מתחילים להתבצע. ולכן בצד של השרת בדיוק באזור ה-C-Sharp אני יכול להשתמש במידע של הריקווסט שהגיע מהלקוח.

  21. 09:06

    איך אני עושה את זה? קיים לי מאפיין שנקרא ריקווסט. ריקווסט זה מאפיין שקיים ברמת ה-Page והוא קיים בכל דף הדף שלי שנקרא home page מנוהל על ידי מחלקה שנקראת home page שהיא הורשת את page ולכן יש לי אפשרות להשתמש במאפיין request אם אני לוחץ נקודה אני רואה שהמאפיין הזה הוא ממש מאפיין ענק שמכיל המון המון המון דברים כל הדברים האלה זה מידע

  22. 09:43

    שהגיע ב-request בואו נראה כמה דברים לדוגמה browser type אני יכול לדעת מה בדיוק סוג

לקורס המלא: קורס ASP.NET אונליין

ההרצאה הקודמת: Controls - פקדים נפוצים - חלק 2

ההרצאה הבאה: Page Events - אורך חיי דף וארועי הדף

הרצאות קשורות מקורסים אחרים

  • פרוטוקול HTTP
  • ביצוע HTTP Request ב-Flutter
  • The Request Code
  • פרוטוקול OSPF - הסבר Router ID

קורסים נוספים במסלול

  • קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט
  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio