HTTP Request Method یا HTTP Verb نوع عملیات درخواستی را مشخص میکند. قرارداد GET، POST، PUT و دیگر متدها باید در سمت سرور درست اجرا شود. نام متد به تنهایی امنیت، ادعاپذیری یا آیدمپوتنت بودن یک API را تضمین نمیکند.
متدهای HTTP و کاربرد آنها
| متد | کاربرد رایج | ایمن؟ | آیدمپوتنت؟ |
|---|---|---|---|
GET | خواندن فهرست یا یک منبع | بله | بله |
HEAD | فقط هدرهای پاسخ | بله | بله |
POST | ساخت یا آغاز عملیات | خیر | لزوماً خیر |
PUT | جایگزینی وضعیت منبع | خیر | بله |
PATCH | ویرایش جزئی | خیر | لزوماً خیر |
DELETE | حذف منبع | خیر | بله |
OPTIONS | قابلیتها، پیشپرواز CORS | بله | بله |
TRACE | بازتاب درخواست برای تشخیص | بله | بله |
CONNECT | ایجاد تونل به مقصد | خیر | خیر |
QUERY | متد جدیدتر با پشتیبانی محدود، کوئری بدون تغییر وضعیت | بله در قرارداد | طبق قرارداد |
نمونه درخواستهای فروشگاه
GET /api/products?category=books HTTP/1.1
Host: baversion.com
POST /api/orders HTTP/1.1
Host: baversion.com
Content-Type: application/json
{"product_id": 12, "quantity": 2}
نکته فنی
DELETE آیدمپوتنت است چون اثر نهایی تکرار درخواست روی وضعیت منبع یکسان میماند، حتی اگر پاسخ اول 204 و پاسخ بعدی 404 باشد. در برنامه واقعی مسیرهای دارای اثر جانبی را با احراز هویت و مجوزدهی محافظت کنید.
اصطلاحات مرتبط: پروتکل انتقال ابرمتن، رابط برنامهنویسی کاربردی، رست API، کدهای وضعیت HTTP، آیدمپوتنسی، اشتراکگذاری منابع میان مبداها.