Internet

HTTP Request

Http Requests : هي الرسائل التي يرسلها العميل أو المستخدم لبدء إجراء  معين على الخادم.


التاريخ

05 نوفمبر 2021

الدروس

24

المستوى

العامة

اللغة

انجليزي

المشاهدات

764

المواضيع

5
الشروحات chevron_left HTTP Request chevron_left Internet
Computer Network keyboard_arrow_down

HTTP Request

</> HTTP Request

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


Syntax
Request       = Request-Line                
                *(( general-header        
                | request-header           
                | entity-header ) CRLF)    
                 CRLF  
                [ message-body ]

</> Method

Method : يستخدم في تحديد الطريقة التي تم إجراؤها على المورد المحدد بواسطة Request-URI. وهي حساسة لحالة الأحرف.

ويوجد منها عدة انواع مختلفة وهم :

  • GET :تقوم هذه الدالة باسترداد المعلومات من الخادم المحدد باستخدام URI محدد. يمكن طلب GET لاسترداد البيانات. لا يمكن تطبيق تأثيرات أخرى على البيانات.
  • HEAD : تتطلب دالة HEAD إجابة مماثلة لطلب GET ، ولكن بدون نص الاستجابة.
  • POST : يرسل طلب POST البيانات إلى الخادم. على سبيل المثال ، تحميل الملف ، ومعلومات العميل ، وما إلى ذلك باستخدام نماذج HTML.
  • PUT :يتم استخدام دالة PUT لاستبدال جميع التمثيلات الحالية للمصدر المحدد بالمحتوى الذي تم تحميله.
  • DELETE : تستخدم الدالة Delete لحذف جميع المحتويات الموجود في المصدر المحدد والتي تم تعيينها بواسطة عنوان URI
  • CONNECT: تستخدم هذه الدالة لإنشاء نفق إلى الخادم ، والذي يتم تحديده بواسطة URI معين.
Syntax
Method = "OPTIONS"                  
         | "GET"                      
         | "HEAD"                     
         | "POST"                    
         | "PUT"                     
         | "DELETE"                  
         | "TRACE"                   
         | "CONNECT"                  
         | extension-method  
       extension-method = token

</> Return-URI

  • Request-URI هو معرف موارد موحد. يتم استخدامه لتحديد المورد الذي سيتم تطبيق الطلب بناءً عليه 

 بناءً على طبيعة الطلب ، تعتمد هذه الخيارات الأربعة لـ Request-URI. أ)

1) تُستخدم علامة النجمة "*" لإظهار أن الطلب لا ينطبق على مورد معين ، ولكنه ينطبق على الخادم نفسه. يُسمح به فقط عندما لا تنطبق الدالة المستخدمة بالضرورة على أحد الموارد.

2) النموذج absoluteURI : يستخدم فقط عندما يتم تقديم الطلب إلى proxy . يتم استخدام proxy المطلوب لإعادة توجيه الطلب Request وإرجاع الاستجابة Response 

3) absolute path : لا يمكن أن تكون فارغة. إذا لم يكن أي منها موجودًا في URI الأصلي ، فيجب تقديمه كـ "/"
4) النموذج authority يستخدم فقط عن طريق الدالة CONNECT


Request-URI = "*" | absoluteURI | abs_path | authority

</> The Resource Identified by a Request

عن طريق فحص Request-URI وحقل Host header ، يمكننا تحديد المورد المحدد بواسطة طلب الإنترنت.

يجب أن يستخدم خادم origin القواعد التالية لتحديد المورد المطلوب في طلب HTTP / 1.1 إذا كان الخادم الأصلي لا يفرق بناءً على المضيف المطلوب.

  1. سيكون المضيف جزءًا من Request-URI إذا كان Request-URI هو URI مطلق.
  2. سيتم تحديد المضيف بواسطة قيمة حقل Host header  إذا لم يكن عنوان URI للطلب مطلقًا ، وكان الطلب يتضمن حقل Host header
  3. يجب أن تكون الاستجابة رسالة خطأ 400 (طلب غير صالح) إذا لم يكن المضيف كما هو محدد بواسطة القاعدة 1 أو 2 مضيفًا صالحًا على الخادم.

</> Request Header Fields

يتم استخدامrequest-header field s للسماح للعميل بتمرير معلومات إضافية إلى الخادم مثل الطلب والعميل نفسه.

تعمل حقول header fields كمعدِّلات للطلب ، مع دلالات مكافئة للمعلمات في استدعاء أسلوب لغة البرمجة.


Syntax
request-header = Accept                     
                      | Accept-Charset            
                      | Accept-Encoding            
                      | Accept-Language            
                      | Authorization              
                      | Expect                    
                      | From                       
                      | Host                      
                      | If-Match                   
                      | If-Modified-Since        
                      | If-None-Match             
                      | If-Range                
                      | If-Unmodified-Since       
                      | Max-Forwards              
                      | Proxy-Authorization       
                      | Range                     
                      | Referer                   
                      | TE                        
                      | User-Agent

لا يمكن تمديد اسم حقلrequest-header بشكل موثوق إلا  مع تغيير في إصدار البروتوكول.

مصطلحات الدرس
HTTP Request
HTTP Request

طلب HTTP

Method
Method

طريقة

Request-URI
Request-URI

طلب URI

GET
GET

طريقة تقوم بإسترداد البيانات من الخادم

HEAD
HEAD

عنوان

POST
POST

طريقة ترسل طلب البيانات إلى الخادم

PUT
PUT

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

DELETE
DELETE

طريقة تستخدم لحذف المحتويات الموجودة في المصدر المحدد

CONNECT
CONNECT

أداة تستخدم لإنشاء نفق إلي الخادم

Return-URI
Return-URI

عودة أو إرجاع URI

AbsoluteURI
AbsoluteURI

مطلق URI

Absolute Path
Absolute Path

مسار مطلق

Authority
Authority

قبضة

Resource Identified by a Request
Resource Identified by a Request

طلب مصدر محدد

Host Head
Host Head

عنوان المضيف

Origin
Origin

أصل

Request Header Fields
Request Header Fields

طلب حقول الرأس

Header Fields
Header Fields

حقول رأس

اختصارات الدرس
URI
URI

Uniform Resource Identifiers

معرفات موارد موحدة
HTTP
HTTP

Hypertext Transfer Protocol

بروتوكول نقل النصوص
معلومات تهمك
  • لا تنسى تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنسى مشاركة الموقع مع أصدقاءك حتى تعمّ الفائدة وتكون سبب في نفعهم.
مشاركة
2
2
2
2
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات