HTTP হেডার পার্সার

র HTTP রিকোয়েস্ট বা রেসপন্স হেডার স্ট্রাকচার্ড টেবিলে পার্স করুন। স্ট্যাটাস লাইন, হেডার, কুকি ও কনটেন্ট-টাইপ তথ্য তাৎক্ষণিকভাবে বের করুন।

স্বয়ংক্রিয় টাইপ শনাক্তকরণ কুকি এক্সট্র্যাকশন Content-Type বিশ্লেষণ

HTTP হেডার পার্সার ব্যবহারের পদ্ধতি

1

হেডার পেস্ট করুন

ব্রাউজার DevTools (Network ট্যাব) বা যেকোনো উৎস থেকে র HTTP হেডার কপি করে ইনপুট এরিয়ায় পেস্ট করুন।

2

স্বয়ংক্রিয় পার্স

হেডারগুলো তাৎক্ষণিকভাবে স্ট্রাকচার্ড টেবিলে পার্স হয়, এটি রিকোয়েস্ট না রেসপন্স তা স্বয়ংক্রিয়ভাবে শনাক্ত হয়।

3

বিস্তারিত পরীক্ষা

স্ট্যাটাস লাইন, পৃথক হেডার, এক্সট্র্যাক্ট করা কুকি ও 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 হেডার থেকে কুকি এক্সট্র্যাক্ট করতে পারে?

হ্যাঁ। Set-Cookie হেডারগুলো পৃথক কুকিতে পার্স হয়ে নাম, ভ্যালু ও সব ফ্ল্যাগ দেখায়, যেমন HttpOnly, Secure, SameSite, Path, Domain ও Max-Age।

কোন কোন হেডার ফরম্যাট গ্রহণযোগ্য?

স্ট্যান্ডার্ড HTTP/1.1 ও HTTP/2 হেডার ফরম্যাট, প্রতি লাইনে একটি হেডার "Name: Value" আকারে। ব্রাউজারের ডেভেলপার টুল থেকে সরাসরি হেডার কপি করতে পারেন।

কোন কোন HTTP হেডার সবচেয়ে বেশি দেখা যায়?

রিকোয়েস্টে সাধারণত থাকে 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)। এই পার্সার প্রতিটি হেডার কোন পক্ষের তা চিহ্নিত করে।

ডুপ্লিকেট HTTP হেডারের কী হয়?

RFC 9110 অনুযায়ী, পুনরাবৃত্ত বেশিরভাগ ফিল্ড একটি কমা-বিভাজিত তালিকায় একত্রিত হয় - দুটি cache-control লাইন আর no-cache, no-store লেখা একটি লাইন সমতুল্য। Set-Cookie হলো ডকুমেন্টেড ব্যতিক্রম: এটি কখনোই কমা-মার্জ হতে পারে না কারণ Expires তারিখে কমা থাকে, তাই প্রক্সিদের প্রতিটি Set-Cookie আলাদাভাবে ফরওয়ার্ড করতে হয়। সেই ব্যতিক্রমই প্রক্সি বাগের একটি ক্লাসিক উৎস।

HTTP/2 ও HTTP/3-এ হেডারের কী বদলেছে?

ফিল্ড নাম ছোট হাতের হয়েছে এবং HPACK বা QPACK-সংকুচিত বাইনারি ফ্রেম হয়ে চলাচল করে; প্রতিটি রিকোয়েস্ট নিজস্ব স্ট্রিম খোলে, আর Host-এর মতো প্রতি-কানেকশন হেডার :method, :scheme ও :path-এর পাশে :authority সিউডো-হেডার দিয়ে প্রতিস্থাপিত হয়েছে। শব্দার্থিকভাবে ফিল্ডগুলো এখনো RFC 9110 অনুসরণ করে - ওয়্যার ফরম্যাট বদলেছে, শব্দভাণ্ডার নয়।

কোন হেডার সিনট্যাক্স আসলে অবৈধ?

ফিল্ড নাম ও কোলনের মাঝে হোয়াইটস্পেস (Header : value) - HTTP/1.1 পার্সিং ও HTTP/2 স্পেসিফিকেশন দুটোই এটি প্রত্যাখ্যান করে রিকোয়েস্ট সমগ্লিং ঠেকাতে। আরও অবৈধ: ফিল্ড নামের ভেতরে স্পেস বা non-ASCII বাইট, ভ্যালুতে কন্ট্রোল ক্যারেক্টার, আর obs-fold (ইনডেন্ট করা লাইন দিয়ে চলমান হেডার), যা RFC 9110 ডেপ্রিকেটেড চিহ্নিত করেছে - একটি একক লাইন বা লিস্ট ভ্যালু দিয়ে প্রতিস্থাপন করুন।

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}