HTTP
Methods
من الأمور الهامة في الأمن السيبراني من الضروري
فهم بروتوكول HTTP و methods التي يستخدمها البروتوكول. من
تلك methods:
·
HTTP GET
·
HTTP POST
·
HTTP PUT
·
HTTP DELETE
وتاليا شرح مفصل عن هذه الطرق
HTTP
GET
تستخدم GET لطلب
الحصول على الموارد أو المعلومات التي يوفرها النظام وليس تغييرها أبدا. وكون GET تستخدم لاستدعاء الموارد فإنها تعتبر من الطرق الأمنة التي يستخدمها بروتوكول
HTTP.
لأي عملية يؤديها HTTP GET إذا كان المورد موجود في
السيرفر، فإن الرد سيحمل علامة قيمتها (200) تبين وجود المورد المطلوب متضمنا
المورد نفسه ضمن محتوى رسالة الرد. لكن في حال لم يكن المورد المطلوب موجود في
السيرفر فإن الرد سيحمل علامة قيمتها (404) تبين عدم وجود المورد المطلوب. أما في
حال كانت القيمة (400) فإن الرد يشير إلى خطأ في مضمون الطلب وأن رسالة الطلب لم تكتب
بشكل سليم.
أمثلة على استخدام GET:
·
HTTP GET http://www.appdomain.com/users
·
HTTP GET http://www.appdomain.com/users?size=20&page=5
·
HTTP GET http://www.appdomain.com/users/123
·
HTTP GET http://www.appdomain.com/users/123/address
HTTP POST
تستخدم POST لإنشاء مورد فرعي تابع لموارد أخرى، مثل انشاء سجل في
قاعدة بيانات، او انشاء ملف في مجلد على السيرفر. في حال تم انشاء المورد في
السيرفر سيقوم السيرفر بارد رسالة رد تحمل علامة قيمتها (201) تبين نجاح العملية
وتحمل في مضمون الرسالة ومعلومات عن المورد المنشأ وموقعه في السيرفر URI. وقد يكون
الرد بعد نجاح انشاء المورد لا يحمل عنوان لموقع المورد URI وهنا يحمل
الرد علامة قيمتها (200) أو (204) تبين نجاح العملية وتشير لعدم وجود URI.
تعتبر ال POST من الطرق غير الأمنة التي يستخدمها بروتوكول HTTP، وهذا يعني
ضرورة أحكام استخدمها ومراقبة الرسائل التي تحمل HTTP POST، أو الغائها
في حال كان الموقع أو التطبيق لا يتطلب وجود POST.
أمثلة على استخدام POST:
POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
say=Hi&to=Mom
·
HTTP POST http://www.appdomain.com/users
·
HTTP POST http://www.appdomain.com/users/123/accounts
HTTP PUT
تستخدم PUT بشكل
رئيسي لتحديث مورد موجود على السيرفر، لكن
قد يتم استخدام PUT لانشاء المورد في لم يكن المورد موجود على
السيرفر. في حال تم انشاء مورد جديد باستخدام PUT فإن رسالة
الرد ستحمل علامة قيمتها (201) تبين انشاء المورد، أما في إن كان المورد موجود فإن
PUT ستقوم بتحديثه والرد برسالة تحمل العلامة (200) أو (204).
أمثلة على استخدام PUT:
PUT /new.html HTTP/1.1
Host: example.com
Content-type: text/html
Content-length: 16
<p>New File
</p>
·
HTTP PUT http://www.appdomain.com/users/123
·
HTTP PUT http://www.appdomain.com/users/123/accounts/456
HTTP DELETE
تستخدم لحذف مورد
من السيرفر، يقوم السيرفر بالرد برسالة تحمل علامة تبين نتيجة العملية. في حال
نجاح العملة تكون قيمة العلامة (200) وتتضمن الرسالة تفاصيل اضافية عن الوضعية، أما
في حال لم تتضمن تفاصيل اضافية تكون قيمة العلامة (204). إما في حال نجاح الطلب
لكنه ضمن قائمة الانتظار للتنفيذ لاحقا تكون قمية العلامة (202).
أمثلة على استخدام DELETE:
·
HTTP DELETE http://www.appdomain.com/users/123
·
HTTP DELETE http://www.appdomain.com/users/123/accounts/456