𝗥𝗙𝗖 𝟭𝟬𝟬𝟬𝟴: 𝗧𝗵𝗲 𝗡𝗲𝘄 𝗛𝗧𝗧𝗣 𝗤𝘂𝗲𝗿𝘆 𝗠𝗲𝘁𝗵𝗼𝗱
توسعهدهندگان هنگام دریافت دادههای پیچیده با مشکلی مواجه هستند. میخواهید از GET استفاده کنید، اما محدودیتهایی دارد. میخواهید از POST استفاده کنید، اما ابزار مناسبی برای این کار نیست. RFC 10008 راهکار جدیدی را پیشنهاد میدهد: متد QUERY.
چالشهای فعلی با GET:
- محدودیتهای URL: مرورگرها و سرورها طول URL را محدود میکنند. فیلترهای بزرگ باعث از کار افتادن درخواستهای شما میشوند.
- ساختار نامنظم: GET از جفتهای کلید-مقدار ساده استفاده میکند. ارسال اشیاء JSON تو در تو دشوار است.
- خطرات حریم خصوصی: پارامترهای پرسوجو (Query parameters) در لاگهای سرور و تاریخچه مرورگر ظاهر میشوند.
چالشهای فعلی با POST:
- معناشناسی نادرست: POST به سرور میگوید که شما میخواهید دادهای را ایجاد یا تغییر دهید.
- مشکلات کشینگ: اکثر سیستمها درخواستهای POST را کش نمیکنند. این امر سرعت اپلیکیشن شما را کاهش میدهد.
متد QUERY این وضعیت را تغییر میدهد. این متد به شما اجازه میدهد برای بازیابی دادهها، یک بدنه درخواست (request body) ارسال کنید. این کار باعث میشود API شما تمیز باقی بماند و از قوانین صحیح پیروی کند.
مزایای متد QUERY:
- استفاده از بدنههای پیچیده: میتوانید اشیاء کامل JSON را برای فیلترهای جستجو ارسال کنید.
- حفظ امنیت: این متد وضعیت سرور را تغییر نمیدهد.
- بهبود سرعت: این متد مانند متد GET امکان کشینگ کارآمد را فراهم میکند.
از وادار کردن POST برای انجام وظایف GET دست بردارید. متد QUERY راهی برای دریافت دادههای غنی، بدون نقض استانداردهای HTTP فراهم میکند.
منبع: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo