شرح طرق طلبات HTTP
يعرّف HTTP تسع طرق طلبات قياسية، لكن معظم الحركة اليومية تستخدم القليل منها فقط. يشرح هذا الجدول كل طريقة، وهل هي آمنة ومتماثلة، ورموز الحالة التي يعيدها الطلب الناجح.
| الطريقة | الغرض | آمنة؟ | متماثلة؟ | حالة النجاح |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
ملاحظات
- الآمن يعني أن الطريقة لا تغيّر حالة الخادم أبدًا: GET وHEAD وOPTIONS وTRACE هي الطرق الآمنة الوحيدة.
- المتماثل يعني أن تكرار الطلب يعطي النتيجة نفسها لمرة واحدة: تنطبق على PUT وDELETE وGET، ولا تنطبق على POST وPATCH.
- عندما لا يقبل مسار طريقة معيّنة، يردّ الخادم بـ405 Method Not Allowed وعادةً يتضمن ترويسة Allow.
الأسئلة الشائعة
- ما الفرق بين GET وPOST؟
- GET يسترجع موردًا دون آثار جانبية ويمكن تكراره بأمان، وتُنقل المعاملات في الرابط. أما POST فينشئ شيئًا أو يطلق إجراءً، وقد يغيّر الحالة، ولا ينبغي تكراره دون وعي.
- ماذا يعني أن طريقة HTTP آمنة؟
- الطريقة الآمنة لا تغيّر حالة الخادم أبدًا، لذا يمكن استدعاؤها دون مخاطرة. GET وHEAD وOPTIONS وTRACE آمنة؛ بينما POST وPUT وPATCH وDELETE ليست كذلك.
- ما الفرق بين PUT وPATCH؟
- PUT يستبدل المورد كاملًا بما ترسله، بينما PATCH يطبّق تغييرًا جزئيًا على حقول محددة فقط. PUT متماثل، فتكريره يعطي النتيجة نفسها؛ أما PATCH فعادةً ليس متماثلًا.
- ماذا تفعل طريقة HEAD؟
- HEAD يعمل مثل GET لكنه لا يعيد جسم الاستجابة. هو مفيد للتحقق من وجود مورد أو حجمه أو ترويساته دون تنزيل المحتوى كاملًا.