HTTP: מה ההבדל בין GET ל- POST?


תשובה 1:

HTTP:

בקשות POST מספקות נתונים נוספים מהלקוח (הדפדפן) לשרת בגוף ההודעות.

לעומת זאת, בקשות GET כוללות את כל הנתונים הנדרשים בכתובת האתר. טפסים ב- HTML יכולים להשתמש בכל אחת מהשיטות על ידי ציון שיטת = "POST" או שיטה = "GET" (ברירת מחדל) ב אלמנט.

השיטה שצוינה קובעת את אופן הגשת נתוני הטופס לשרת. כאשר השיטה היא GET, כל נתוני הטופס מקודדים בכתובת האתר, מצורפים לכתובת האתר של הפעולה כפרמטרים של מחרוזת שאילתה. עם POST, נתוני טופס מופיעים בגוף ההודעות של בקשת HTTP.

תודה!

שמור על קשר:

חברות בעיצוב אתרים בבנגלור, חברת פיתוח אתרים בנגלור, עיצוב אתרים בנגלור, פיתוח אתרים בנגלור


תשובה 2:

GET ו- POST הם שני סוגים שונים של בקשות HTTP.

על פי ויקיפדיה:

GET מבקש ייצוג של המשאב שצוין. שים לב כי אין להשתמש ב- GET לפעולות הגורמות לתופעות לוואי, כגון שימוש בו לביצוע פעולות ביישומי אינטרנט. סיבה אחת לכך היא ש- GET עשוי לשמש באופן שרירותי על ידי רובוטים או סורקים, דבר שלא אמור לשקול את תופעות הלוואי שבקשה צריכה לגרום.

ו

POST מגיש נתונים שעובדים (למשל, מטופס HTML) למשאב המזוהה. הנתונים כלולים בגוף הבקשה. זה עשוי לגרום ליצירת משאב חדש או לעדכוני המשאבים הקיימים או שניהם.

אז למעשה GET משמש לאחזור נתונים מרוחקים, ו- POST משמש להכנסה / עדכון של נתונים מרוחקים.

מפרט HTTP / 1.1 (RFC 2616) פרק 9 הגדרות השיטה מכילה מידע נוסף על GETand POST כמו גם על שיטות HTTP אחרות, אם אתה מעוניין בכך.

בנוסף להסבר על השימושים המיועדים לכל שיטה, המפרט מספק גם סיבה מעשית אחת לפחות מדוע יש להשתמש ב- GET רק לצורך אחזור נתונים:

מחברים של שירותים המשתמשים בפרוטוקול HTTP לא צריכים להשתמש בטפסים מבוססי GET לצורך הגשת נתונים רגישים, מכיוון שהדבר יגרום לקידוד נתונים זה ב- Request-URI. שרתים רבים, פרוקסי כוח וסוכני משתמשים קיימים רבים רושמים את ה- URI של הבקשה במקום כלשהו בו הוא עשוי להיות גלוי לצדדים שלישיים. שרתים יכולים להשתמש בהגשת טופס מבוססת POST במקום

לבסוף, שיקול חשוב בעת השימוש ב- GET לבקשות AJAX הוא שכמה מהדפדפנים - כלומר במיוחד - מטמונים את תוצאות בקשת GET. כך שאם למשל תסקרי באמצעות אותה GETrequest תמיד תחזיר את אותן תוצאות, גם אם הנתונים שאתה מבקש מתעדכנים בצד השרת. אחת הדרכים להקל על בעיה זו היא להפוך את כתובת האתר לייחודית עבור כל בקשה על ידי הוספת חותמת זמן.


תשובה 3:

במילים פשוטות,

בשיטת GET אתה שולח את הנתונים שלך דרך כתובת האתר. אמנם בשיטת POST הנתונים מוטמעים באובייקט הטופס ונשלחים ישירות מהדפדפן שלך לשרת.

שניהם יכולים להעביר את הנתונים אך תמיד עדיף להשתמש ב- POST בכדי לשלוח נתונים שיוקלטו על מנת לוודא כי שלמות הנתונים נשמרת (במקרה של פרוקסי וכללי חומת אש).


תשובה 4:

GET ו- POST אינם מאובטחים כלל ויש לאמת נתונים שנשלחים באמצעות שאילתות אלה לפני שתעשה דבר עם זה.

אנו משתמשים בדרך כלל ב- GET כדי לזהות דפים ו- POST באופן דינמי ולשליחת נתונים בטופס, אך לא תמיד זה המצב.

ל- GET יש גם מגבלה קטנה למדי של בתים שתוכלו לשלוח בהשוואה ל- POST שהוא הרבה פחות מוגבל.

לדוגמה, גוגל משתמשת ב- GET בצורה של דף הבית שלה מכיוון שהתוצאה חייבת להיות מסומנת בקלות וניתנת לשיתוף.