فرق و تفاوت متد get و post

این تاپیک 1 پاسخ و 1 مشارکت کننده دارد . آخرین آپدیت توسط :  لقمان آوند ،‏ 3 سال و 11 ماه پیش .

این تاپیک تاکنون 10157 بازدید داشته است .

تگ شده :  , , ,

نویسنده پست
شنبه ، 5 ژانویه 2013     2:40 ق.ظ #


لقمان آوند

مدیر ارشد
VIP
1704 پست5 تاپیک

تفاوت متد get و post که در فرم های html استفاده می شه چیه ؟

12  تشکر
:: این تاپیک، پاسخ تائیدشده دارد : مشاهده پاسخ تائید شده توسط سوال کننده
شنبه ، 5 ژانویه 2013     2:45 ق.ظ # پاسخ تائید شده توسط سوال کننده


لقمان آوند

مدیر ارشد
VIP
1704 پست5 تاپیک

method ، روش استفاده شده به منظور ارسال داده در پروتکل HTTP را مشخص می نمايد . به منظور ارسال داده از روش های متفاوتی استفاده می گردد . روش های GET و POST دو نمونه متدوال در اين زمينه میباشند.
متد GET : در اين روش داده موجود بر روی يک فرم که قرار است برای سرويس دهنده ارسال شود ، به انتهای URL و به شکل " نام / مقدار" ، اضافه می گردد. متد GET، گزينه پيش فرض در خصوص نحوه ارسال اطلاعات يک فرم می باشد .
در روش GET، پارامترها را به کمک query string که مستقيما در انتهاي URL اضافه شده اند، به سرور مي فرستيم.
query string به قطعه متني که پس از علامت "?" آمده باشد ميگويند.
?sitename =7Learn
اولين بخش از زوج "نام / مقدار" ، نشاندهنده "نام" و دومين بخش مقدار مورد نظر به منظور ذخيره سازی را نشان می دهد. نام و مقدار متناظر با آن به صورت اتوماتيک از يک عنصر موجود بر روی فرم نظير يک textbox ويا checkbox ، اخذ می گردند. نام کنترل استفاده شده بر روی فرم ، نام استفاده شده در متد GET بوده و محتوياتی را که کاربر در کنترل مورد نظر درج و يا انتخاب می نمايد، مقدار موردنظر را مشخص می نمايد . در مثال فوق ، 'sitename' ، نام مورد نظر بوده و '7Learn' ، مقدار مرتبط با آن است . مرورگر در زمان ارسال صفحه برای سرويس دهنده ، اطلاعات فوق را به صورت اتوماتيک به URL اضافه می نمايد:
http://7Learn.com/page.php?sitename=7Learn
امکان استفاده بيش از يک زوج نام /مقدار بهمراه يک URL وجود خواهد داشت . در چنين مواردی هر زوج توسط علامت "&" ( ampersand ) ، از يکديگر جدا می گردند .
http://7Learn.com/page.php?sitename=7Learn&webmaster=Loghman
بخش اضافه شده به URL را query string می گويند . GET تنها روش موجود به منظور ارسال داده بين سرويس گيرنده و سرويس دهنده نمی باشد و در اين رابطه از متد POST نيز استفاده می گردد.

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

98  تشکر
پست 1 تا 2 (از مجموع 2 پست)

این تاپیک پاسخ تائید شده دارد و بسته شده است .