NameCheap-Hosting

استفد من الخصومات على خدمات الاستضافة بمختلف انواعها

VPS hosting: up to 30% off!

الاثنين، 11 فبراير 2019

HTTP Methods


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