تفاوت متدهای GET و POST در HTML و php

طراحی سایت

..تفاوت متدهای GET و POST در HTML و php..
تفاوت متدهای GET و POST در HTML و php
طراحی سایت

تفاوت متدهای GET و POST در HTML و php

اطلاعاتی که کاربران از طریق فرم‌های وب یا از طریق AJAX به سرور می‌فرستند با دو روش GET و POST می‌توانند ارسال شوند. هر یک از این روش‌ها دارای مزایا و معایب و کاربردهای مختلفی است که در ادامه به آن‌ها می‌پردازیم.

روش‌های GET و POST

برای تعیین روش ارسال اطلاعات در فرم HTML از صفت method به شکل زیر استفاده می‌کنیم:

روش GET چیست ؟

در روش GET اطلاعاتی که کاربر در فرم پر می‌کند، به انتهای نشانی سایت اضافه می‌شوند و در نتیجه نشانی صفحه‌ی باز شدن فرم تغییر می‌کند. برای مثال هنگامی که در یک فرم HTML دو فیلد email و password را داشته باشیم و آن را با روش GET ارسال کنیم، نشانی صفحه‌ی مقصد ما به صورت زیر خواهد بود:

همان طور که مشاهده می‌کنید، مقدارهای وارد شده در فیلد email و password به آسانی قابل مشاهده هستند.

روش POST چیست ؟

در روش POST اطلاعات ارسالی کاربر، در سرآمدهای درخواست قرار می‌گیرند و نشانی صفحه تغییری نمی‌کند. به عبارت دیگر، هر تعداد فیلد که در فرم ما وجود داشته باشد و از هر نوعی که باشند، محدودیتی برای روش POST وجود ندارد و این اطلاعات در سرآمد درخواست کدگذاری و ارسال خواهند شد.

معایب و محدودیت‌های روش GET

در روش GET با محدودیت‌هایی روبرو هستیم که به همین دلیل همیشه نمی‌توان از این روش استفاده نمود.

  1. اطلاعات خصوصی کاربر مثل رمز در نشانی صفحه قابل دیدن هستند و ممکن است با این روش مورد سرقت قرار بگیرند.
  2. طول مجاز و قابل قبول نشانی صفحات در مرورگرها و وب سرورهای مختلف ممکن است با محدودیت‌هایی روبرو باشد و اگر مقدار اطلاعات ارسالی زیاد باشد، ممکن است اجرای سایت با مشکلاتی مواجه شود.
  3. استفاده از روش GET برای شناسایی درخواست‌های کاربر ممکن است اثرات منفی روی سئو سایت داشته باشند. گوگل هر زمان ممکن است به اشتباه، برخی از پارامترهای روش GET را بی ارزش تشخیص دهد و حجم زیادی از صفحات سایت را از ایندکس خود حذف کند.
  4. اطلاعات در روش GET با احتمال بیشتری ممکن است در مرورگر یا سرورهای واسط Cache شوند و کاربر اطلاعات غیرروزآمد یا نادرست را مشاهده کند. به ویژه هنگام استفاده از AJAX برای دریافت اطلاعات باید به این موضوع توجه شود.
  5. هنگام استفاده از AJAX برای ارسال درخواست‌های متعدد به سرور، مرورگر ممکن است تمامی این اطلاعات را در Cache ذخیره کند در حالی که نیازی به ذخیره‌سازی آن‌ها وجود ندارد.
  6. امکان آپلود فایل با روش GET وجود ندارد و محتویات فایل نمی‌توانند با این روش به سرور ارسال شوند.
  7. هنگام ارسال اطلاعاتی که نویسه‌های غیرمجاز برای نشانی صفحات در آن موجود است، حجم اطلاعات ارسالی به مقدار زیادی افزایش پیدا می‌کند زیرا این اطلاعات باید Url Encode شوند.

معایب و محدودیت‌های روش POST

