HTML ফর্মে ডেটা সার্ভারে পাঠানোর দুটি প্রধান HTTP মেথড: GET এবং POST। তাদের মধ্যে গুরুত্বপূর্ণ পার্থক্যগুলো নিচে দেওয়া হলো:
| বিষয় | GET মেথড | POST মেথড |
|---|---|---|
| প্যারামিটার লোকেশন | URL-এ (কোয়েরি স্ট্রিং হিসেবে) | HTTP বডি (বডি পেইলোড হিসেবে) |
| মূল উদ্দেশ্য | ডেটা/ডকুমেন্ট রিট্রিভ (পড়া) | ডেটা/ডকুমেন্ট আপডেট/ক্রিয়েট (লিখা) |
| বুকমার্ক করা | সম্ভব (URL-এ প্যারামিটার থাকায়) | সম্ভব নয় |
| সুরক্ষা | নিরাপদ নয় (ডেটা ও ক্রেডেনশিয়াল প্লেইন টেক্সটে URL-এ থাকে) | নিরাপদ (ডেটা বডিতে থাকে, URL-এ দেখা যায় না) |
| ডেটা সীমা | সর্বোচ্চ ~২০০০ ক্যারেক্টার (URL দৈর্ঘ্য সীমা) | সর্বোচ্চ ৮ MB (সার্ভার কনফিগারেশন অনুযায়ী বেশি হতে পারে) |
| ক্যাশিং | ক্যাশ হয় | ক্যাশ হয় না |
| ক্যারেক্টার সেট | শুধু ASCII | সব ক্যারেক্টার (বাইনারি ডেটাও) |
| সার্ভার কানেকশন | একবার কানেক্ট হয় | দুইবার কানেক্ট হয় (সাধারণত) |
কখন কী ব্যবহার করবেন:
- GET: সার্চ, ফিল্টার, পেজিনেশন, পাবলিক ডেটা রিট্রিভ - যেখানে ডেটা সংবেদনশীল নয় এবং বুকমার্ক/শেয়ার করা দরকার।
- POST: লগইন, রেজিস্ট্রেশন, পেমেন্ট, ফাইল আপলোড, কোনো ডেটা মডিফিকেশন - যেখানে সিকিউরিটি এবং বড় ডেটা প্রয়োজন।