این ابزار درست کار نمی‌کند؟

دربارهٔ ابزار «تجزیهٔ سرآیندهای HTTP آنلاین»

این ابزار هدرهای درخواست یا پاسخ HTTP خام را به یک نمایش ساختاریافته تجزیه می‌کند. هدرها را از یک دستور curl، بازرس شبکه مرورگر، یا گزارش پراکسی جای‌گذاری کنید، و ابزار هر نام و مقدار هدر را به عنوان یک ردیف جداگانه برمی‌گرداند، به‌علاوه تفسیر تجزیه‌شده هدرهای پیچیده (Cookie، Set-Cookie، Cache-Control، Content-Security-Policy).

هدرهای HTTP پر از نحو فشرده و آسان برای خواندن اشتباه هستند: کوکی‌ها با ویژگی‌ها، سیاست‌های امنیتی با دستورات، قوانین کش با ثانیه‌ها و تعدیل‌کننده‌ها. خواندن صحیح آنها برای اشکال‌زدایی ضروری است — شکست‌های احراز هویت، مسائل کش، مشکلات CORS، پیکربندی‌های نادرست امنیتی.

هنگام عیب‌یابی فراخوان‌های API ناموفق، حسابرسی پاسخ‌های سرور، یا یادگیری پروتکل HTTP استفاده کنید. تفکیک بصری بسیار واضح‌تر از یک دیوار متن است.

چطور از این ابزار استفاده کنم؟

چطور یک block header HTTP خام را به جفت‌های key/value parse کنم؟

  1. header‌ها را بچسبانید

    block header خام را در فیلد «Headers» قرار دهید. ابزار آنچه `curl -I` چاپ می‌کند را می‌پذیرد — یک header در هر خط، فرم `Name: value`، خط status اولیهٔ اختیاری `HTTP/1.1 200 OK` که نادیده گرفته می‌شود.

  2. «اجرا» را بزنید

    خروجی `headers` — یک object که نام‌های header lowercase را به مقادیر map می‌کند. نام‌های header طبق HTTP case-insensitive هستند، پس lowercase کردن یک گام normalisation است. نام‌های duplicate با append نگه داشته می‌شوند (کاما در داخل value).

  3. چیزهای رایج که باید جستجو کرد

    `Content-Type` (با charset اختیاری)، `Cache-Control` (max-age، immutable، no-store)، `Strict-Transport-Security`، `Content-Security-Policy`، `Set-Cookie` (توجه: Set-Cookie تنها header است که از کاما برای join چندین instance نمی‌توان استفاده کرد).

  4. `Set-Cookie` فریبنده

    RFC 7230 می‌گوید header‌های با مقادیر چندگانه با `, ` join می‌شوند — به‌جز `Set-Cookie` که value خودش می‌تواند کاما داشته باشد. اگر ورودی شما چندین خط Set-Cookie دارد، merge ساده‌لوحانهٔ این ابزار آن‌ها را به هم می‌ریزد. برای دقت از access خام (مثلاً fetch.headers.getSetCookie) استفاده کنید.