ما هو الـ HTTP؟

 

HTTP إختصار لـ  Hyper Text Transfer Protocol (بروتوكول نقل النص التشعبي)  هو أساس شبكة الويب العالمية ، ويستخدم لتحميل صفحات الويب باستخدام روابط النص التشعبي.

 

WWW تدور حول الاتصال بين الـ Clients والـ Servers.

 

يتم الاتصال بين أجهزة الكمبيوتر للعملاء (المستخدمين) وخوادم الويب عن طريق إرسال طلبات HTTP وهو ما يسمى بـ HTTP Requests وتلقي ردود HTTP وهو ما يسمى بـ HTTP Responses.

 

HTTP هو بروتوكول طبقة تطبيق مصمم لنقل المعلومات بين الأجهزة المتصلة بالشبكة ويعمل فوق الطبقات الأخرى من بروتوكول الشبكة ويتضمن التدفق النموذجي عبر HTTP قيام جهاز عميل بطلب إلى الخادم ، والذي يرسل بعد ذلك رسالة استجابة ‘Response’.

 


 

ماذا يوجد في طلب HTTP؟

 

طلب الـ HTTP هو الطريقة التي تطلب بها منصات الاتصالات عبر الإنترنت مثل متصفحات الويب المعلومات التي يحتاجونها لتحميل موقع ويب.

 

كل طلب HTTP يتم إجراؤه عبر الإنترنت يحمل معه سلسلة من البيانات المشفرة التي تحمل أنواعًا مختلفة من المعلومات، يحتوي طلب HTTP النموذجي على:

  • HTTP version type
  • URL
  • HTTP method
  • HTTP request headers
  • Optional) HTTP body).

 


 

ما هي طريقة HTTP؟

 

تشير طريقة HTTP إلى الإجراء الذي يتوقعه طلب HTTP من الخادم الذي تم الاستعلام عنه، على سبيل المثال  طريقتان من أكثر طرق HTTP شيوعًا هما:

  1. GET: يتوقع طلب “GET” عودة المعلومات (عادةً في شكل موقع ويب).
  2. POST: يشير طلب “POST” عادةً إلى أن العميل(المستخدم) يرسل معلومات إلى خادم الويب (مثل معلومات الـ form الذى يقوم المستخدم بإدخالها مثل اسم المستخدم وكلمة المرور ..إلخ).

 


 

ما هو رمز حالة HTTP؟

 

أكواد حالة HTTP هي أكواد مكونة من 3 أرقام غالبًا ما تستخدم للإشارة إلى ما إذا كان طلب HTTP قد اكتمل بنجاح، يتم تقسيم رموز الحالة إلى 5 كتل:

  1. 1xx Informational
  2. 2xx Success
  3. 3xx Redirection
  4. 4xx Client Error
  5. 5xx Server Error

 

💡 يشير “xx” إلى أرقام مختلفة بين 00 و 99.

 

إقرأ أيضًا👈 قائمة برموز حالة HTTP.

 


 

ما هي HTTP response headers؟

 

مثل طلب HTTP ، تأتي استجابة HTTP مع headers تنقل معلومات مهمة مثل لغة وتنسيق البيانات التي يتم إرسالها في نص الاستجابة.

 


 

ماذا يوجد في HTTP response body؟

 

تحتوي استجابات HTTP الناجحة لطلبات “GET” بشكل عام على جسم يحتوي على المعلومات المطلوبة في معظم طلبات الويب ، هذه هي بيانات HTML التي سيترجمها متصفح الويب إلى صفحة ويب.

 


 

Client request

 

طلب العميل (الذي يتكون في هذه الحالة من سطر الطلب وحقل header واحد فقط) متبوعًا بسطر فارغ ، بحيث ينتهي الطلب بسطر جديد مزدوج ، كل في شكل حرف إرجاع متبوعًا بسطر blank.

يميز حقل “Host” بين أسماء DNS المختلفة التي تشترك في عنوان IP واحد ، مما يسمح بالاستضافة الافتراضية القائمة على الاسم.

 

GET / HTTP/1.1
Host: www.example.com

Server response

 

يتم استخدام حقل ETag وهو entity tag لتحديد ما إذا كان الإصدار المخزن مؤقتًا من المصدر المطلوب مطابقًا للإصدار الحالي من المصدرعلى الخادم.

 

يحدد نوع المحتوى نوع وسائط الإنترنت للبيانات التي تنقلها رسالة الـ HTTP ، بينما يشير طول المحتوى إلى طوله بالبايت.

 

💡 يمكن استخدام ترميز المحتوى مثل gzip لضغط البيانات المرسلة.

HTTP/1.1 200 OK
Date: Sun, 20 Jun 2020 19:00:00 GMT
Server: Apache
Content-Type: text/html; charset=UTF-8
Content-Length: 150
Last-Modified: Mon, 09 Oct 2020 20:15:40 GMT
ETag: "51142bc1-7449-479b075b2891b"
Accept-Ranges: bytes
Connection: close

<html>
  <head>
    <title>Example Page</title>
  </head>
  <body>
    <p>Hello In Our Website.</p>
  </body>
</html>