فهرست سرآیندهای پروتکل انتقال ابرمتن

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

سرآیندهای پروتکل انتقال ابرمتن یا فیلدهای سرآیند (به انگلیسی: HTTP Header Fields) جزیی از پیام‌های ارسالی و دریافتی در پروتکل انتقال ابرمتن می‌باشند. این فیلدها پارامترهای یک ارتباط در این پروتکل را مشخص و مقداردهی می‌کنند.

قالب کلی[ویرایش]

فیلدهای سرآیند بعد از خطِ وضعیت (اولین خط هر پیام) ارسال می‌شوند. این فیلدها به صورت متن ساده بوده و دارای یک نام یا کلید و یک یا چند مقدار هستند که با علامت کولون ( : ) از هم جدا می‌شوند. هر خطِ سرآیند می‌تواند حاوی یک فیلد سرآیند باشد. در واقع در پایانِ هر فیلد سرآیند باید حروف CR و LF قرار بگیرند. این حروف از حروف کنترلی در رایانش هستند که باعث رفتن به خط بعد می‌شوند.[۱] باید توجه داشت که مقدار یک فیلد سرآیند می‌تواند خالی نیز باشد. پایان تمامی سرآیندهای ارسال شده با ارسال یک خطِ خالی مشخص می‌شود. مثال زیر تعدادی از سرآیندهای ارسالی مرورگر وب فایرفاکس هنگام تماس با ویکی‌پدیای فارسی را نمایش می‌دهد: (توجه داشته باشید که حروف CR و LF در پایان هر خط قرار دارند اما دیده نمی‌شوند)

Host: fa.wikipedia.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

خطوط طولانی فیلدهای سرآیند می‌تواند به چند خط نیز شکسته شود. حرف فاصله (Space) و یا حرف تَب (Tab) در آغازِ یک خط نمایان‌گر این مساله است که این خط ادامهٔ خط قبلی می‌باشد.[۲]

نام فیلد[ویرایش]

نام‌های استانداردی که باید توسط تمامی ابزارهایی که با پروتکل انتقال ابرمتن کار می‌کنند پیاده‌سازی شوند، توسط نیروی ضربت مهندسی اینترنت در RFC 2616 و تعدادی دیگری از RFCهای استاندارد مانند RFC 4229 تعریف شده‌است. نرم‌افزارهای دیگر می‌توانند برای استفاده‌های خود نام‌های دیگری که در این لیست وجود ندارند را انتخاب کنند.

سیستم ثبت‌نام سرآیند توسط آیانا کنترل و مدیریت می‌شود.

سرآیندهای اختصاصی نرم‌افزارها که استاندارد نیستند، براساس یک استاندارد قدیمی با حروف X- آغاز می‌شوند.[۳] در ماه جون سال ۲۰۱۲ این استاندارد به دلیل مشکلاتی که سرآیندهایی که بعدها استاندارد می‌شدند به آن‌ها برمی‌خوردند، منتفی گردید. [۴] برای مثال سرآیند X-Gzip که برای فشرده‌سازی هم در پیام‌های ارسالی و هم در پیام‌های دریافتی استفاده می‌شد، بعد از استاندارد شدن، باید به Gzip تغییر می‌کرد.

استفاده اجباری از پیش‌وند Downgraded- نیز برداشته شده‌است. [۵]

مقدارهای فیلد[ویرایش]

تعداد کمی از مقادیر فیلدهای سرآیند (مانند فیلدهای User-Agent، Server و Via) دارای توضیحات خاص و تکمیلی هستند که این توضیحات نیز ضروری نبوده و می‌توانند توسط نرم‌افزارها نادیده گرفته‌شوند.[۶]

محدودیت‌های حجم[ویرایش]

در تعریف استاندارد هیچ‌گونه محدودیتی برای اندازهٔ یک فیلد یا مقدارِ آن و تعداد فیلدها در نظر گرفته نشده‌است. بااین‌حال بسیاری از نرم‌افزارها به دلایل کاربردی و امنیتی محدودیت‌هایی را اعمال می‌کنند. برای مقال سرور وب آپاچی در نسخهٔ ۲٫۲ حجم هر سرآیند را به‌صورت پیش‌فرض به ۸۱۹۰ بایت محدود کرده‌است. همچنین به صورت پیش‌فرض حداکثر ۱۰۰ سرآیند در یک درخواست قابل قبول است.[۷]

فیلدهای درخواست[ویرایش]