http request
HTTP তে রিকুয়েস্ট
- HTTP তে রিকুয়েস্ট করার জন্য বেশ কয়েকটা মেথড আছে
- তাদেরকে আদর করে HTTP Verbs ডাকা হয়
- প্রতিটা মেথডের আলাদা কাজ আছে, দয়া করে উল্টা পাল্টা ব্যাবহার করবেন না
- HTTP Verbs গুলা আবার safe, idempotent, বা cacheable হতে পারে( এগুলা নিয়ে পরে কথা হবে)
HTTP তে রিকুয়েস্ট বহুল ব্যাবহত মেথডগুলা হচ্ছে
- GET: শুধুমাত্র সার্ভার থেকে ডাটা দেখার জন্য ব্যাবহার করা হয়
- POST: সার্ভারে নতুন ডাটা তৈরি করার জন্য ব্যাবহার করা হয়
- PUT: সার্ভারে ডাটা পরিবর্তন করার জন্য ব্যাবহার করা হয
- DELEET: সার্ভারে ডাটা ডিলিট করার জন্য ব্যাবহার করা হয
HTTP Request মেসেজ এ চারটা ভাগ থাকে
- Start-line or Request Line
- Request Headers
- Blank line
- Request Body (অপশনাল)
1. Start-line or Request Line
রেকুয়েস্ট লাইন ৩ ভাগে বিভক্ত
i. Method
এইবার আসেন মেথডের ধরন নিয়া কথা বলি, আইটি ফার্মে ভাইভার জন্য উপকারী। যে সকল মেথড সার্ভারে কোন পরিবর্তন করে না, শুধু মাত্র রিড অনলি অপারেশন চালায় তারাই সেফ মেথড। যদি নাম বলতে বলেন, তাহলে GET, HEAD এবং OPTION এর কথা বলা যায়
যে সকল মেথড একবার চালালে যে পরিবর্তন হয় ১০০ বার চালালেও তার থেকে বেশি পরিবর্তন হয় না, তাদেরকে আইডেমপটেন মেথড বলে। GET, HEAD, PUT এবং DELETE হল আইডেমপটেন মেথড। তারমানে একটা জিনিষ একবার ডিলিট করলে যা ১০০ বার ডিলিট করলেও সার্ভারে একই পরিবর্তন হবে। পেঁচ দিয়ে বলে দেয়া যায়, হয় সকল সেফ মেথড আইডেমপটেন কিন্তু সকল আইডেমপটেন সেফ না।
ii. Path
পাথ হচ্ছে সার্ভারের একটা রিসোর্স এর ঠিকানা। মানে URL
iii. Protocol
প্রোটকল ভার্সন হচ্ছে HTTP এর কোন ভার্সন এ ক্লায়েন্ট সার্ভারের সাথে যোগাযোগ করছে। এখন HTTP/2.0 হচ্ছে লেটেস্ট ভার্সন।
2. Request Headers
রিকুয়েস্ট হেডার হচ্ছে কি-ভ্যালূ পেয়ার। একটা কি এর ভ্যালু কোলন দিয়ে সেপারেট করা থাকে। একটা রেকুয়েস্টে একাধিক হেডার থাকতে পারে।
3. Blank line
এটা হচ্ছে একটা ফ্ল্যাগের মত কাজ করে, যাতে করে সার্ভার বুঝতে পারে সব হেডার পড়া হয়ে গেছে।
4. Request Body
রিকুয়েস্ট বডি হচ্ছে অপশনাল। সাধারণত POST এবং PUT এ বডি থাকে। GET এবং DELETE এ বডি থাকে না। রিকুয়েস্ট বডি হচ্ছে যদি আমরা ক্লায়েন্ট থেকে সার্ভারে কিছু ডাটা পাঠাতে চাই কিন্তু url এর মধ্যে না।