HTTP এর বিবর্তন - ৩ঃ রিস্পন্স মেসেজ

httphttp-response

শুরুর আগেঃ ব্লগে আগে রিচ টেক্সট এডিটর হিসাবে quill editor ছিল। কিন্তু প্রতিবার পোস্ট সেভ করার পর কোন না কোন সমস্যা লেগেই থাকত। তাই নতুন রিচ টেক্সট এডিট যুক্ত করেছি, নাম angular-editor 


HTTP Response

আসলে HTTP Response মেসেজ এর রিকুয়েস্ট মেজেস একই রকম স্ট্রাকচার মেনে চলে। সামান্য কিছু পরিবর্তন আছে। সেগুলা নিয়েই কথা বলা যাক।

HTTP Response মেসেজে চারটা ভাগ থাকে 
  • Status line
  • Response Headers
  • Blank line and 
  • Response Body (অপশনাল)

Image result for http response

Status Line

Status line লাইনে তিনটা আইটেম থাকে 
  • HTTP Protocol Version
  • Status Code and
  • Status Text 
  • Example: HTTP/1.1   404 Not   Found.

HTTP Protocol Version

HTTP এর কোন ভার্সন ব্যাবহার করতেছি সেটা দেখাবে 

Status Code

এটা খুবই ইম্পরট্যান্ট একটা জিনিষ। ক্লায়েন্ট রিকোয়েস্টের জন্য সার্ভার একটা কোড রিটার্ন করে। এই কোড থেকে ক্লায়েন্ট বুঝতে পারে, আসলে সার্ভার কি দিয়েছে। আপনি চাইলেই এই কোডের অপব্যাবহার করতে পারেন। তাই রেস্ট এর ক্ষেত্রে বেশিরভাগ মানুষ মেনে নিয়েছে এমন ব্যাবহার লিখছি, যেগুলা আমি নিজেও ফলো করি। 

প্রথমত সমস্ত স্ট্যাটাস কোডকে পাচ ভাগে ভাগ করা হয়েছে 
  1. 1XX: এক দিয়ে শুরু সব কিছু প্রোটকল লেভেল ইনফরমেশন, এগুলা আমাদের খুব একটা কাজে লাগার কথা না 
  2. 2XX: ২ দিয়ে শুরু মানে হচ্ছে সাকসেস 
  3. 3XX: ৩ দিয়ে শুরু মানে হচ্ছে রেডিরেক্ট 
  4. 4XX: ৪ দিয়ে শুরু মানে হচ্ছে সমস্যা এবং যেটা হয়েছে মূলত ক্লায়েন্ট এর ভুলে 
  5. 5XX: ৫ দিয়ে শুরু মানেও হচ্ছে সমস্যা কিন্তু এটা হয়েছে সার্ভারের কারণে  

এখানে 2XX এর মেসেজ বেশি গুরুত্বপুর্ন, তাই দেখে নেই কখন কোন কোড ব্যাবহার করব 

200ঃ সব GET, PUT এবং DELETE এর ক্ষেত্রে  যাদের আইডেম্পটেন হিসাবে ধরা হয় এবং রেসপন্স বডি থাকে 
201ঃ POST রিকোয়েস্ট এর ক্ষেত্রে  যদি সেই পোষ্টের রেসপন্সে বডি  থাকে  
202ঃ POST, PUT, DELETE যদি সফল হয় এবং কোন রেসপন্স বডি না থাকে কিন্তু সার্ভার ডাটা প্রসেস করবে 
204ঃ GET, PUT এবং DELETE   এর জন্য যাদের কোন রেসপন্স বডি থাকে না এবং এর কোন প্রসেসিং নাই 

Status Text 

স্ট্যাটাস টেক্সট হচ্ছে, কোডের পাশাপাশি মানুষ পড়তে পারে এমন একটা মেসেজ দেয়া 


 Response Headers

Response message এর হেডার আবার কয়েক ভাগে বিভক্ত থাকে 
  • জেনেরাল হেডারঃ যেকন সাধারণ তথ্য এখানে রাখা যায় 
  • রেসপন্স হেডারঃ  সার্ভার সম্পর্কিত তথ্য  এবং
  • এন্টিট্টি হেডারঃ  রেসপন্স বডির সাথে রিলেটেড তথ্য 


Blank line

Blank line স্পেশালি বলার কিছু নাই। হেডার থেকে বডিকে আলাদা করার জন্য ব্যাবহার করা হয়  

Response body

 তিন ধরনের বডি থাকে 
  •  Single resource body একটা ছোট ফাইল, যার কন্টেন্ট টাইপ এবং কন্টেন্ট এর লেন্থ জানা থাকে। ছোট খাট বডি 
  •  Single resource body একটা বড় ফাইল যার লেন্থ জানা নাই এবং তাকে chunked আকারে পাঠানো হয় 
  • Multiple resource bodies অনেকগুলা ফাইল থাকে যাদের বডিকে  পার্ট পার্ট আকারে করে পাঠায় 

HTTP চলবে ... 

Tonmoy
Nov 8, 2019

Thanks for the very informative post.