متدهای HTTP (که به عنوان افعال HTTP نیز شناخته میشوند) دستورات استانداردی هستند که برای ارتباط بین کلاینت و سرور در وب استفاده میشوند. در این مقاله، هر متد به همراه توضیحات و مثالهای کاربردی ارائه شده است تا درک بهتری از کاربرد آنها به دست آورید.
GET
- مثال:
GET /api/customers(لیست همه مشتریان را برمیگرداند) - توضیح: برای دریافت داده از سرور استفاده میشود. این متد تنها داده را بازیابی میکند و نباید هیچ تغییر دیگری در سرور ایجاد کند. این روش ایمن و تکرارپذیر است.
POST
- مثال:
POST /api/customers(ایجاد یک مشتری جدید) - توضیح: برای ارسال داده به سرور جهت ایجاد یک منبع جدید استفاده میشود. دادهها در بدنه درخواست قرار میگیرند. این متد نه ایمن است و نه تکرارپذیر.
PUT
- مثال:
PUT /api/customers/123(بهروزرسانی مشتری با شناسه ۱۲۳) - توضیح: برای بهروزرسانی کامل یک منبع موجود استفاده میشود. تمام دادههای منبع با دادههای جدید جایگزین میشوند. این متد تکرارپذیر است اما ایمن نیست.
PATCH
- مثال:
PATCH /api/customers/123 {"name": "foobar"}(بهروزرسانی نام مشتری با شناسه ۱۲۳) - توضیح: برای اعمال تغییرات جزئی به یک منبع استفاده میشود. فقط فیلدهای ارسالی در درخواست بهروزرسانی میشوند. این متد نه ایمن است و نه تکرارپذیر.
DELETE
- مثال:
DELETE /api/customers/235(حذف مشتری با شناسه ۲۳۵) - توضیح: برای حذف یک منبع مشخص استفاده میشود. اجرای چندباره این متد نتیجه یکسانی دارد، بنابراین تکرارپذیر است اما ایمن نیست.
HEAD
- مثال:
HEAD /api/customers(هدرهای مشابه درخواست GET را برمیگرداند، بدون بدنه پاسخ) - توضیح: مشابه GET است اما فقط هدرها و خط وضعیت را برمیگرداند، بدون بدنه پاسخ. برای بررسی وجود منبع، متادیتا یا هدرها (مثلاً اندازه فایل قبل از دانلود) استفاده میشود. این متد ایمن و تکرارپذیر است.
OPTIONS
- مثال:
OPTIONS /api/customers(ممکن است برگرداند:Allow: GET, POST, HEAD, OPTIONS) - توضیح: برای توصیف گزینههای ارتباطی (متدهای HTTP مجاز) برای یک منبع خاص استفاده میشود. این متد ایمن و تکرارپذیر است.
TRACE
- مثال:
TRACE /api/main.html - توضیح: برای اهداف تشخیصی استفاده میشود. سرور درخواست دریافتی را دقیقاً همانطور که دریافت کرده بازمیگرداند تا کلاینت بتواند تغییرات یا اضافات انجامشده توسط سرورهای واسطه را بررسی کند. این متد ایمن و تکرارپذیر است.
CONNECT
- مثال:
CONNECT www.example.com:443 HTTP/1.1 - توضیح: برای ایجاد یک تونل شبکه به سرور مشخصشده استفاده میشود، معمولاً برای رمزنگاری SSL (مانند HTTPS). این متد یک ارتباط دوطرفه ایجاد میکند.
اصطلاحات کلیدی
- ایمن (Safe): متدی ایمن است که وضعیت سرور را تغییر نمیدهد (مثل GET، HEAD، OPTIONS).
- تکرارپذیر (Idempotent): متدی تکرارپذیر است که اجرای چندینباره آن همان نتیجه اجرای یکبار را داشته باشد (مثل GET، PUT، DELETE، HEAD، OPTIONS).