HTML অনুরোধ পদ্ধতি

HTTP কী?

হাইপারটেক্সট ট্রান্সফার প্রোটোকল (Hypertext Transfer Protocol, সংক্ষেপ HTTP) ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ সম্প্রসারণের জন্য উদ্দেশ্যিক

HTTP ক্লায়েন্ট এবং সার্ভারের মধ্যে প্রতিক্রিয়া-প্রতিক্রিয়া প্রোটোকল হিসাবে কাজ করে。

উদাহরণ: ক্লায়েন্ট (ব্রাউজার) থেকে সার্ভারের কাছে HTTP অনুরোধ পাঠানো; তারপর সার্ভার ক্লায়েন্টকে প্রতিক্রিয়া পাঠায়। প্রতিক্রিয়াতে অনুরোধের অবস্থা সংক্রান্ত তথ্য থাকে, এবং অনুরোধ করা সামগ্রীও থাকতে পারে。

HTTP পদ্ধতি

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

সবচেয়ে সাধারণ দুইটি পদ্ধতি হল: GET এবং POST。

GET পদ্ধতি

GET মাধ্যমটি নির্দিষ্ট সম্বন্ধিত সম্পদ থেকে তথ্য অনুরোধ করতে ব্যবহৃত হয়。

GET হল সবচেয়ে সাধারণ একটি HTTP পদ্ধতি।

মনে রাখুন, কোর্সিং স্ট্রিং (নাম/মূল্য যুগ্ম) GET প্রয়োগের URL-তে পাঠিয়ে যাওয়া হয়:

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

GET প্রয়োগটির অন্যান্য কিছু মন্তব্য:

  • GET প্রয়োগটি ক্যাশে হতে পারে
  • GET প্রয়োগটির মাধ্যমে পাঠিয়ে যাওয়া ডাটা ব্রাউজারের ইতিহাসে সংরক্ষণ করা হবে
  • GET প্রয়োগটি বুকমার্ক হিসাবে সংরক্ষণ করা যাবে
  • সংবেদনশীল ডাটা প্রক্রিয়াকরণের সময় GET প্রয়োগটি ব্যবহার করা হবে না
  • GET প্রয়োগটির দৈর্ঘ্যের প্রয়োজন নেই
  • GET প্রয়োগটি শুধুমাত্র ডাটা নিয়ে আসার জন্য ব্যবহৃত হবে (সংশোধন না করা)

PUT পদ্ধতি

POST পদ্ধতির মাধ্যমে ডাটা সার্ভারে পাঠিয়ে সম্পদকে সৃষ্টি/সংশোধন করা হয়。

POST দ্বারা সার্ভারে পাঠিয়ে যাওয়া ডাটা HTTP প্রয়োগের প্রয়োগশৃঙ্খলায় সংরক্ষিত হয়:

POST /test/demo_form.php HTTP/1.1
Host: 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 প্রয়োগকে প্রস্তুত করার আগে (যেমন, বড় ফাইল ডাউনলোড করা অথবা প্রতিক্রিয়ার মূল পাঠ ডাউনলোড করার আগে) যেটা GET প্রয়োগকে প্রত্যাহার করবে, তা পরীক্ষা করার জন্য অত্যন্ত উপযোগী।

DELETE পদ্ধতি

DELETE পদ্ধতি নির্দিষ্ট সম্পদকে মুছে ফেলে。

OPTIONS পদ্ধতি

OPTIONS পদ্ধতি লক্ষ্যণীয় সম্পদের যোগাযোগ বিকল্পগুলি বর্ণনা করে。

GET এবং POST-এর তুলনা

নিচের টেবিলটি দুই HTTP পদ্ধতিকে তুলনা করে: GET এবং POST。

  GET POST
পিছনে যাওয়া বাটন/রিফ্রেশ হৃদয়ক্ষত ডাটা পুনরায় জমা দেওয়া হবে (ব্রাউজারটি ব্যবহারকারীকে জানাতে হবে যে ডাটা পুনরায় জমা দেওয়া হবে)。
বুকমার্ক বুকমার্ক হিসাবে সংরক্ষণ করা যায় বুকমার্ক হিসাবে সংরক্ষণ করা যাবে না
ক্যাশ ক্যাশ হতে পারে ক্যাশ করা যাবে না
এনকোডিং ধরন application/x-www-form-urlencoded application/x-www-form-urlencoded বা multipart/form-data।বাইনারি ডাটা জন্য ব্যবহার করুন বহুমুখী এনকোডিং
ইতিহাস পারামিটার ব্রাউজার ইতিহাসে সংরক্ষিত পারামিটার ব্রাউজার ইতিহাসে সংরক্ষিত হয় না
ডাটা দৈর্ঘ্যের নিয়ন্ত্রণ হ্যাঁ।ডাটা পাঠানোর সময় GET পদ্ধতি URL-তে ডাটা যোগ করে; URL-এর দৈর্ঘ্য নিয়ন্ত্রিত (URL-এর মহত্ত্ব হল ২০৪৮ অক্ষর) কোনও নিয়ন্ত্রণ নেই
ডাটা ধরনের নিয়ন্ত্রণ শুধুমাত্র ASCII অক্ষরগুলি অনুমোদিত কোনও নিয়ন্ত্রণ নেই।আবারও বাইনারি ডাটা অনুমোদিত
সুরক্ষা

POST-তে তুলনায় GET-এর সুরক্ষা কম, কারণ পাঠানো ডাটা URL-এর একটি অংশ

পাসওয়ার্ড ও অন্যান্য সংবেদনশীল তথ্য পাঠাতে GET-এর ব্যবহার করবেন না!

POST GET-তে সুরক্ষিত, কারণ পারামিটার ব্রাউজার ইতিহাস ও web সার্ভার লগে সংরক্ষিত হয় না
দৃশ্যমানতা ডাটা URL-তে সকলের কাছে দেখা যাবে ডাটা URL-তে দেখা যাবে না