متدهای HTTP به درخواستهایی که کلاینت به سرور ارسال میکند، نوع عملیات موردنظر را مشخص میکنند. این متدها میتوانند انواع مختلفی از عملیات مانند گرفتن دادهها، ارسال دادهها، حذف دادهها و غیره را انجام دهند.
متد GET
برای درخواست دادهها از سرور استفاده میشود. این متد دادهها را از سرور دریافت میکند و هیچگونه تغییری در دادهها ایجاد نمیکند.
معمولاً برای دریافت اطلاعات از سرور مانند مشاهده صفحات وب استفاده میشود. درخواستها میتوانند ذخیره شوند یا کش شوند.
مثال:
GET /index.html HTTP/1.1
Host: example.com
این درخواست صفحهی index.html را از سرور دریافت میکند.
متد POST
برای ارسال دادهها به سرور و ایجاد منابع جدید استفاده میشود. این متد معمولاً برای ارسال فرمها یا ارسال دادهها به پایگاه داده به کار میرود.
برای ارسال اطلاعات برای ذخیرهسازی یا پردازش استفاده میشود. دادهها در بدنه درخواست ارسال میشوند.
مثال:
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John",
"age": 30
}
در این مثال، اطلاعات کاربر جدید به سرور ارسال میشود تا در پایگاه داده ذخیره گردد.
متد PUT
برای بهروزرسانی یا ایجاد یک منبع استفاده میشود. اگر منبعی با شناسه مشخص وجود نداشته باشد، این متد آن را ایجاد میکند. اگر منبع وجود داشته باشد، آن را بهطور کامل جایگزین میکند.
برای جایگزینی منابع کامل استفاده میشود. درخواستها باید بهطور کامل منبع را جایگزین کنند.
مثال:
PUT /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John",
"age": 31
}
در این مثال، اطلاعات کاربر با شناسه 123 بهروز میشود.
متد DELETE
برای حذف یک منبع از سرور استفاده میشود.
برای حذف دادهها یا منابع استفاده میشود. درخواست DELETE تغییرات دائمی در سرور ایجاد میکند.
مثال:
DELETE /users/123 HTTP/1.1
Host: example.com
این درخواست کاربری با شناسه 123 را از سرور حذف میکند.
متد PATCH
برای اعمال تغییرات جزئی روی یک منبع استفاده میشود. برخلاف PUT که منبع را بهطور کامل جایگزین میکند، PATCH فقط بخشی از منبع را بهروزرسانی میکند.
برای اعمال تغییرات جزئی روی دادهها استفاده میشود.
مثال:
PATCH /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"age": 32
}
این درخواست فقط سن کاربر با شناسه 123 را بهروز میکند.
متد HEAD
مشابه به متد GET است، اما فقط هدرها (Headers) را دریافت میکند و بدنهی پاسخ ارسال نمیشود. معمولاً برای بررسی اطلاعات مربوط به منبع مانند طول محتوا (Content-Length) یا نوع آن (Content-Type) استفاده میشود.
برای بررسی وجود یک منبع بدون دریافت محتوای آن استفاده میشود.
مثال:
HEAD /index.html HTTP/1.1
Host: example.com
این درخواست فقط هدرهای پاسخ را دریافت میکند.
متد OPTIONS
برای دریافت اطلاعات دربارهی قابلیتهای یک سرور یا منبع خاص استفاده میشود. این متد معمولاً برای بررسی اینکه سرور چه متدهایی را پشتیبانی میکند، استفاده میشود.
برای یافتن متدهای مجاز و بررسی پشتیبانی سرور از درخواستها استفاده میشود.
مثال:
OPTIONS /users HTTP/1.1
Host: example.com
این درخواست به سرور میگوید که چه متدهایی برای منبع /users
مجاز است.
جمعبندی
-
GET: دریافت دادهها (بدون تغییر در سرور).
-
POST: ارسال دادهها برای ایجاد منابع جدید.
-
PUT: بهروزرسانی کامل یک منبع.
-
DELETE: حذف یک منبع.
-
PATCH: بهروزرسانی جزئی یک منبع.
-
HEAD: دریافت هدرها بدون بدنه.
-
OPTIONS: بررسی متدهای مجاز و قابلیتهای سرور.
این متدها به کمک توسعهدهندگان کمک میکنند تا درخواستهای HTTP را بهدرستی طراحی و اجرا کنند.