এইচটিএমএল বা হাইপার টেক্সট মার্কআপ ল্যাংগুয়েজ এমন একটি ট্যাগ ভিত্তিক মার্কআপ ল্যাংগুয়েজ যেটি ব্যবহার করে একটি ওয়েব সাইটের মূল কাঠামো তৈরি করা হয়। তবে এইচটিএমএল ব্যবহার করে ওয়েব সাইটে ফর্ম, টেবিল ইত্যাদি আরও অনেক কিছু করা যায়। আজকে আমরা এইচটিএমএল ফর্মের কার্যপদ্ধতি নিয়ে আলোচনা করবো।

এইচটিএমএল প্রোগ্রামিং ল্যাঙ্গুয়েজে ফর্ম এর ডেটা দু’টি মেথড এ সাবমিট করা যায়-

* GET মেথড (উদাহরণ- “<form method=get></form>”)
*
POST মেথড (উদাহরণ- “<form method=post></form>”)

অনেকে হয়ত ভাববেন, এ দু’টি মেথড এর মধ্যে পার্থক্য টা কোথায়? কিন্তু বাস্তবিকভাবে এই দু’টি মেথড এর সঠিক প্রয়োগ অত্যন্ত গুরুত্বপূর্ণ। এমনকি যদি কোন ক্ষেত্রে এর সঠিক ব্যবহার না হয় তবে তা ওয়েবসাইট এর নিরাপত্তার উপর বড় হুমকি হতে পারে। কিভাবে? চলুন দেখে আসি।

GET মেথড এ ডেটা পাঠানো হয় নন-সিকিউর ভাবে, যেমন ধরুন কোন ওয়েবসাইট এর লগিন ফরম যদি GET মেথড এ ডেটা পাঠাতো তাহলে প্রক্রিয়াটি হত এইরকম-

ধরুন “www.sumone.com” এই ওয়েবসাইট যার “login.php” পেজ দিয়ে লগিন করতে হয়। আপনার ইউজার আইডি হল xyzsumone এবং পাসওয়ার্ড 123456. GET মেথড এ যদি এই পেজ এর লগিন ফর্ম ডিজাইন করা হয় তবে ফর্ম সাবমিট করলে আপনি এড্রেস বার এ এই ইউআরএলটি দেখতে পাবেন-

http://www.sumone.com/login.php?username=xyzsumone&pw=123456

একবার চিন্তা করুন তো, আপনার পরের ইউজার যখন একই সাইট এ ঢুকতে যাবে তখন ব্রাউজার এর এড্রেস বার এর ড্রপডাউন বক্সে জ্বলজ্বল করে উপরের এড্রেস টা দেখাবে। কিছুক্ষণ পর আপনার একাউন্ট হয়ত আর আপনার থাকবেনা।

এরকম কঠিন নিরাপত্তাহীন মেথড অবশ্যই পাসওয়ার্ড এর মত স্পর্শকাতর বিষয়ে ব্যবহার করা উচিৎ নয়। এ ক্ষেত্রে POST মেথড বেশি উপযুক্ত, কারণ এই মেথড এ ডেটা secure ট্রান্সফার হয়। যেসকল ক্ষেত্রে POST মেথড ব্যবহার করা জরুরি-

  • লগিন ফর্ম এ
  • ফিডব্যাক/কমেন্ট বক্স এ।
  • প্রাইভেট ডেটা ইনপুট ও ট্রান্সফার এ।
  • ফোরাম পেজ এ।
  • রেজেস্ট্রেশন ফর্ম এ।
  • এবং যেকোন প্রকার ফর্ম যেখানে ইনপুট এর নিরাপত্তা প্রয়োজন।

উপরের কথাগুলো পড়ে GET মেথড কে গুরুত্বহীন বলে মনে হতে পারে, কিন্তু GET মেথড এর নিজস্ব স্বকীয়তা আছে। আপনারা নিশ্চই দেখেছেন যে www.sumone.com এ GET মেথড এ ইউআরএল এর মাধ্যমেই ডেটা সেন্ড করা হয়েছিল, কিন্তু POST মেথড এ ডেটা সেন্ড করতে অবশ্যই ডেটা ইউজার ফর্ম থেকে সাবমিট করতে হয় যা ছোটখাট ওয়েব কমান্ড এর জন্য উপযুক্ত নয়। যেমন ধরুন ফেসবুক এর Like অপশন টির জন্য হাইপারলিঙ্ক ব্যবহৃত হয় যা like.php নামের একটি ফাইল এ ডেটা পাঠায়। এখন যদি ফেসবুক এর সব লাইক এ ফর্ম ব্যবহৃত হয় অর্থাৎ POST মেথড ব্যবহৃত হয় তবে পেজ এর সাইজ বাড়বে, বাটন নিয়ে ঝামেলাও সৃষ্টি হবে, আবার হাইপারলিঙ্ক ও ব্যবহার করা যাবেনা। তাই এখানে GET মেথড এই ডেটা সেন্ড করা হয়। উল্লেখ্য, GET মেথড এ ডেটা সেন্ডিং এর জন্য ইউআরএল ব্যবহার করা যায়। যেসকল ক্ষেত্রে GET মেথড ব্যবহার করা ভাল সেগুলো হল-

  • ইউআরএল দিয়ে ডেটা সেন্ড করতে।
  • যে সকল ক্ষেত্রে POST ব্যবহার করা ঝামেলাপূর্ণ।
  • এক পেজে বিভিন্ন রেফারেন্স থাকলে নির্দিষ্ট রেফারেন্স নির্দেশ করতে।
  • যেখানে POST মেথডের দরকার নেই।

একজন ডিজাইনার কোন মেথড ব্যবহার করবেন তা একান্তই তার ব্যক্তিগত সিদ্ধান্ত। তবে যাই হোক, নিরাপত্তার খাতিরে উপরের বিষয়গুলো মাথায় রাখা জরুরি।

LEAVE A REPLY

Please enter your comment!
Please enter your name here