HTML درخواست طریقہ کار

HTTP کیا ہے؟

ہائپر ٹیکسٹ ٹرانسفر پروٹوکول (Hypertext Transfer Protocol، مختصراً HTTP) کلائنٹ اور سرور کے درمیان مواصلات کو ممکن بنانے کے لئے بنایا گیا ہے。

HTTP کلائنٹ اور سرور کے درمیان درخواست-جواب پروٹوکول کے طور پر کام کرتا ہے。

مثال: کلائنٹ (براؤزر) سے سرور کو HTTP درخواست فرستائی جاتی ہے؛ بعد میں سرور کلائنٹ کو جواب بھیجتا ہے۔ جواب میں درخواست کی حالت کی معلومات شامل ہوتی ہیں، ممکن ہے کہ درخواست کی معلومات بھی شامل ہوں。

HTTP طریقہ کار

  • گت
  • پست
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

کم از کم استعمال کئے جانے والی دو طریقے کار: GET اور POST ہیں。

GET طریقہ کار

GET استعمال کیا جس کا معنا ہے سکریئن سے معلومات طلب کرنا。

GET یکی از رایج‌ترین روش‌های HTTP است.

لطفاً توجه داشته باشید که جستجوstring (زوج نام/مقدار) در URL درخواست GET ارسال می‌شود:

/test/demo_form.php?name1=value1&name2=value2

نکات دیگری در مورد درخواست‌های GET:

  • درخواست‌های GET می‌توانند ذخیره شوند
  • درخواست‌های GET در تاریخچه مرورگر باقی می‌مانند
  • درخواست‌های GET می‌توانند به عنوان نشانگر ذخیره شوند
  • درخواست‌های GET نباید در هنگام پردازش داده‌های حساس استفاده شوند
  • درخواست‌های GET محدودیت طول دارند
  • درخواست‌های GET فقط باید برای بازیابی داده‌ها (بدون تغییر) استفاده شوند.

روش POST

POST برای ارسال داده به سرور برای ایجاد/به‌روزرسانی منبع استفاده می‌شود.

داده‌هایی که از طریق POST به سرور ارسال می‌شوند در بدنه درخواست HTTP ذخیره می‌شوند:

POST /test/demo_form.php HTTP/1.1
است میزبان: codew3c.com
name1=value1&name2=value2

POST یکی از رایج‌ترین روش‌های HTTP است.

نکات دیگری در مورد درخواست‌های POST:

  • درخواست POST نمی‌تواند ذخیره شود
  • درخواست POST در تاریخچه مرورگر باقی نمی‌ماند
  • درخواست POST نمی‌تواند به عنوان نشانگر ذخیره شود
  • درخواست POST طول داده را ندارند.

روش PUT

PUT برای ارسال داده به سرور برای ایجاد/به‌روزرسانی منبع استفاده می‌شود.

تفاوت بین POST و PUT این است که درخواست PUT幂等的 است (idempotent). یعنی، چندین بار فراخوانی درخواست PUT مشابه همیشه نتیجه یکسانی را تولید خواهد کرد. در مقابل، فراخوانی مکرر درخواست POST باعث ایجاد اثرات جانبی چندین بار ایجاد منبع مشابه می‌شود.

روش HEAD

HEAD تقریباً مشابه GET است، اما بدون بدنه پاسخ.

به عبارت دیگر، اگر GET /users لیست کاربران را برمی‌گرداند،HEAD /users درخواست مشابهی را ارسال خواهد کرد، اما لیست کاربران را برمی‌گرداند.

درخواست HEAD برای بررسی محتوای درخواست GET قبل از ارسال آن بسیار مفید است (مثلاً قبل از دانلود فایل‌های بزرگ یا محتوای پاسخ).

روش DELETE

روش DELETE منبع مشخص شده را حذف می‌کند.

روش OPTIONS

روش OPTIONS توضیح می‌دهد که گزینه‌های ارتباطی منبع هدف چیست.

مقایسه GET و POST

جدول زیر دو روش HTTP: GET و POST را مقایسه می‌کند.

  گت پست
دکمه بازگشت/نوپدیدسازی بی‌ضرر داده‌ها دوباره ارسال خواهند شد (باید به کاربر اطلاع داده شود که داده‌ها دوباره ارسال خواهند شد).
نشانگر می‌توان به عنوان نشانگر ذخیره شود نمیتواند به عنوان نشانگر ذخیره شود
کینک بند سنی سینکل کمپوزیشن نہیں کی جاسکتی
کد کی نوعیت application/x-www-form-urlencoded application/x-www-form-urlencoded یا multipart/form-data. باینری معلومات کے لئے بائیلی کا استعمال کریں۔
تاریخ پارامٹر بروزر تاریخ میں محفوظ رہتے ہیں۔ پارامٹر بروزر تاریخ میں نہیں محفوظ رہتے ہیں۔
داده کی لمبائی پر محدودیت ہاں، جب معلومات بھیجائی جائیں تو GET طریقہ URL میں معلومات جوڑتا ہے؛ URL کی لمبائی محدود ہے (URL کی سب سے زیادہ لمبائی 2048 اشاروں کا ہوگا)۔ محدودیت نہیں ہے۔
داده کی نوعیت پر محدودیت فقط ASCII اشاروں کو اجازت دی جاتی ہیں۔ محدودیت نہیں ہے، باینری معلومات بھی اجازت دی جاتی ہیں۔
سیکورٹی

POST کے مقابلے میں GET کی سیکورٹی کم ہے، کیونکہ بھیجائی جانے والی داده پیج کا حصہ بنتی ہیں۔

پارامٹر یا دوسرے حساس معلومات کو بروزر تاریخ میں استعمال نہ کریں!

POST GET سے زیادہ محفوظ ہے، کیونکہ پارامٹر بروزر تاریخ میں یا وائب سرور کے لگاتار میں نہیں محفوظ رہتے ہیں۔
بقائی داده پیج کی آدرس میں سب کے لئے دیکھائی جاتی ہیں。 داده پیج کی آدرس میں دکھائی نہیں دی جائیں گی。