روش POST نیز همانند روش GET با محدودیت‌ها و معایبی همراه است:

  1. به دلیل اینکه نشانی صفحه همیشه ثابت است، استفاده از روش POST برای انجام برخی از کارها باعث سردرگمی کاربران می‌شود. مثلا برای جستجوی یک عبارت، اگر از روش POST استفاده کنیم، از روی نشانی صفحه مشخص نیست که کاربر چه چیزی را درخواست کرده است.
  2. اگر کاربران آدرس صفحه‌ی فعلی را به صورت عادی مجددا باز کنند، با محتوای نامشخصی روبرو خواهند شد زیرا پارامترهای ارسالی فرم در مرورگر ذخیره نمی‌شوند و صفحه بدون پارامترها باز خواهد شد.

کاربردهای روش GET

روش GET دارای برخی کاربردهای شناخته‌شده است که شامل نتایج جستجو، باز کردن صفحات مختلف سایت و صفحه‌بندی نتایج است.

کاربردهای روش POST

از روش POST معمولا برای فرم‌های ورود و ثبت نام، فرم‌هایی با تعداد فیلدهای زیاد، فرم‌هایی که در آن آپلود فایل انجام می‌شود و کلیه فرم‌هایی که اطلاعات حساس در آن موجود است، استفاده می‌شود.

صفت enctype

هنگامی که می‌خواهیم در یک فرم آپلود فایل را انجام دهیم، لازم است تا علاوه بر تغییر روش به POST، مقدار صفت enctype را هم به صورت زیر تغییر دهیم. در غیر این صورت اطلاعات به همان صورت URL Encoded که در روش GET استفاده می‌شود، کدگذاری می‌شوند و امکان آپلود فایل فراهم نمی‌شود.

تعیین نکردن مقدار enctype باعث می‌شود تا این فیلد مقدار پیش‌فرض «application/x-www-form-urlencoded» را دریافت کند.

63
15 مهر 1398
    ..نظرات..
    ..مقالات پربازدید..
    آموزش قرعه کشی در اینستاگرام
    طراحی سایت

    آموزش قرعه کشی در اینستاگرام

     آموزش قرعه کشی در اینستاگرام با سلام خدمت دوستان و کاربران گرامی . امروز با آموزش قرعه کشی در اینستاگرام برای کسانی که علاقه به ایجاد کمپین های تبلیغاتی دارند در خدمت شما هستیم . بحث قرعه کشی در اینستاگرام با توجه به فراگیر شدن این شبکه اجتماعی که البته امروزه زیرمجموعه فیسبوک مطرح میشود ، زیاد شده است . البته این احتمال وج...

    13947
    24 فروردین 1398
    دلایل موفقیت دیجی کالا
    طراحی سایت

    دلایل موفقیت دیجی کالا

    یکی از موفق ترین استارت اپ های ایران در دهه ی اخیر سایت دیجی کالا بوده است . به طوری که به جرئت می توان گفت این سایت بزرگ‌ ترین خرده‌ فروشی اینترنتی خاورمیانه است .اقایان محمدی در سال 1384 تصمیم راه اندازی این وب سایت گرفتند و در سال 85 این برند با نام فعلی ” دیجی کالا ” پایه گذاری گردید .مدیران این پروژه با این هدف او...

    1967
    22 اردیبهشت 1398
    bit.ly چیست ؟
    طراحی سایت

    bit.ly چیست ؟

    بیتلی یا bitly یکی از شناخته‌شده‌ترین سرویس‌های کوتاه کننده لینک است. این سایت با نشانی https://bit.ly در سال ۲۰۰۸ تاسیس شد. یک کوتاه کننده‌ی لینک وظیفه دارد تا لینک‌های مورد نظر کاربران را به شکل کوتاه و قابل خواندن و نوشتن تبدیل کند. این سرویس در هر ماه حدود ۶۰۰ میلیون لینک کاربران را کوتاه می‌کند.علت استفاده از...

    1892
    27 آذر 1398