دریافت در مقابل پست
اگر داده های فرم با URL درخواست شده از سرور رمزگذاری شود، به عنوان Get نامیده می شود، در حالی که، اگر داده های فرم در متن پیام ارسال شود، به عنوان پست نامیده می شود. وقتی اطلاعات اضافی با URL ندارید، این فرم در حال استفاده است.
صفحات HTML که در مرورگر وب خود می خوانیم ماهیت ثابتی دارند. اینها اسناد ثابت هستند و هنگامی که ما به طور فعال با یک صفحه وب تعامل داریم، به هر حال باید داده ها را به سرور ارسال کنید. این با استفاده از فرم ها به دست می آید و دو روش وجود دارد که می توانید از یک فرم استفاده کنید. دریافت و ارسال کنید. با استفاده از فرم، داده ها برای ارسال مجدد به سرور کدگذاری می شوند.اکنون، تفاوت دقیق بین دریافت و ارسال چیست؟
اگر داده ها با URL درخواست شده از سرور کدگذاری شوند، طبق مشخصات HTML به آن Get گفته می شود. داده های فرم توسط برنامه ای که داده ها را دریافت می کند از URL جدا می شود. پس از تجزیه URL و داده های فرم، به عنوان ورودی برای پرس و جو استفاده می شود. اگر دنباله ای طولانی از مقادیر و متغیرها را در انتهای URL وب مشاهده کردید، می توانید متوجه شوید که با درخواست Get سروکار دارید. اگر با درخواست Get کار می کنید، می توانید با تمام اطلاعات پرس و جو، کل URL را نشانه گذاری کنید. بنابراین وقتی دوباره نشانک را باز می کنید، قطعاً می توانید نتایج پرس و جو را ببینید.
اگر داده های فرم در متن پیام ارسال شود، به عنوان پست نامیده می شود. وقتی اطلاعات اضافی با URL ندارید، این فرم در حال استفاده است. در مقایسه با Get، پست نمیتواند در تاریخچه مرورگر کاربر ذخیره شود. این شرایط در شرایطی ایجاد می شود که صفحه باید اطلاعات را مجدداً به وب سرور ارسال کند.شما شب ها اغلب با این وضعیت مواجه شده اید.
اغلب توصیه می شود هنگام توسعه فرم از Get استفاده کنید و فقط در شرایط خاصی باید از Post استفاده کنید. اگر هر یک از متغیرها مرورگر را خراب کرد یا URL را خیلی طولانی کرد، می توانید از فرم ارسال استفاده کنید. استفاده از Post چندین مزیت دارد زیرا اگر بخواهید عملکرد برنامه خود را برای سایر کاربران پنهان یا کمتر قابل مشاهده کنید، می توانید از آن استفاده کنید. اما این یک وعده امنیت نیست زیرا هر کسی می تواند متغیرهایی را که استفاده می کنید از کد منبع برنامه شما درک کند.
تفاوت های عمده بین Get و Post را می توان به صورت زیر بیان کرد:
مشاهده
این تفاوت اساسی بین متدهای Get و Post است. درخواست دریافت به URL اضافه می شود که با علامت سوال از هم جدا شده است. درخواست ارسال را نمی توان چون در بدنه HTTP کپسوله شده مشاهده کرد.
عملکرد
ایجاد یک درخواست دریافت نسبتا آسان است و بسیار سریعتر از درخواست ارسال است. اما درخواست ارسال در فرآیند کپسولهسازی زمان میبرد.
نوع داده
از آنجایی که درخواست دریافت از طریق URL ارسال می شود، فقط می تواند از قالب متنی باشد. اما در مورد Post چنین محدودیتی وجود ندارد و می تواند داده های باینری و متنی را حمل کند.
مجموعه داده
ویژگی "Enctype" با مقدار را می توان با درخواست های ارسال استفاده کرد در حالی که درخواست های Get فقط می توانند از کاراکترهای ASCII استفاده کنند.
اگر فرم هیچ عارضه ای ایجاد نکرد، می توان از روش "GET" استفاده کرد. اکثر پایگاه های داده برای استفاده از روش GET ایده آل هستند.