تفاوت متدهای Get و Post چیست؟

متد: روش ارسال داده در پروتکل HTTP را مشخص می نماید. روش های GET و POST دو نمونه متدوال در این زمینه می باشند.

 

متد GET : در این روش داده موجود بر روی یک فرم که قرار است برای سرویس دهنده ارسال شود ، به انتهای URL و به شکل ” نام / مقدار” ، اضافه می گردد. متد GET، گزینه پیش فرض در خصوص نحوه ارسال اطلاعات یک فرم می باشد .
در روش GET، پارامترها را به کمک query string که مستقیما در انتهای URL اضافه شده اند، به سرور می فرستیم.
query string به قطعه متنی که پس از علامت “?” آمده باشد میگویند.

?sitename =regux

اولین بخش از زوج “نام / مقدار” ، نشاندهنده “نام” و دومین بخش مقدار مورد نظر به منظور ذخیره سازی را نشان می دهد. نام و مقدار متناظر با آن به صورت اتوماتیک از یک عنصر موجود بر روی فرم نظیر یک textbox ویا checkbox ، اخذ می گردند. نام کنترل استفاده شده بر روی فرم ، نام استفاده شده در متد GET بوده و محتویاتی را که کاربر در کنترل مورد نظر درج و یا انتخاب می نماید، مقدار موردنظر را مشخص می نماید . در مثال فوق ، ‘sitename’ ، نام مورد نظر بوده و ‘regux’ ، مقدار مرتبط با آن است . مرورگر در زمان ارسال صفحه برای سرویس دهنده ، اطلاعات فوق را به صورت اتوماتیک به URL اضافه می نماید:

http://regux.com/page.php?sitename=regux

امکان استفاده بیش از یک زوج نام /مقدار بهمراه یک URL وجود خواهد داشت . در چنین مواردی هر زوج توسط علامت “&” ( ampersand ) ، از یکدیگر جدا می گردند .

http://regux.com/page.php?sitename=regux&webmaster=regux2

بخش اضافه شده به URL را query string می گویند . GET تنها روش موجود به منظور ارسال داده بین سرویس گیرنده و سرویس دهنده نمی باشد و در این رابطه از متد POST نیز استفاده می گردد.

 

متد Post : یکی از معایب ارسال داده با استفاده از query string ، به ماهیت ارسال اطلاعات برمی گردد . درصورتی که ضرورتی و یا علاقه ای به نمایش داده ارسالی در آدرس URL را نداشته باشیم، می توان از متد POST استفاده نمود . عملکرد روش فوق تا اندازه ای شبیه متد GET بوده و تنها تفاوت اساسی بین آنان به ارسال داده در بدنه HTTP Request برمی گردد ( نه به عنوان بخشی همراه URL ) . سیاست فوق ، ایمنی بسیار بالائی را نسبت به متد GET ارائه نمی نماید و ما صرفا” داده ارسالی را در URL مشاهده نمی نمائیم . متد POST ، همچنین امکان ارسال حجم بیشتری از اطلاعات را فراهم می نماید. برخی از سرویس دهندگان وب دارای محدودیت حجم متن ارسالی همراه یک URL می باشند. متد POST ، دارای چنین محدودیتی نمی باشد.


پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دو × یک =