RFC 10008: שיטת ה-HTTP QUERY החדשה
מפתחים נתקלים בבעיה בעת שליפת נתונים מורכבים. אתם רוצים להשתמש ב-GET, אך יש לו מגבלות. אתם רוצים להשתמש ב-POST, אך זהו לא הכלי המתאים למשימה. RFC 10008 מציע פתרון חדש: שיטת ה-QUERY.
הקושי הנוכחי עם GET:
- מגבלות URL: דפדפנים ושרתים מגבילים את אורך ה-URL. פילטרים גדולים עלולים לשבש את הבקשות שלכם.
- מבנה מבולגן: GET משתמש בזוגות פשוטים של מפתח-ערך (key-value). שליחת אובייקטי JSON מקוננים היא משימה קשה.
- סיכוני פרטיות: פרמטרי שאילתה (Query parameters) מופיעים בלוגים של השרת ובהיסטוריית הדפדפן.
הקושי הנוכחי עם POST:
- סמנטיקה שגויה: POST מודיע לשרת שאתם רוצים ליצור או לשנות נתונים.
- בעיות זיכרון מטמון (Caching): רוב המערכות אינן שומרות בקשות POST בזיכרון מטמון. זה מאט את האפליקציה שלכם.
שיטת ה-QUERY משנה זאת. היא מאפשרת לכם לשלוח גוף בקשה (request body) לצורך שליפת נתונים. היא שומרת על ה-API שלכם נקי ועוקבת אחר הכללים המתאימים.
היתרונות של שיטת ה-QUERY:
- שימוש בגופים (bodies) מורכבים: ניתן לשלוח אובייקטי JSON מלאים עבור פילטרים של חיפוש.
- שמירה על בטיחות: היא אינה משנה את מצב השרת (server state).
- שיפור מהירות: היא מאפשרת זיכרון מטמון (caching) יעיל, בדומה לשיטת ה-GET.
הפסיקו לאלץ את POST לבצע את העבודה של GET. שיטת ה-QUERY מספקת דרך לשלוף נתונים עשירים מבלי להפר את תקני ה-HTTP.
מקור: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo