في هذا الدرس 6تصفّح المواضيع
HTTP Request
طلب HTTP
HTTP Request طلب HTTP
وتتكون طلبات HTTP requests من عدة أجزاء رئيسية تشمل سطر طلب HTTP request line، ورؤوس HTTP headers، و جسم HTTP body، ولكل جزء منها دور مهم في تحديد وتوصيل المعلومات المطلوبة من الخادم.
الأسطر النصية في هذا الدرس تصف HTTP/1.1؛ يختلف التأطير في HTTP/2 وHTTP/3. جسم الطلب اختياري بحسب دلالة الطريقة، وتفصل الرؤوس عنه نهاية سطر فارغة CRLF. الأمثلة توضيحية ولا تثبت وجود هذه المسارات أو الحسابات على الموقع الحالي.
HTTP Request Message Structure
محتوي رسالة طلب HTTP تكون بهذا النمط.
Request line | header | message body
HTTP Request Message Structure
بنية رسالة طلب HTTP
HTTP Request Message Structure بنية رسالة طلب HTTP
تتكون بنية رسالة طلب HTTP Request كتالي:
1. سطر طلب HTTP Request Line: يحدد نوع الطلب مثل GET أو POST، والمورد المطلوب URI، وإصدار بروتوكول HTTP المستخدم.
2. رؤوس HTTP Headers: توفر معلومات إضافية حول الطلب request أو الاستجابة response، مثل نوع المحتوى، والإعدادات الخاصة بالاتصال، والمعلمات الأمنية security parameters.
3. جسم HTTP Body: يحتوي على البيانات المُرسَلة مع الطلب، ويشيع مع POST وPUT. لا توجد دلالة عامة لجسم GET؛ لا ينشئه العميل إلا عند اتفاق مباشر مع الخادم على دعمه، وقد ترفضه وسائط في الطريق.
HTTP Request Line
سطر طلب HTTP
HTTP Request Line سطر طلب HTTP
سطر طلب HTTP request line يحدد نوع الطلب مثل GET أو POST، والمورد المطلوب URI، وإصدار بروتوكول HTTP المستخدم.
مكونات سطر طلب HTTP Request Line:
1. الطريقة Method: طريقة HTTP المطلوب من الخادم تنفيذه أو القيام به مثل GET، POST، PUT، و DELETE مثلاً [DELETE حذف مورد معين من الخادم].
2. Uniform Resource Identifier URI: معرف الموارد الموحد لتحديد المورد المطلوب مثلاً، صفحة موقع كلوز تاج الرئيسية.
3. إصدار البروتوكول HTTP Version: إصدار HTTP المستخدم مثل HTTP/1.1.
HTTP Get Request Line
سطر طلب http من النوع get يكون بهذا الشكل.
GET /search?q=html HTTP/1.1
HTTP Post Request Line
سطر طلب http من النوع post يكون بهذا الشكل.
POST /login HTTP/1.1
HTTP Request Headers
رؤوس طلب HTTP
HTTP Request Headers رؤوس طلب HTTP
رؤوس HTTP headers توفر معلومات إضافية حول الطلب request أو الاستجابة response، مثل نوع المحتوى، والإعدادات الخاصة بالاتصال، والمعلمات الأمنية security parameters. وفي HTTP/1.1 يُكتب اسم الحقل متبوعًا بنقطتين ثم القيمة، مع مسافة اختيارية key: value ويكون الـ HTTP header بالشكل التالي:
- Host: www.closetag.com: يحدد عنوان أو دومين الخادم المستهدف.
- User-Agent: Mozilla/5.0: يحدد معلومات عن العميل [مثل المتصفح الموجود علي جهاز المستخدم ولا تكفي Mozilla/5.0 وحدها لإثبات أنه Firefox؛ تستخدمها متصفحات مختلفة للتوافق].
- Accept-Language: en-US: يعبر عن اللغات التي يفضلها العميل، ولا يثبت لغة الصفحة التي سيعيدها الخادم.
- Content-Type: application/x-www-form-urlencoded: يحدد نوع البيانات المرسلة في الجسم Body.
- Content-Length: 27: يحدد طول البيانات المرسلة في الجسم Body بالبايتات.
HTTP Request Headers
بادئة أو رأس طلب http تكون بهذا الشكل.
Host: www.closetag.com
User-Agent: Mozilla/5.0
Accept-Language: en-US
HTTP Request Body
جسم طلب HTTP
HTTP Request Body جسم طلب HTTP
جسم HTTP Body يحتوي على البيانات المُرسَلة مع الطلب، ويشيع مع POST وPUT. يكون GET المعتاد بلا جسم لأن دلالة محتوى GET غير معرّفة عمومًا.
في طلبات GET requests، يتم إرسال البيانات عادةً كجزء من عنوان URL بدلاً من جسم HTTP Body، وبالتالي يكون جسم HTTP Body فارغًا بالفعل. البيانات في طلبات GET requests تضاف إلى نهاية عنوان URL في شكل سلسلة استعلام [query string]. في مثال البحث نرسل q=html في الاستعلام، وتبقى معلومات أخرى في الرؤوس. لا تضع كلمات المرور في URL لأنها قد تظهر في السجل والتاريخ والروابط.
في طلبات POST requests، يتم إرسال البيانات عادةً كجزء من جسم HTTP Body بدلاً من عنوان URL. يتم نقل المعلومات المطلوبة أو البيانات التي يجب معالجتها إلى الخادم من خلال جسم HTTP Body. لا يشفّر POST البيانات لمجرد وضعها في الجسم؛ استخدم HTTPS وتحقق من المدخلات على الخادم. يعتمد الحجم المقبول على حدود الخادم والتطبيق، وقد يحتوي URL لطلب POST على استعلام أيضًا.
HTTP Get Request Message
رسالة طلب http تكون كاملة بهذا الشكل في حال كان من النوع get.
GET /search?q=html HTTP/1.1
Host: www.closetag.com
User-Agent: Mozilla/5.0
Accept-Language: en-US
HTTP Post Request Message
رسالة طلب http تكون كاملة بهذا الشكل في حال كان من النوع POST.
POST /login HTTP/1.1
Host: www.closetag.com
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
username=user&password=pass
HTTP Header Fields
حقول البادئة أو رأس رسالة HTTP
HTTP Header Fields حقول البادئة أو رأس رسالة HTTP
- User-Agent: Mozilla/5.0: يحدد معلومات عن المتصفح الذي يستخدمه العميل.
- Host: www.closetag.com: يحدد عنوان أو دومين الخادم المستهدف.
- Accept-Language: es, fr: يحدد اللغات المفضلة للمحتوى لدى العميل.
- Date: Tue, 25 Jul 2023 10:30:00 GMT: يحدد تاريخ ووقت الطلب أو الاستجابة.
- Server: Nginx: يحدد معلومات عن خادم الويب الذي يستجيب للطلب.
- Last-Modified: Fri, 21 Jul 2023 15:00:00 GMT: يحدد آخر تاريخ تعديل للمحتوى المطلوب.
- ETag: "a1b2c3d4-e-12345678": معرف فريد للإصدار الحالي من المورد.
- Accept-Ranges: none: يحدد إذا كانت الخادم يقبل طلبات بتجزئة المحتوى.
- Content-Length: 100: يحدد طول المحتوى بالبايتات.
- Vary: User-Agent: يحدد أن اختيار الاستجابة المخزنة يحتاج مراعاة قيمة حقل User-Agent.
- Content-Type: application/json: يحدد نوع المحتوى المُرسل.
Set-Cookie: sessionId=abc123; Path=/; HttpOnly: ينشئ ملف تعريف الارتباط لتعريف جلسة المستخدم ويحدد مساره.
HTTP Header Fields
هذه الحقول توضح تفاصيل الاتصال بين العميل والخادم، بما في ذلك نوع المتصفح، الخادم، وتفضيلات اللغة.
هذه قائمة تعليمية تجمع حقول طلب واستجابة، وليست رسالة HTTP واحدة صحيحة. Set-Cookie حقل استجابة؛ لا تعني HttpOnly وحدها تشفير النقل أو أمان الجلسة بالكامل.
User-Agent: Mozilla/5.0
Host: www.closetag.com
Accept-Language: es, fr
Date: Tue, 25 Jul 2023 10:30:00 GMT
Server: Nginx
Last-Modified: Fri, 21 Jul 2023 15:00:00 GMT
ETag: "a1b2c3d4-e-12345678"
Accept-Ranges: none
Content-Length: 100
Vary: User-Agent
Content-Type: application/json
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات10
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Request And Response الطلب والإستجابة
- للمراجعة
- 02 Browser متصفح
- <p><a href="https://www.closetag.com/tutorial/internet/browsers">المزيد عن Browser</a></p>
- للمراجعة
- 03 Request طلب
- للمراجعة
- 04 Operating System نظام تشغيل
- للمراجعة
- 05 Default Getaway البوابة الإفتراضية الخاصة بالشبكة
- <p><a href="https://www.closetag.com/tutorial/internet/servers">المزيد عن Default Getaway</a></p>
- للمراجعة
- 06 Router موزع
- للمراجعة
- 07 local IP بروتوكول الإنترنت المحلي
- <p><a href="https://www.closetag.com/tutorial/internet/ip-address">المزيد عن local IP</a></p>
- للمراجعة
- 08 Public Ip بروتوكول الإنترنت العام
- <p><a href="https://www.closetag.com/tutorial/internet/ip-address">المزيد عن Public Ip</a></p>
- للمراجعة
- 09 Response الإإستجابة أو الرد
- للمراجعة
- 10 Internet شبكة الإنترنت
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات2
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 IP IP
- Internet Protocol
- بروتوكول الانترنت<p><a href="https://www.closetag.com/tutorial/internet/ip-address">المزيد عن IP</a></p>
- للمراجعة
- 02 ISP ISP
- Internet Service Providers
- مزود خدمة الانترنت<p><a href="https://www.closetag.com/tutorial/internet/ip-address">المزيد عن ISP</a></p>
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.