Web Technology

HTTP Methods
طرق HTTP

في هذا الدرس، سنتعرف على طرق HTTP Methods وكيفية استخدامها للتواصل بين العميل والخادم، وسنستعرض طرق الطلب مثل HTTP GET لاسترداد البيانات، وPOST لإرسالها، وPUT لتحديث الموارد، وDELETE للحذف، وCONNECT للاتصال الآمن، وHEAD لمعرفة رؤوس headers المورد، وOPTIONS للاستفسار عن الطرق المدعومة.

التاريخ

06 أبريل 2021

الدروس

51

المستوى

متقدم

اللغة

انجليزي

المشاهدات

1418

المواضيع

4
الشروحات chevron_left HTTP Methods chevron_left Web Technology

HTTP Methods
طرق HTTP

</> HTTP Methods
طرق HTTP

طرق HTTP methods هي الأوامر التي تُستخدم ضمن بروتوكول نقل النصوص HTTP لتوجيه الخوادم حول كيفية التعامل مع طلبات معينة من العملاء على الشبكة، وتُعتبر هذه الطرق جزءًا أساسيًا من بنية تطبيقات الويب الحديثة، حيث تساعد في تحديد كيفية تبادل المعلومات بين العميل والخادم في الشبكة، مثل الملفات، والبيانات، والخدمات الأخرى المتوفرة على الويب.

من بين طرق HTTP methods الأساسية نجد طريقة GET التي تُستخدم لجلب المعلومات من الخادم دون التأثير على الموارد، وPOST التي تُستخدم لإرسال البيانات للخادم لإنشاء مورد جديد أو لمعالجة البيانات، وPUT التي تُتيح تحديث المورد بشكل كامل، بالإضافة إلى DELETE التي تُعنى بإزالة الموارد، ولكل منها وظيفة محددة في عمليات التفاعل بين العميل والخادم.

</> HTTP Request Methods
طرق الطلب في HTTP

جدول طرق HTTP methods في بروتوكول HTTP يوضح وظائف استخدام كل طريقة عند التفاعل مع خوادم الويب، وهذه الطرق تمكن من القدرة على استرداد البيانات وإرسالها وتعديلها أو حتى حذفها عن طريق واجهات برمجة التطبيقات APIs والويب.

Method Description

GET

الغرض من طريقة HTTP GET method هو ببساطة استرداد البيانات من الخادم، تُستخدم هذه الطريقة لطلب أيٍ من الموارد التالية: صفحة ويب، أو صورة، أو فيديو، أو ملفات JSON، أو ملف HTML، أو ملف CSS، أو ملف JavaScript.

HEAD

تتشابه طريقة HTTP HEAD method وظيفتها مع طريقة HTTP GET method، إلا أن الاستجابة من الخادم تقتصر على سطر الحالة status line والرؤوس headers فقط، بدون الجسم body.

POST

يتم استخدام طريقة HTTP POST method عندما تريد إرسال بعض البيانات إلى الخادم لإنشاء مورد جديد أو لمعالجة البيانات، على سبيل المثال، عند تقديم نموذج تسجيل على موقع ويب.

PUT

يتم استخدام طريقة HTTP PUT method لمطالبة الخادم بتخزين كيان الجسم entity-body في موقع محدد بواسطة عنوان URL.

DELETE

تطلب طريقة HTTP DELETE method من الخادم حذف ملف في موقع محدد بواسطة عنوان URL.

CONNECT

يستخدم العميل طريقة HTTP CONNECT method ، ليقوم بإنشاء اتصال شبكة بخادم ويب عبر HTTP.

OPTIONS

تُستخدم طريقة HTTP OPTIONS method من قبل العميل لمعرفة طرق HTTP methods والخيارات الأخرى التي يدعمها خادم الويب، هذه الطريقة تساعد في تحديد العمليات المسموح بها على الخادم لمورد محدد.

</> HTTP GET Method
طريقة HTTP GET

تُستخدم طريقة HTTP GET method في بروتوكول HTTP لطلب request البيانات من الخادم بهدف استرجاع المعلومات عبر عنوان URL، تتميز هذه الطريقة بأنها تمكّن العميل [المتصفح] من إرسال طلب دون التعديل على البيانات الموجودة في الخادم، تُستخدم عادةً لطلب الموارد مثل صفحات الويب، وملفات HTML ،JSON ،CSS ،JavaScript، والصور، الفيديوهات، وتُعتبر طريقة طلب HTTP GET request method عمليةً آمنةً، بمعنى أنها لا تُغيّر حالة أي مورد على الخادم.

كيفية استخدام طريقة GET في HTTP
طريقة HTTP GET تُستخدم لاسترجاع البيانات من الخادم من خلال "<request-target>" لتحديد المورد، مع إمكانية إضافة استفسارات باستخدام "?"<query>" إذا لزم الأمر، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use GET method in HTTP

طريقة استخدام GET في HTTP.

GET <request-target>["?"<query>] HTTP/1.1
HTTP GET Request Method

طلب HTTP GET request يتم إرساله إلى الخادم لاسترداد صفحة index.html:

GET /index.html HTTP/1.1
Host: www.closetag.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
HTTP response message from server

رسالة الاستجابة response من الخادم علي الطلب السابق:

HTTP/1.1 200 OK
Date: Mon, 23 Oct 2023 12:00:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Last-Modified: Sun, 22 Oct 2023 18:00:00 GMT
Content-Length: 546
Content-Type: text/html; charset=UTF-8
Content-Encoding: br
Connection: close
The Required index.html Page

هذه الصفحة المطلوبة وهي index.html.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Index Page</title>
</head>
<body>
    <h1>Welcome to the Index Page</h1>
    <p>This is a sample index page.</p>
</body>
</html>

</> HTTP HEAD Method
طريقة HTTP HEAD

طريقة HTTP HEAD هي واحدة من الطرق التي يُمكن استخدامها في بروتوكول نقل النصوص HTTP وتستخدم في استرجاع معلومات عن الموارد الموجودة على شبكة الإنترنت دون الحاجة إلى تنزيل كامل المحتوى الخاص بالموارد، فبدلًا من التحميل الكامل للمحتوي، مثلاً يمكن استخدام طلب HEAD لقراءة رأسcontent-length] header] للتحقق من حجم الملف قبل تنزيله كاملًا باستخدام GET، ويفيد استخدام هذه الطريقة في تقليل حجم البيانات المرسلة بين العميل والخادم مما يؤدي إلى تحسين الأداء والكفاءة.

كيفية استخدام طريقة HEAD في HTTP
طريقة HTTP HEAD تُستخدم للحصول على رؤوس المورد دون تحميل المحتوى، من خلال "<request-target>"، مع إمكانية إضافة استفسارات باستخدام "?"<query>"، إذا لزم الأمر، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use HEAD method in HTTP

طريقة استخدام HEAD في HTTP.

HEAD <request-target>["?"<query>] HTTP/1.1
HTTP HEAD Request Method

استخدام طريقة HEAD لجلب معلومات HEAD الخاصة بالملف index.html:

HEAD /index.html HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.closetag.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
HTTP response message from server

رسالة الاستجابة response من الخادم علي الطلب السابق:

HTTP/1.1 200 OK  
Date: Wed, 4 Dec 2019 5:15:40 GMT  
Server: Apache/2.4. 41 (Win32)  
Last-Modified: Mon, 2 Dec 2019 15:40:30 GMT  
ETag: "34aa387-d-1568eb00"  
Vary: Authorization,Accept  
Accept-Ranges: bytes  
Content-Length: 55  
Content-Type: text/html  
Connection: Closed

</> HTTP POST Method
طريقة HTTP POST

تُعتبر طريقة HTTP POST طريقة أساسية لنقل البيانات من العميل إلى الخادم على الإنترنت، وتمتاز بقدرتها على إرسال كميات كبيرة من البيانات بشكل آمن، حيث تُرفَق البيانات بجسم الطلب وليس كجزء من عنوان URI. هذا يعني أن البيانات لا تظهر في شريط العنوان بالمتصفح، مما يتيح نقل كميات كبيرة ومعقدة من البيانات ويساعد في الحفاظ على خصوصيتها. مما تسمح بتنفيذ العمليات التي تتطلب تخزينًا أو تغييرًا مثل رفع الملفات أو تقديم نماذج الويب. وتُستخدَم هذه الطريقة بشكل واسع في التطبيقات الحديثة.

كيفية استخدام طريقة POST في HTTP
طريقة HTTP POST تُستخدم لإرسال بيانات العميل إلى الخادم لغرض إنشاء أو تحديث الموارد، من خلال "<request-target>". بينما تُرسل البيانات عادةً في جسم الطلب، يمكن إضافة استفسارات في عنوان URL باستخدام "?<query>" إذا لزم الأمر. ويُشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use POST method in HTTP

طريقة استخدام POST في HTTP.

POST <request-target>["?"<query>] HTTP/1.1
HTTP POST Request Method

مثال لإرسال بيانات تسجيل مستخدم جديد إلى خادم:

POST /register HTTP/1.1
Host: www.closetag.com
Content-Type: application/json
Content-Length: 52

{
  "username": "new user",
  "password": "secure password"
}
HTTP response message from server

رسالة الاستجابة response تشير إلى نجاح عملية التسجيل:

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 38

{
  "message": "User created successfully"
}

</> HTTP PUT Method
طريقة HTTP PUT

طريقة HTTP PUT تُستخدم عادةً لتحميل أو تحديث البيانات على الخادم، وتهدف هذه الطريقة إلى إرسال بيانات معينة إلى الخادم وإجراء عمليات تخزين تلك البيانات بشكل كامل، أي أنه يتم استبدال البيانات الموجودة بالبيانات الجديدة التي يتم إرسالها، وتتميز هذه الطريقة بأنها ثابتة، بمعنى أن تنفيذها مرة واحدة أو عدة مرات يعطي نفس النتيجة، ولكن من غير الممكن تخزين استجابات PUT مؤقتًا.

كيفية استخدام طريقة PUT في HTTP
طريقة HTTP PUT تُستخدم لإرسال بيانات العميل إلى الخادم بغرض إنشاء مورد جديد أو استبدال تمثيل مورد موجود في المسار المحدد بـ "<request-target>". تُرسل البيانات عادةً في جسم الطلب، ويمكن استخدام "?<query>" لإضافة استفسارات في عنوان URL إذا لزم الأمر، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use PUT method in HTTP

طريقة استخدام PUT في HTTP.

PUT <request-target>["?"<query>] HTTP/1.1
HTTP PUT Request Method

استخدام طريقة HTTP PUT لتحديث أو إنشاء بيانات موظف ببيانات JSON في نظام إدارة.

PUT /employees/123 HTTP/1.1
Host: www.closetag.com
Content-Type: application/json
Content-Length: 85

{
"name": "Ahmed Ali",
"position": "Project Manager",
"email": "[email protected]"
}
HTTP response message from server

رسالة الاستجابة response تُشير إلى أن الطلب تم تنفيذه بنجاح وأن الموظف موجود وتم تحديث بياناته.

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 85

{
"message": "Employee updated successfully",
"employee": {
"id": 123,
"name": "Ahmad Ali",
"position": "Project Manager",
"email": "[email protected]"
}
}
ملاحظة

إذا كان الموظف جديدًا ولم يكن موجودًا من قبل، وتم إنشاء سجل جديد، فقد تتغير حالة HTTP إلى 201 Created للإشارة إلى إنشاء المورد الجديد.

</> HTTP DELETE Method
طريقة HTTP DELETE

تُستخدم طريقة HTTP DELETE لحذف موارد محددة بواسطة عنوان URI على الخادم، مما يساهم في تحرير مساحة التخزين وتحسين أداء النظام. عندما يقوم العميل، مثل المتصفح، بطلب حذف، يعمل الخادم على تنفيذ العملية مما يُسهل إدارة أفضل للمحتوى والموارد. ومع ذلك، من المهم توخي الحذر لتجنب الحذف الدائم للبيانات المهمة.

كيفية استخدام طريقة DELETE في HTTP
طريقة HTTP DELETE تُستخدم لحذف مورد موجود من الخادم في المسار المحدد بـ "<request-target>". لا يتطلب الطلب وجود بيانات في جسم الطلب، ويمكن استخدام "?<query>" لإضافة استفسارات في عنوان URL إذا لزم الأمر، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use DELETE method in HTTP

طريقة استخدام DELETE في HTTP.

DELETE <request-target>["?"<query>] HTTP/1.1
HTTP DELETE Request Method

مثال لنظامً لإدارة المنتجات، وتريد حذف منتج محدد من قاعدة البيانات باستخدام معرف المنتج productid.

DELETE /products/123 HTTP/1.1
Host: www.example.com
HTTP response message from server

تُشير رسالة الاستجابة response إلى أن الطلب قد تم بنجاح وتم حذف المورد المطلوب.

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 58

{
    "message": "Product deleted successfully",
    "product Id": 123
}

</> HTTP CONNECT Method
طريقة HTTP CONNECT

