۵ متد اساسی HTTP در APIهای RESTful کدامند؟
calendar_today
Dec 02, 2025
schedule
1 دقیقه مطالعه
رویکرد REST یکی از فراگیرترین روشها در طراحی و توسعه APIهای وب است. در معماری REST که بر پایه HTTP بنا شده، عملیاتها از طریق «افعال» خاصی به نام متدهای HTTP انجام میشوند که امکان تعامل با منابع را فراهم میکنند.
۵ متد HTTP پرکاربرد در توسعه APIهای RESTful عبارتند از GET، PUT، DELETE، POST و PATCH: این «افعال» ضروری امکان اجرای عملیات معروف به CRUD (ایجاد، خواندن، بهروزرسانی، حذف) را فراهم میکنند؛ یعنی ایجاد، خواندن، بهروزرسانی و حذف منابع.
APIهای REST چیستند؟
APIهای REST یا RESTful آنهایی هستند که اصول Representational State Transfer (REST) را رعایت میکنند؛ سبکی معماری که در سال ۲۰۰۰ توسط روی فیلدینگ تعریف شد و شامل جداسازی واضح کلاینت و سرور، استفاده از رابط یکنواخت و ساختار لایهای است که هر لایه مسئولیت مشخصی دارد. وقتی درخواستی از طریق یک API REST ارسال میشود، API نه خود منبع را، بلکه نمایندگی از وضعیت آن منبع را به کلاینت منتقل میکند که برای پاسخگویی به درخواست کافی است. برای اینکه یک API واقعاً RESTful محسوب شود، باید این اصول را رعایت کند:- ارتباط بدون وضعیت (Stateless) بین کلاینت و سرور: هر درخواست مستقل است و هیچ اطلاعاتی ذخیره نمیشود؛
- امکان کش کردن دادهها؛
- رابط یکنواخت (Uniform Interface): منابع باید قابل شناسایی و جدا از نمایندگی ارسالی به کلاینت باشند و از طریق همان نمایندگی قابل دستکاری باشند؛
- سیستم لایهای که سرورها را در سلسلهمراتب دقیق سازماندهی میکند (برای کلاینت نامرئی).
نقش متدهای HTTP در APIهای RESTful
در یک درخواست API RESTful، اطلاعات (یعنی نمایندگی منبع) میتواند در فرمتهای مختلفی مثل JSON یا HTML منتقل شود، اما ارتباط همیشه از طریق درخواست HTTP انجام میشود. متدهای HTTP جزء حیاتی هر API REST هستند، زیرا به کلاینت اجازه میدهند عملیاتی که باید روی منبع انجام شود را مشخص کند و به این ترتیب با آن تعامل داشته باشد. این عناصر که به «افعال HTTP» نیز معروفاند، در هر درخواست RESTful وجود دارند و به کلاینت امکان انجام عملیات CRUD روی منابع را به شکلی استاندارد و قابل پیشبینی میدهند. در معماری REST API هم از متدهای ایدمپوتنت (Idempotent) مثل GET و PUT استفاده میشود که امکان توسعه سرویس وب کارآمد و مقاوم در برابر خطا را فراهم میکنند و هم از متدهای غیرایدمپوتنت. تفاوت مهم است: با متدهای ایدپوتنت، چندین فراخوانی با همان پارامترها همان اثر یک فراخوانی را دارد و اثرات جانبی روی سرور چند برابر نمیشود و همیشه همان اطلاعات برگردانده میشود. اما با متدهای غیرایدمپوتنت مثل POST و PATCH، وضعیت سرور ممکن است تغییر کند و سیستم در معرض اثرات جانبی مختلف از جمله ایجاد منابع ناخواسته قرار گیرد.۵ متد اساسی HTTP در سرویسهای API RESTful
پرکاربردترین متدهای HTTP در APIهای REST عبارتند از GET، PUT، DELETE، POST و PATCH که به کلاینت امکان خواندن، ایجاد، حذف یا تغییر یک منبع را میدهند:- GET: پرکاربردترین متد در درخواستهای API. برای دریافت نمای داده از سرور استفاده میشود و ایدپوتنت است: تکرار همان درخواست چندین بار همان نمایندگی را برمیگرداند بدون تغییر وضعیت سرور؛
- PUT: یک منبع موجود را با جایگزینی کل محتوای آن بهروزرسانی میکند یا اگر وجود نداشته باشد، منبع جدیدی ایجاد میکند؛ عمدتاً برای بهروزرسانی استفاده میشود. در زمان ایجاد، خطر تولید ناخواسته منابع را دارد؛
- DELETE: یک منبع را حذف میکند. میتواند ایدپوتنت در نظر گرفته شود، اما ممکن است URL منبع حذفشده همچنان در دسترس بماند و پیامدهایی بر یکپارچگی پاسخهای بعدی سرور داشته باشد؛
- POST: تنها متدی است که عمدتاً روی مجموعههای منابع عمل میکند. برای ایجاد منبع زیرمجموعه با URL درون یک مجموعه استفاده میشود و آن را به سلسلهمراتب دقیقی مرتبط میکند. ذاتاً ایدپوتنت نیست: هر فراخوانی میتواند منبع جدیدی تولید کند؛
- PATCH: مانند PUT برای بهروزرسانی منابع استفاده میشود، اما فقط بخشهایی از محتوا را از طریق تغییراتی که در فرمتهای استاندارد مثل JSON و XML بیان شدهاند، اصلاح میکند. تکرار همان درخواست PATCH میتواند منبع را به وضعیتهای متفاوتی برساند، بنابراین ایدپوتنت نیست (هرچند میتوان آن را به شکلی ایدپوتنت استفاده کرد).
متدهای HTTP دیگر برای توسعه API
علاوه بر پنج متد اصلی مرتبط با عملیات CRUD، متدهای دیگری هم وجود دارند که بسیار مفیدند زیرا وضعیت منبع را تغییر نمیدهند اما امکان انجام اقدامات مهمی مثل بررسی وضعیت یا دنبال کردن مسیر درخواست را میدهند:- HEAD: برای دریافت متادیتای منابع استفاده میشود، مثلاً بررسی اندازه یا وضعیت آنها پیش از ارسال درخواست دیگر؛
- OPTIONS: فهرستی از متدهای پشتیبانیشده توسط منبع را برمیگرداند و مشخص میکند چه عملیاتی روی آن قابل انجام است؛
- TRACE: به عنوان ابزار دیباگ استفاده میشود؛ به کلاینت اجازه میدهد ببیند درخواستش در مسیر توسط سرورهای میانی چگونه تغییر کرده است. وضعیت سرور را تغییر نمیدهد اما متد بسیار حساسی است زیرا میتواند دادههای حساس را افشا کند. به همین دلیل نوعی حمله سایبری به نام Cross-Site Tracing (XST) منحصراً بر پایه این متد HTTP استوار است.
اشتراک این مقاله
پستهای مرتبط
API
موارد استفاده API بینش هویتی (Identity Insights) برای پیشگیری از تقلب چیست؟
API
چگونه میتوان پیشگیری از تقلب را با استفاده از مسیرهای مشتری در هویت موبایلی شخصیسازی کرد؟
دیدگاهها (0)
برای ثبت دیدگاه لطفاً وارد شوید.
ورودهنوز دیدگاهی ثبت نشده است. اولین نفر باشید!