כותבים מערכות גדולות ומורכבות,
פותרים באגים ומסתדרים לא רע בכלל.
אבל לפעמים, כשמתחילים לדבר לעומק, מגלים שחסר רקע בסיסי אחד שלב אחורה.
אז הנה הסבר קצר וברור,
בלי להתבייש שלא ידעתם קודם,
כי פשוט אף אחד לא הסביר לכם...
קריאת HTTP מה זה בעצם?
בדיוק כמו שאפשר להתקשר מפלאפון לפלאפון והקול עובר ממקום למקום,
אפשר גם להעביר נתונים בין מחשב למחשב דרך האינטרנט.
הדרך הזו נקראת קריאת HTTP.
לכל קריאה יש תמיד שלושה חלקים:
ב request יש:
Header – מידע על הבקשה
Body – תוכן הבקשה עצמה
Method – מהי סוג הבקשה האם get, put, post וכו'.
ב response יש:
Header – מידע על הבקשה
Body – תוכן הבקשה עצמה
Status Code – קוד שמסמן מה קרה
כשנקודה אחת פונה לנקודה שנייה, זה נקרא Request.
כשהנקודה השנייה מסיימת ומחזירה תשובה - בין אם הצליחה ובין אם לא, זה נקרא Response.
Web API מה זה?
Web API היא היכולת לגשת לפונקציה ספציפית שיושבת על שרת מרוחק,
דרך האינטרנט. למשל, מהמחשב שלי אני קוראת לפונקציה שמאוחסנת בשרת אחר.
כל פונקציה כזו שחשופה לאינטרנט ומגיבה לקריאות HTTP – היא Web API.
REST API מה ההבדל?
REST API הוא פשוט פרוטוקול:
סט של כללים מוסכמים לכתיבת Web API.
למה צריך כללים? כי כשמפרסמים Web API, רוצים שמערכות שונות יוכלו להשתמש בו בקלות.
נניח שחברת תעופה מפרסמת API עם זמני טיסות
היא רוצה שאתרי סוכני הנסיעות יוכלו לעבוד איתו
בלי לקרוא תיעוד של עשרות עמודים.
כאן REST נכנס לתמונה: כשה API עומד בסטנדרט, כולם כבר יודעים מהם הכללים.
לדוגמה, Status Code 401 מסמן בכל מקום שחסרה הזדהות. זה אוניברסלי.
אם מפתח לא טורח להחזיר את קודי הסטטוס הנכונים
ה-API שלו אינו REST, וכל מי שמשתמש בו עלול להיתקל בבעיות,
כי המערכות מניחות שהוא עובד לפי הכללים.
לסיכום,
HTTP היא הדרך להעביר נתונים דרך האינטרנט.
Web API היא פונקציה שחשופה לקריאות HTTP.
REST API היא Web API שנכתבה לפי סטנדרט מוסכם מה שהופך אותה לקלה יותר לשימוש ולאינטגרציה.
מקווה שהדברים התבהרו קצת
הנושאים החמים