طريقة HTTP CONNECT هي جزء من بروتوكول HTTP وتُستخدم لإنشاء اتصال نفق TCP/IP بين العميل والخادم عبر وكيل مثل البروكسي. ويكون هذا مفيدًا بشكل خاص عند استخدام بروتوكول HTTPS الذي يتطلب نقل البيانات بشكل مشفر وآمن.

عند استخدام HTTP CONNECT، يتم تمرير البيانات عبر الوكيل بشكل لا يُمكّن الوكيل من قراءة محتوى البيانات نظرًا لأنها مشفرة، مما يعزز من الخصوصية والأمان، يعمل الوكيل كوسيط ينقل البيانات بين العميل والخادم دون التدخل أو الوصول إلى محتواها.


كيفية استخدام طريقة CONNECT في HTTP
طريقة HTTP CONNECT تُستخدم لإنشاء اتصال نفق بين العميل والخادم عبر وكيل عن طريق تحديد العنوان المطلوب باستخدام " المنفذ "port"، مفصول بعلامة colon ":" و "host". لا يتطلب الطلب وجود بيانات في جسم الطلب، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم. بعد إنشاء الاتصال، يتم نقل البيانات بين العميل والخادم بأمان عبر النفق.

How to use CONNECT method in HTTP

طريقة استخدام CONNECT في HTTP.

CONNECT <host>:<port> HTTP/1.1
HTTP CONNECT Request Method

طلب HTTP CONNECT لإنشاء اتصال نفق إلى خادم معيّن عبر بروكسي.

CONNECT www.closetag.com:443 HTTP/1.1
Host: www.closetag.com:443
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
HTTP response message from server

توضح رسالة الاستجابة response أن البروكسي قد نجح في إنشاء الاتصال النفق بين العميل والخادم.

HTTP/1.1 200 Connection Established
Date: Wed, 06 Sep 2023 18:30:00 GMT
Server: Proxy Server/1.0
Proxy-Agent: Proxy Server/1.0
ملاحظات
  • بمجرد تلقي العميل لاستجابة Connection Established 200، يمكنه البدء في إرسال البيانات المشفرة عبر النفق إلى الخادم المقصود، مما يساعد في الحفاظ على اتصال آمن.

  • في طريقة HTTP CONNECT، لا يُستخدم <request-target> بالشكل التقليدي المعتاد في طرق طلبات HTTP الأخرى حيث أن الطلب يحدد ببساطة الوجهة المستهدفة والمنفذ مباشرةً.

</> HTTP OPTIONS Method
طريقة HTTP OPTIONS

طريقة HTTP OPTIONS تُستخدم للحصول على معلومات حول الخيارات المتاحة لتنفيذ عمليات على عنوان محدد على الخادم، حيث يمكن للمستخدم معرفة الطرق المسموح بها مثل GET وPOST وPUT وDELETE. يساعد ذلك في تحسين الكفاءة والالتزام بالبروتوكولات عند التعامل مع الخدمات عبر الشبكة.

ويُعتبر هذا الأسلوب مفيدًا لمسؤولي الشبكات والمطورين لفهم القدرات المتاحة للخادم فيما يخص معالجة الطلبات وتنفيذ العمليات بكفاءة.

كيفية استخدام طريقة OPTIONS في HTTP
لا تتطلب طريقة HTTP OPTIONS وجود بيانات في جسم الطلب، وتُشير العلامة "*" إلى طلب معلومات حول الخيارات العامة المتاحة على الخادم بالكامل، ويمكن استخدام "<request-target>" لتحديد المورد، كما تُستخدم "?<query>" لإضافة استفسارات إذا لزم الأمر، ويشير "HTTP/1.1" إلى إصدار البروتوكول المستخدم.

How to use OPTIONS method in HTTP

طريقة استخدام OPTIONS في HTTP.

OPTIONS *|<request-target>["?"<query>] HTTP/1.1
HTTP OPTIONS Request Method

طلب معرفة الطرق المدعومة من قبل الخادم لمورد معين مثل صفحة ويب أو API.

OPTIONS /api/resource HTTP/1.1
Host: www.closetag.com
HTTP response message from server

تشير رسالة الاستجابة response أن الطلب قد تم بنجاح وأن الخادم رد بمعلومات حول الطرق المدعومة.

HTTP/1.1 200 OK
Allow: GET, POST, PUT, DELETE, OPTIONS
Content-Length: 0
معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات