HTTP হেডার পার্সার
র HTTP রিকোয়েস্ট বা রেসপন্স হেডার স্ট্রাকচার্ড টেবিলে পার্স করুন। স্ট্যাটাস লাইন, হেডার, কুকি ও কনটেন্ট-টাইপ তথ্য তাৎক্ষণিকভাবে বের করুন।
| নাম | ভ্যালু |
|---|
Invalid Headers
HTTP হেডার পার্সার ব্যবহারের পদ্ধতি
হেডার পেস্ট করুন
ব্রাউজার DevTools (Network ট্যাব) বা যেকোনো উৎস থেকে র HTTP হেডার কপি করে ইনপুট এরিয়ায় পেস্ট করুন।
স্বয়ংক্রিয় পার্স
হেডারগুলো তাৎক্ষণিকভাবে স্ট্রাকচার্ড টেবিলে পার্স হয়, এটি রিকোয়েস্ট না রেসপন্স তা স্বয়ংক্রিয়ভাবে শনাক্ত হয়।
বিস্তারিত পরীক্ষা
স্ট্যাটাস লাইন, পৃথক হেডার, এক্সট্র্যাক্ট করা কুকি ও content-type বিশ্লেষণ পর্যালোচনা করুন।
HTTP হেডার কী?
HTTP হেডার হলো ক্লায়েন্ট ও সার্ভারের মধ্যে HTTP রিকোয়েস্ট ও রেসপন্সে পাঠানো কী-ভ্যালু জোড়া। এগুলো রিকোয়েস্ট বা রেসপন্স সম্পর্কে মেটাডেটা বহন করে, যেমন কনটেন্ট টাইপ, ক্যাশিং নিয়ম, অথেনটিকেশন টোকেন ও কুকি তথ্য। ওয়েব অ্যাপ্লিকেশন ডিবাগ, পারফরম্যান্স অপ্টিমাইজ ও নিরাপত্তা নিশ্চিত করতে হেডার বোঝা অপরিহার্য।
রিকোয়েস্ট হেডার
ক্লায়েন্ট থেকে সার্ভারে পাঠানো হয়, যার মধ্যে Host, User-Agent, Accept, Authorization ও Cookie হেডার।
রেসপন্স হেডার
সার্ভার থেকে ক্লায়েন্টে ফেরত পাঠানো হয়, যার মধ্যে Content-Type, Set-Cookie, Cache-Control ও X-Request-Id হেডার।
নিরাপত্তা হেডার
Content-Security-Policy, Strict-Transport-Security ও X-Frame-Options-এর মতো হেডার যা নিরাপত্তা বাড়ায়।
সাধারণ জিজ্ঞাসা
হ্যাঁ। পার্সারটি প্রথম লাইনের ভিত্তিতে ইনপুটটি HTTP রিকোয়েস্ট না রেসপন্স তা স্বয়ংক্রিয়ভাবে শনাক্ত করে সেই অনুযায়ী পার্স করে। রিকোয়েস্ট লাইন HTTP মেথড দিয়ে (GET, POST ইত্যাদি) শুরু হয়, আর রেসপন্স লাইন শুরু হয় HTTP/version দিয়ে।
হ্যাঁ। Set-Cookie হেডারগুলো পৃথক কুকিতে পার্স হয়ে নাম, ভ্যালু ও সব ফ্ল্যাগ দেখায়, যেমন HttpOnly, Secure, SameSite, Path, Domain ও Max-Age।
স্ট্যান্ডার্ড HTTP/1.1 ও HTTP/2 হেডার ফরম্যাট, প্রতি লাইনে একটি হেডার "Name: Value" আকারে। ব্রাউজারের ডেভেলপার টুল থেকে সরাসরি হেডার কপি করতে পারেন।
রিকোয়েস্টে সাধারণত থাকে host, user-agent, accept, accept-encoding ও cookie; রেসপন্সে জবাব আসে content-type, content-length, cache-control, set-cookie ও date দিয়ে। API ট্রাফিকে যাওয়ার পথে যোগ হয় authorization ও content-type: application/json, আর ফেরার পথে rate-limit হেডার। RFC 9110 (HTTP semantics, 2022) হলো এগুলো সব সংজ্ঞায়িতকারী আধুনিক রেফারেন্স।
রিকোয়েস্ট হেডার (host, authorization, accept-*) বর্ণনা করে ক্লায়েন্ট কী চায়; রেসপন্স হেডার (location, set-cookie, retry-after) বর্ণনা করে কী ফিরে এসেছে। কিছু ফিল্ড দুই দিকেই থাকে (cache-control, content-type), আর কয়েকটি মেসেজ কনটেন্টের বদলে কানেকশন নিজকে নিয়ন্ত্রণ করে (connection: keep-alive)। এই পার্সার প্রতিটি হেডার কোন পক্ষের তা চিহ্নিত করে।
RFC 9110 অনুযায়ী, পুনরাবৃত্ত বেশিরভাগ ফিল্ড একটি কমা-বিভাজিত তালিকায় একত্রিত হয় - দুটি cache-control লাইন আর no-cache, no-store লেখা একটি লাইন সমতুল্য। Set-Cookie হলো ডকুমেন্টেড ব্যতিক্রম: এটি কখনোই কমা-মার্জ হতে পারে না কারণ Expires তারিখে কমা থাকে, তাই প্রক্সিদের প্রতিটি Set-Cookie আলাদাভাবে ফরওয়ার্ড করতে হয়। সেই ব্যতিক্রমই প্রক্সি বাগের একটি ক্লাসিক উৎস।
ফিল্ড নাম ছোট হাতের হয়েছে এবং HPACK বা QPACK-সংকুচিত বাইনারি ফ্রেম হয়ে চলাচল করে; প্রতিটি রিকোয়েস্ট নিজস্ব স্ট্রিম খোলে, আর Host-এর মতো প্রতি-কানেকশন হেডার :method, :scheme ও :path-এর পাশে :authority সিউডো-হেডার দিয়ে প্রতিস্থাপিত হয়েছে। শব্দার্থিকভাবে ফিল্ডগুলো এখনো RFC 9110 অনুসরণ করে - ওয়্যার ফরম্যাট বদলেছে, শব্দভাণ্ডার নয়।
ফিল্ড নাম ও কোলনের মাঝে হোয়াইটস্পেস (Header : value) - HTTP/1.1 পার্সিং ও HTTP/2 স্পেসিফিকেশন দুটোই এটি প্রত্যাখ্যান করে রিকোয়েস্ট সমগ্লিং ঠেকাতে। আরও অবৈধ: ফিল্ড নামের ভেতরে স্পেস বা non-ASCII বাইট, ভ্যালুতে কন্ট্রোল ক্যারেক্টার, আর obs-fold (ইনডেন্ট করা লাইন দিয়ে চলমান হেডার), যা RFC 9110 ডেপ্রিকেটেড চিহ্নিত করেছে - একটি একক লাইন বা লিস্ট ভ্যালু দিয়ে প্রতিস্থাপন করুন।
সম্পর্কিত সরঞ্জাম
প্রামাণ্য রেফারেন্স
এই সরঞ্জামের পেছনের মূল উৎস — দ্বিতীয় হাতের সারাংশ নয়, বরং অফিসিয়াল স্ট্যান্ডার্ড ও স্পেসিফিকেশন।
RFC 9110 - HTTP Semantics
সব সাধারণ হেডার ফিল্ড সংজ্ঞায়িত করা IETF HTTP সিমান্টিক্স স্ট্যান্ডার্ড (2022)।
MDN Web Docs - HTTP Headers
HTTP রিকোয়েস্ট ও রেসপন্স হেডারের তালিকা, ব্যবহার-নোটসহ — Mozilla রেফারেন্স।
List of HTTP header fields - Wikipedia
HTTP/1.1, HTTP/2 ও HTTP/3 জুড়ে HTTP হেডার ফিল্ডের ক্যাটালগ।