ویرگول
ورودثبت نام
Nastooh
Nastooh
Nastooh
Nastooh
خواندن ۲ دقیقه·۳ روز پیش

Postman- Contents of HTTP Headers (Content-Type, Accept, Authorization, Custom Headers)

جمع‌بندی آزمونی سرفصل


HTTP Headers چیست؟

Headers بخشی از HTTP Request / Response هستند که اطلاعات کنترلی (Metadata) درباره ارتباط بین Client و Server را منتقل می‌کنند.
Headers داده اصلی نیستند، بلکه نحوه پردازش، امنیت، فرمت و رفتار API را کنترل می‌کنند.


دسته‌بندی مهم Headers در API

Content-Type

مشخص می‌کند داده داخل Request Body چه فرمی دارد.

مثال:

Content-Type: application/json

کاربرد:

  • تعیین فرمت داده ارسالی

  • کنترل parsing در Server

  • جلوگیری از mismatch در contract

فرمت‌های رایج:

  • application/json

  • application/xml

  • multipart/form-data

  • x-www-form-urlencoded


Accept

مشخص می‌کند Client چه نوع Response Format را انتظار دارد.

مثال:

Accept: application/json

کاربرد:

  • تعیین نوع خروجی API

  • negotiation بین Client و Server

  • کنترل نسخه response format


Authorization

برای احراز هویت (Authentication) و سطح دسترسی (Authorization) استفاده می‌شود.

مثال:

Authorization: Bearer eyJhbGciOi...

کاربرد:

  • کنترل دسترسی به API

  • جلوگیری از دسترسی غیرمجاز

  • ارسال Token (JWT / OAuth2)

انواع رایج:

  • Bearer Token

  • Basic Auth

  • API Key (گاهی در header)


Custom Headers

Headerهای سفارشی که توسط سیستم یا بیزینس تعریف می‌شوند.

مثال:

X-Correlation-Id: 12345 X-Client-Version: 2.1 X-Request-Source: mobile

کاربرد:

  • Tracking درخواست‌ها (Traceability)

  • Debugging

  • Logging

  • Feature Flag

  • Analytics

  • Idempotency-Key (در سیستم‌های مالی)


تفاوت مهم آزمونی Headers

Headerنقش اصلیContent-Typeفرمت Request BodyAcceptفرمت ResponseAuthorizationامنیت و دسترسیCustom Headersکنترل‌های بیزینسی و سیستمی


نکات مهم تستی (L7 → L8)

1. Contract Enforcement

  • اگر Content-Type اشتباه باشد → معمولاً 415 Unsupported Media Type

  • اگر Accept پشتیبانی نشود → ممکن است 406 Not Acceptable


2. Security Validation

  • نبود Authorization → باید 401 Unauthorized

  • Token نامعتبر → 403 Forbidden


3. Header Injection Risk

Custom Headers اگر validate نشوند می‌توانند:

  • باعث bypass شوند

  • اطلاعات حساس leak کنند

  • behavior سیستم را تغییر دهند


4. Content Negotiation

  • Accept و Content-Type باید با هم سازگار باشند

  • mismatch → contract failure


5. Idempotency & Reliability

Custom headers مثل:

  • Idempotency-Key
    برای جلوگیری از duplicate transaction استفاده می‌شوند.


خطاهای رایج در API

  • Missing Content-Type

  • Unsupported Media Type (415)

  • Invalid Accept header (406)

  • Missing Authorization (401)

  • Invalid Token (403)

  • Custom header not validated

  • Contract mismatch between request/response format


نکته مهم آزمونی

در پاسخ کامل باید این کلیدواژه‌ها وجود داشته باشد:

Headers, Metadata, Content-Type, Accept, Authorization, Custom Headers, Authentication, Authorization, Content Negotiation, Contract, Token, Bearer, Security


نمونه پاسخ کامل کوتاه

HTTP Headers اطلاعات متادیتا در درخواست و پاسخ هستند که رفتار API را کنترل می‌کنند. Content-Type فرمت داده ارسالی در Request Body را مشخص می‌کند، در حالی که Accept فرمت Response مورد انتظار را تعیین می‌کند. Authorization برای احراز هویت و کنترل دسترسی استفاده می‌شود. همچنین Custom Headers برای نیازهای بیزینسی مانند tracing، logging و کنترل‌های خاص سیستم استفاده می‌شوند. عدم تطابق در Headers می‌تواند باعث Contract Mismatch و خطاهایی مانند 401, 403, 415, 406 شود.


کلیدواژه‌ها

HTTP Headers Content-Type Accept Authorization Bearer Token Authentication Authorization Custom Headers Metadata Content Negotiation Contract Token Validation API Security Request Validation Response Format


Content-Type (تعیین فرمت داده ارسالی در Request Body): برای مشخص کردن نوع داده مثل JSON یا XML استفاده می‌شود.

Accept (تعیین فرمت Response مورد انتظار): برای negotiation بین Client و Server استفاده می‌شود.

Authorization (ارسال اطلاعات احراز هویت): برای کنترل دسترسی و امنیت API استفاده می‌شود.

Custom Headers (Headerهای سفارشی): برای tracking، logging و نیازهای خاص سیستم استفاده می‌شوند.

Content Negotiation (تطبیق فرمت Request و Response): فرآیند توافق بین Client و Server برای نوع داده.

Bearer Token (نوعی از توکن احراز هویت): معمول‌ترین روش ارسال JWT در Authorization header.

Contract (توافق بین Client و Server): تعیین می‌کند Headers و Body باید چه ساختاری داشته باشند.


جمع‌بندی ذهنی

Headers = کنترل + امنیت + فرمت + رفتار
نه داده اصلی، بلکه “قوانین بازی API”

احراز هویت
۰
۰
Nastooh
Nastooh
شاید از این پست‌ها خوشتان بیاید