On this page
מערך שיעור: HTTP — Request, Response, Status Codes
משך: 2 שעות אקדמיות (90 דקות).
מטרת השיעור: הסטודנטים יבינו את מבנה HTTP Request/Response ואת המוסכמות של Methods ו-Status Codes, כבסיס ליחידת ASP.NET Core כולה.
בסוף השיעור הסטודנטים צריכים: לבחור Method נכון לפעולה נתונה, לפרש Status Code בקטגוריה הנכונה (2xx/4xx/5xx), ולהסביר מה ההבדל בין Request ל-Response.
דגש קריטי: זהו שיעור הפתיחה של יחידת ASP.NET Core — אין עדיין קוד C# בכלל, רק הבנת הפרוטוקול. אל תמהרו לקוד, הבסיס הזה חייב להיות מוצק.
מהלך השיעור
| חלק בשיעור | משך | הערות ודגשים |
|---|---|---|
| פתיחה וחיבור | 5 דקות | שאלו: “מה קורה בפועל כשלוחצים על קישור באתר?” |
| הרעיון: Request/Response | 20 דקות | מבנה, כתבו דוגמה מלאה על הלוח |
| HTTP Methods | 20 דקות | GET/POST/PUT/DELETE, קשרו לפעולות CRUD מוכרות |
| Status Codes | 25 דקות | קטגוריות 2xx/4xx/5xx, הדגישו 401 מול 403 |
| הדגמה חיה: DevTools | 10 דקות | פתחו אתר אמיתי, הראו Network tab עם בקשות אמיתיות |
| תרגול מודרך | 10 דקות | תרגיל 1+2 |
דגשים להעברת השיעור
- הדגמה חיה ב-DevTools (טאב Network בדפדפן) על אתר אמיתי היא הרגע שהופך את כל הנושא ממופשט למוחשי — אל תדלגו עליה אם יש זמן.
- ההבחנה
401מול403היא מלכודת קלאסית בראיונות עבודה — הקדישו לה זמן נפרד:401= “אני לא יודע מי אתה” (לא מחובר);403= “אני יודע מי אתה, ואתה לא רשאי” (מחובר אך חסר הרשאה). - אין עדיין קוד ASP.NET Core בשיעור הזה — זה מכוון. הבנת הפרוטוקול לפני התחביר מונעת “לימוד תחביר בלי להבין למה”.
מושגים
HTTP Request/Response — הודעת בקשה/תשובה בין לקוח לשרת. HTTP Method — GET/POST/PUT/DELETE, מבטא כוונת פעולה. Status Code — קוד תלת-ספרתי שמסכם תוצאה: 2xx/4xx/5xx.
תרגיל חשיבה
שאלת פתיחה: “אם שרת מחזיר תמיד 200 OK — גם כשמשהו נכשל, גם כשמשתמש לא נמצא — מה הבעיה עבור מי שכותב את הלקוח (frontend) שמדבר איתו?”
מהלך: הובילו לתובנה: הלקוח חייב לפרש כל תשובה בעצמו (לקרוא את ה-Body ולנחש אם זו שגיאה) במקום לסמוך על קוד סטטוס אמין. זה מבטל את כל התועלת של Status Codes — הם קיימים בדיוק כדי שלקוח יוכל להחליט מיד, בלי לפרש תוכן חופשי, אם הבקשה הצליחה.
מה המרצה מראה בסוף: פתחו DevTools על אתר אמיתי, בצעו כמה פעולות (ניווט, טעינת עמוד, אולי שליחת טופס), והראו את הבקשות בטאב Network — Method, Status Code, Headers ו-Body האמיתיים, לא רק דוגמה תיאורטית על הלוח.