OPTIONS שואלת שרתים "מה אני יכול לעשות כאן?" אבל תפקידה האמיתי מוזר יותר: זהו הדפדפן שמבקש רשות בשם JavaScript שאינו סומך עליו.
HEAD הוא סיור — הוא מבקש משרתים לתאר משאבים מבלי לשלוח אותם. בדוק גדלי קבצים, ודא תקינות קישורים, ואמת מטמונים — כל זאת מבלי להעביר אפילו בייט אחד של תוכן.
DELETE הוא אידמפוטנטי — אפשר לקרוא לו לנצח — אבל ההרס קורה רק פעם אחת. המתח הזה מעצב כל החלטת מימוש.
בקשות GET הן שאלות — הן מאחזרות נתונים מבלי לשנות דבר. כלל פשוט זה מאפשר מטמון, טעינה מוקדמת וניסיונות חוזרים אוטומטיים. הפרו אותו, ודפדפנים עלולים למחוק את חשבונות המשתמשים שלכם.
PUT מחליף את כל המשאב — השמט שדה והוא נעלם. PATCH משנה רק את מה שציינת. הבחירה קובעת מה קורה לשדות שלא הזכרת.
CONNECT הופך פרוקסי לצינורות סבילים למנהור HTTPS. TRACE מחזיר בקשות כהד לצורך איתור תקלות — אך השקיפות שלו הפכה אותו לסיכון אבטחה. שתי שיטות HTTP מיוחדות עם גורלות שונים מאוד.
POST לא מבקש נתונים — הוא פועל על השרת. הבנת ההבדל הזה היא המפתח לטפסים, APIs ואפליקציות אינטרנט מאובטחות.
הרשת לא אומרת לך אם הבקשה שלך הצליחה — היא אומרת לך אם קיבלת תשובה. אלה לא אותו דבר. אידמפוטנטיות היא האופן שבו בונים מערכות שמתמודדות עם אי-ודאות זו.
שיטות HTTP הן הבטחות על השלכות. GET אומרת "אני רק אסתכל." POST אומרת "משהו ישתנה." הבנת החוזים האלה מסבירה מדוע דפדפנים מזהירים אותך לפני רענון טופס, מדוע בקשות מסוימות ניתנות לשמירה במטמון ואחרות לא, וכיצד כל הרשת שומרת על עקביות.
האם דף זה היה מועיל?