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

httphttp-request


শুরুর আগে 

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


HTTP Request

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

  • Start-line or Request Line
  • Request Headers
  • Blank line
  • Request Body (অপশনাল)

Image result for http request


Start-line or Request Line

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

  • Method
  • Path
  • Version of HTTP Protocol


Method

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


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


সেফ মেথড

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


আইডেমপটেন মেথড

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


Path

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



Version of HTTP Protocol

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



Request Headers

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



Blank line

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



Request Body

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


HTTP চলবে ...



Tonmoy
Nov 8, 2019

Thanks for the very informative post.