כתיבת תגובה
שיעור 24 מתוך 47 בקורס עבודה עם רשתות דרך הטרמינל של Coddy.
קראת הרבה תגובות. עכשיו כתוב אחת.
nc -l מאזין בפורט, וכל מה שתזין בקלט שלו נשלח ללקוח הראשון שמתחבר. כך אתה הופך לשרת, בלי מעורבות של שרת אינטרנט כלל:
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nhand written' | nc -l -p 9114 &תסתכל על מה שיש כאן: שורת סטטוס, כותרת אחת, שורה ריקה, ואז גוף ההודעה. בדיוק המבנה שקראת עד עכשיו, מוקלד ידנית.
כעת כל דבר שמתקשר באמצעות HTTP יקבל אותו. כוונו את curl אל הפורט והוא ידווח על 200 רגיל לחלוטין עם גוף מסוג text/plain, כי זה כל מה ששרת אינטרנט עושה אי פעם: כותב טקסט בצורה הזאת.
הטריק הזה שימושי מאוד בעבודה. כשצריך לראות מה משהו שולח לך, הצב בדרכו nc -l וקרא את הבקשה שהוא שולח.
אתגר
מומחההיה השרת, באופן ידני.
השתמשו ב-nc -l בפורט 9114, והגישו תגובה ששורת הסטטוס שלה היא HTTP/1.1 200 OK, עם כותרת Content-Type: text/plain וגוף שמכיל בדיוק את hand written. לאחר מכן אחזרו אותה באמצעות curl והדפיסו את הגוף.
הפלט הצפוי:
hand writtenהשתמשו ב-
printfעם סיומות שורה\r\n, וזכרו את השורה הריקה לפני הגוף.
נסו בעצמכם
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה עבודה עם רשתות דרך הטרמינל
תרגלו בעצמכם: Terminal אונליין