HTTP এর বিবর্তন - ২ঃ রিকুয়েস্ট মেসেজ


Posted on 3 de jun de 2020 15:54:38


HTTP তে অনেকগুলা রিকুয়েস্ট করার জন্য বেশ কয়েকটা মেথড আছে, তাদেরকে আদর করে HTTP Verbs ডাকা হয়। প্রতিটা মেথডের আলাদা কাজ আছে, দয়া করে না জেনে তাদের উল্টা পাল্টা ব্যাবহার করবেন না।

শুরুর আগে 

আগের লেখায় ঘুরতে ঘুরতে HTTP Message এ গিয়ে শেষ করে ছিলাম। ২ রকম মেসেজ থাকে। রিকুয়েস্ট এবং রিস্পন্স মেসেজ। এখন রিকুয়েস্ট মেসেজ এর বিস্তারিত দেখার চেষ্টা করব।


HTTP Request

HTTP Request  মেসেজ এ চারটা ভাগ থাকে

  • Start-line or Request Line
  • Request Headers
  • Blank line
  • Request Body (অপশনাল)
Image result for http request
  • Method
  • Path
  • Version of HTTP Protocol

  • HTTP তে রিকুয়েস্ট করার জন্য বেশ কয়েকটা মেথড আছে
  • তাদেরকে আদর করে HTTP Verbs ডাকা হয়
  • প্রতিটা মেথডের আলাদা কাজ আছে, দয়া করে উল্টা পাল্টা ব্যাবহার করবেন না
  • HTTP Verbs গুলা আবার safe, idempotent, বা cacheable হতে পারে( এগুলা নিয়ে পরে কথা হবে)। আমি লতা থেকে পাতায় চলে যাচ্ছি
  • কিছু বহুল ব্যাবহত মেথড হচ্ছে
  • GET:  শুধুমাত্র সার্ভার থেকে ডাটা দেখার জন্য ব্যাবহার করা হয়
  • POST: সার্ভারে নতুন ডাটা তৈরি করার জন্য ব্যাবহার করা হয়
  • PUT:  সার্ভারে ডাটা পরিবর্তন করার জন্য ব্যাবহার করা হয
  • DELEET:  সার্ভারে ডাটা ডিলিট করার জন্য ব্যাবহার করা হয
সেফ মেথড
আইডেমপটেন মেথড
Path
Version of HTTP Protocol
Request Headers
Blank line
Request Body

Start-line or Request Line

রেকুয়েস্ট লাইন ৩ ভাগে বিভক্ত

Method


এইবার আসেন মেথডের ধরন নিয়া কথা বলি, আইটি ফার্মে ভাইভার জন্য উপকারী


যে সকল মেথড সার্ভারে কোন পরিবর্তন করে না, শুধু মাত্র রিড অনলি অপারেশন চালায় তারাই সেফ মেথড। যদি নাম বলতে বলেন, তাহলে GET, HEAD এবং OPTION এর কথা বলা যায়


যে সকল মেথড একবার চালালে যে পরিবর্তন হয় ১০০ বার চালালেও তার থেকে বেশি পরিবর্তন হয় না, তাদেরকে আইডেমপটেন মেথড বলে। GET, HEAD, PUT এবং DELETE হল আইডেমপটেন মেথড। তারমানে একটা জিনিষ একবার ডিলিট করলে যা ১০০ বার ডিলিট করলেও সার্ভারে একই পরিবর্তন হবে। পেঁচ দিয়ে বলে দেয়া যায়, হয় সকল সেফ মেথড আইডেমপটেন কিন্তু সকল আইডেমপটেন সেফ না।


পাথ হচ্ছে সার্ভারের একটা রিসোর্স এর ঠিকানা। মানে URL



প্রোটকল ভার্সন হচ্ছে HTTP এর কোন ভার্সন এ ক্লায়েন্ট সার্ভারের সাথে যোগাযোগ করছে। এখন HTTP/2.0 হচ্ছে লেটেস্ট ভার্সন।



রিকুয়েস্ট হেডার হচ্ছে কি-ভ্যালূ পেয়ার। একটা কি এর ভ্যালু কোলন দিয়ে সেপারেট করা থাকে। একটা রেকুয়েস্টে একাধিক হেডার থাকতে পারে।



Blank line হচ্ছে একটা ফ্ল্যাগের মত কাজ করে, যাতে করে সার্ভার বুঝতে পারে সব হেডার পড়া হয়ে গেছে।



রিকুয়েস্ট বডি হচ্ছে অপশনাল। সাধারণত POST এবং PUT এ বডি থাকে। GET এবং DELETE এ বডি থাকে না। রিকুয়েস্ট বডি হচ্ছে যদি আমরা ক্লায়েন্ট থেকে সার্ভারে কিছু ডাটা পাঠাতে চাই কিন্তু url এর মধ্যে না।


HTTP চলবে ...