HTTP হল ইন্টারনেটে তথ্য আদান-প্রদানের জন্য জনপ্রিয় ও বহুল প্রচলিত পদ্ধতি। দুইটি বহুল ব্যবহৃত HTTP মেথড হলো - get মেথড ও post মেথড.
হাইপার টেক্সট টান্সফার প্রোটোকল (HTTP) কে মুলত সার্ভারের সাথে ক্লায়েন্টের যোগাযোগ করার জন্য ডিজাইন করা হয়েছে। HTTP প্রোটোকল হচ্ছে ব্রাউজার এবং সার্ভারের মধ্যে রিকোয়েস্ট এবং রেসপন্স এর আদান-প্রদান, যেখানে ওয়েব ব্রাউজার এবং সার্চ ইঞ্জিন ইত্যাদি HTTP ক্লায়েন্টের মত কাজ করে এবং ওয়েব সার্ভার অর্থাৎ যেখানে কোন ওয়েব সাইট হোস্ট করা হয়ে থাকে, তা সার্ভার রুপে কাজ করে।
এইচটিটিপি এর সকল মেথড গুলো হল নিম্নরুপ -
বহুল ব্যবহার কয়েকটি HTTP মেথডের মধ্যে অন্যতম একটি হল GET মেথড। কোন get রিকুয়েস্টে কুয়েরি করা স্ট্রিং কে নাম এবং মানের জোড়া আকারে URL এর মাধ্যমে পাঠানো হয়ে থাকে। নিচে এর একটি উদাহরণ দেখুন।
/test/test_form.php?name1=value1&name2=value2
get রিকুয়েস্টের সম্পর্কে গুরুত্বপূর্ণ কিছু তথ্য -
একটি post মেথডের কোন রিকুয়েস্টে কুয়েরিক করা স্ট্রিং কে নাম এবং মানের জোড়া আকারে এইচটিটিপি(HTTP) ম্যাসেজ এর বডিতে পাঠানো হয়। নিছে এর একটি উদাহরণ দেখুন।
POST /test/test_form.php HTTP/1.1 Host: websschool.com name1=value1&name2=value2
POST মেথডের কোন রিকুয়েস্টের সম্পর্কে গুরুত্বপূর্ণ কিছু তথ্য -
PUT মেথড সার্ভারে কোন ডাটা পাঠাতে ব্যবহার করা হয়, যা সার্ভারে কোন রিসোর্স তৈরি বা আপডেট করতে ব্যবহৃত হয়।
POST এবং PUT এর মধ্যে পার্থক্য হল PUT রিকোয়েস্টগুলি idempotent। একই PUT রিকোয়েস্ট একাধিক বার সবসময় একই ফলাফল উত্পাদন করবে। বিপরীতে,
একটি POST রিকোয়েস্ট বারবার একই রিসোর্স একাধিক বার তৈরির পার্শ্ব প্রতিক্রিয়া আছে।
HEAD মেথড হল অনেকতা get মেথড এর মতো, কিন্তু শুধু এইচটিটিপি (HTTP) হেডার এর মধ্যে রিটার্ন করে এবং এর কোন ডকুমেন্ট বডি নেই।
যদি GET / ব্যবহারকারী ব্যবহারকারীদের একটি তালিকা ফেরত দেয়, তবে HEAD / ব্যবহারকারী একই অনুরোধ করবে কিন্তু ব্যবহারকারীদের তালিকা
কোন ফেরত দেবে না।
HEAD রিকোয়েস্ট, একটি GET রিকোয়েস্ট করার আগে একটি GET রিকোয়েস্ট ফিরে আসবে কি তা পরীক্ষা বা checke করার জন্য দরকারী, যেমন কোন বড়
ফাইল ডাউনলোড করার আগে তা পরীক্ষা করার মত।
নির্দিষ্ট কোন রিসোর্স কে ডিলেট করতে DELETE মেথড ব্যবহার করা হয়।
নির্ধারিত রিসোর্স কে communication options অর্থাৎ এইচটিটিপি (HTTP) ম্যাসেজ রিটার্ন করতে OPTIONS মেথড ব্যবহার করা হয়।
নিচে GET মেথড এবং POST মেথড এর মধ্যে তুলনা দেখানো হয়েছে।
গেট(GET) | পোস্ট(POST) | |
---|---|---|
ব্যাক বাটন(Back Button)/পূনঃলোড(Reload) | এতে কোন সমস্যা হয় না। | এতে তথ্য পূনরায় সাবমিট হবে এবং এই সম্পর্কে ব্রাউজার ব্যবহারকারি কে সতর্ক করে। |
বুকমার্ক(Bookmarked) | এতে বুকমার্ক হতে পারে। | এতে বুকমার্ক হয় না। |
ক্যাচড(Cached) | এতে ক্যাচড বা Cached থাকে। | এতে ক্যাচড বা Cached থাকে না। |
এনকোডিং (encoding) টাইপ | এতে এপ্লিকেশনে ইউআরএল (URL)এনকোড করে। | এতে এপ্লিকেশনে ইউআরএল (URL)এনকোড করে অথবা বিভিন্ন বাইনারি ডাটা এনকোড করে। |
ব্রাউজার হিস্টোরি | এতে প্যারামিটার গুলো ব্রাউজারের ইতিহাস বা history তে সংরক্ষিত হয়। | এতে প্যারামিটার গুলো ব্রাউজারের ইতিহাস বা history তে সংরক্ষিত হয় না। |
নিরাপত্তা | এটা পোস্ট মেথড অপেক্ষায় কম নিরাপদ। এতে সেন্সিটিভ তথ্য(ই-মেইল, পাসোয়ার্ড) পাঠানোর ক্ষেত্রে গেট(get) রিকুয়েস্ট কখনোই ব্যবহার করা উচিত নয়। | এটা গেট(GET) মেথড অপেক্ষায় অধিক নিরাপদ। এতে সর্বদা সেন্সিটিভ এবং অধিক তথ্য একত্রে পাঠানোর ক্ষেত্রে পোস্ট(post) রিকুয়েস্ট ব্যবহার করা উচিত। |
দৃশ্যমান(Visibility) | এটা ব্রাউজারের URL এ প্রদর্শিত হয়। | এটা ব্রাউজারের URL এ প্রদর্শিত হয় না। |
HTTM এর পদ্ধতি সম্পর্কে আরও জানতে W3C এর HTTP - Hypertext Transfer Protocol ওয়েব পেজটি ব্রাউজ করুন।