מבנה של בקשה
שיעור 20 מתוך 47 בקורס עבודה עם רשתות דרך הטרמינל של Coddy.
מתחת ל־curl, בקשת HTTP היא טקסט פשוט שנשלח דרך שקע. היא מתחילה בשורה אחת שמציינת מה רוצים:
GET /index.html HTTP/1.1שלושה חלקים: השיטה (איזה סוג פעולה), הנתיב (איזה פריט) והגרסה. אחריהם באות הכותרות, אחת בכל שורה, ואז שורה ריקה ואז גוף אופציונלי.
השורה הריקה אינה קישוט. כך השרת יודע שהכותרות הסתיימו ושהגוף, אם יש כזה, מתחיל. בקשה בלעדיה נתקעת, כי השרת עדיין מחכה לקבל את שאר הנתונים.
אפשר לשלוח בקשה ידנית. nc פותח חיבור גולמי וכל מה שמזינים אליו נשלח ישירות דרך הרשת:
printf 'GET / HTTP/1.0\r\n\r\n' | nc 127.0.0.1 9110\r\n הוא סיום השורה ש־HTTP דורש, והכפול הוא השורה הריקה.
אתגר
קשהדלגו לגמרי על curl ודברו ישירות ב־HTTP.
- צרו את
index.htmlהמכילraw - הגישו את התיקייה בפורט 9110
- שלחו בקשת
GET /index.html HTTP/1.0גולמית דרךncוהדפיסו רק את השורה הראשונה של התשובה
השורה הראשונה היא שורת הסטטוס של השרת. הפלט הצפוי:
HTTP/1.0 200 OKזכרו את השורה הריקה:
printf 'GET /index.html HTTP/1.0\r\n\r\n'.
נסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה עבודה עם רשתות דרך הטרמינל
תרגלו בעצמכם: Terminal אונליין