هدرهای ارسالی به سمت کاربر و سرور اصلی هنگام استفاده از CDN ابر آروان
هنگامی که یک وبسایت از CDN ابر آروان برای شتابدهی و امنیت ابری استفاده میکند، درخواستهای بازدیدکنندگان آن سایت بهجای سرور اصلی میزبان سایت، به دست سرورهای CDN ابر آروان میرسند. در پاسخ به این درخواستها، سرور لبهی CDN تعدادی هدر به سمت بازدیدکننده ارسال میکند که با استفاده از آنها میتوان از وضعیت درخواست ارسال شده و همچنین پاسخ سرور آگاهی پیدا کرد.
اگر هدرهای ارسالی از سمت سرورهای CDN، بهشکل اختصاصی بهوسیلهی ابر آروان ایجاد شده باشند، در ابتدای آنها عبارت ar که دو حرف ابتدایی آروان است، قرار میگیرد.
همچنین، اگر درخواستی از سمت سرور لبه CDN به سمت سرور اصلی میزبان وبسایت نیز ارسال شود، هدرهایی به این درخواست اضافه میشوند.
در ادامه هریک از این هدرها و توضیحات آنها بیان شده است.
هدرهای ارسالی به سمت کاربر
هدر ar-request-id
این هدر به هر درخواست ارسال شده از سمت بازدیدکننده به سرور لبهی CDN، یک کد یکتا اختصاص میدهد تا اگر نیاز بود بتوان با ردگیری آن، از وضعیت درخواست در سمت CDN آگاهی پیدا کرد.
هدر ar-poweredby
مقدار Arvan Cloud (arvancloud.com) را در پاسخ برمیگرداند و نشاندهندهی استفاده از CDN ابر آروان بهوسیلهی وبسایت مورد نظر است.
هدر ar-sid
کدی چهار رقمی و نشاندهندهی شماره اختصاصی سرور CDNای است که بازدیدکننده به آن متصل شده است.
هدر ar-atime
این هدر نشاندهندهی مدت زمانی است که سرور CDN محتوای مربوطه را دریافت کرده است. این دریافت میتواند از cache خود CDN یا از سمت سرور اصلی میزبان سایت باشد.
هدر ar-cache
زمانیکه منابع وبسایت شما در سرورهای لبه ابر آروان Cache میشوند، ابر آروان با افزودن هِدر ویژهای با نام ar-cache این امکان را برای شما فراهم میکند که بتوانید از وضعیت Cache این منابع آگاه شوید. در این هِدر، وضعیت Cache میتواند یکی از موارد زیر باشد:
- HIT
ثبت این وضعیت در ar-cache بیانگر Cache منبع مورد درخواست در سرور لبه ابر آروان و پاسخدهی از سمت این سرورهاست.
- MISS
این وضعیت بهمعنای وجود نداشتن منبع مورد درخواست در سرور لبه ابر آروان و پاسخدهی به آن از سمت سرور اصلی میزبان سایت است.
- EXPIRED
این وضعیت بهمعنای وجود منبع مورد درخواست در سرور لبه آروان است ولی بهدلیل منقضی شدن آن در Cache این سرور، پاسخدهی به این درخواست از سمت سرور اصلی میزبان سایت انجام شده است.
- STALE
این وضعیت بیانگر آن است که سرور لبه آروان در پاسخ، منبعی قدیمی و منقضی شده را ارسال کرده است، چراکه بهشکل همزمان در حال اعتبارسنجی این منبع از سرور اصلی میزبان سایت بر اثر درخواست یک کاربر دیگر است. گفتنی است که چنین وضعیتی بسیار بهندرت پیش میآید.
- IGNORED
این وضعیت بهمعنای آن است که منبع مورد درخواست Cache شدنی نیست، اما چون تعداد درخواستها هنوز به حد آستانهی مجاز (معمولن این مقدار 3 است) نرسیدهاند، این درخواست را سرور اصلی میزبان سایت پاسخدهی کرده است. پس از عبور تعداد درخواستها از حد آستانهی مجاز، این وضعیت به HIT تغییر میکند.
- REVALIDATED
این وضعیت بهمعنای آن است که سرور لبه آروان برای پاسخدهی از نسخهی قدیمی منبع درخواست شده که در Cache آن وجود داشته، استفاده کرده است اما با این تفاوت که در این حالت، سرور لبه این منبع را با استفاده از هدر If-Modified-Since یا If-None-Match از سروراصلی میزبان سایت اعتبارسنجی کرده است.
- UPDATING
این وضعیت بیانگر آن است که منبع مورد درخواست در سرور لبه آروان در حال بهروزرسانی است و پاسخی که اکنون ارسال شده، نسخهی قدیمی موجود در Cache این سرور بوده است. معمولن هنگامی این وضعیت اتفاق میافتد که منبع بزرگی از نظر سایز در حال Cache شدن در سرور لبه باشد.
هدر x-xss-protection
ــ حمله XSS نوعی از آسیبپذیریهای مبتنی بر وب است که در بسیاری از وبسایتها وجود دارد. متاسفانه توسعهدهندگان وب این باگ را نادیده میگیرند یا اطلاع کافی دربارهی جلوگیری از آن ندارند. این درحالی است که این رخنهی امنیتی بسیار خطرناک است. مهاجم با استفاده از متدهای مختلف، اسکریپت جاوا اسکریپت یا کد HTML دلخواه خود را به کاربر یا کاربران صفحهای که دارای باگ XSS است، تزریق میکند. سپس این کدها در سمت مرورگر کاربر اجرا میشوند و کاربر را در مقابل خطرات مختلف و بسیار خطرناک قرار میدهند. مرورگرهای مدرن قابلیتهای متعددی در مقابله با حملات XSS دارند که معمولن این قابلیتها بهشکل پیشفرض فعال هستند. برای استفاده از این قابلیت مرورگرها، کافیست از هدر x-xss-protection در پاسخ به درخواست یک مرورگر استفاده شود.
هدر X-Content-Type-Options
برخی از مرورگرها به هدر content-type اطمینان نکرده و خود محتوا را sniff میکنند. دلیل تاریخی این موضوع هم آن است که در گذشته سرورهایی بودهاند که محتوای ارسالی آنها با این هدر متفاوت و در نتیجه مرورگر مجبور به sniff محتوا بوده است. زمانیکه مرورگر در هدر(پاسخ) Response، نوع محتوای ارسال شده را دریافت نکند، یا متوجه مغایرتی در آن شود، این نوع رفتار را Mime Sniffing شناسایی میکند. شیوهی این شناساییها در هر مرورگری میتواند متفاوت باشد؛ ولی معمولن براساس type ارسالی و پسوند موردنظر است. در بعضی از موارد نیز، خواندن بایتهای ابتدایی یک فایل میتواند نشاندهندهی نوع محتوای ارسالی باشد. برای نمونه، برای فایلهایی با پسوند Gif، الگوی بایتهای ابتدایی شامل 47 49 46 38 39 است؛ ولی چون در همهی فایلها، بایتهای ابتدایی الگوی یکسانی ندارند، پس نمیتوان به این روش نیز بسنده کرد. روش دیگر برای آنکه به مرورگر گفته شود باید جلوی این نوع حملات را بگیرد و با شناسایی Sniffing از اجرای آن سر باز بزند، استفاده از هدر X-Content-Type-Options است.
هدر Content-Security-Policy
هنگامی که وبسایتی از پروتکل HTTPS استفاده کند اما همچنان در صفحات HTML آن، لینکهایی با پروتکل HTTP وجود داشته باشد، برای حفظ امنیت، خطایی از سمت مرورگر نشان داده میشود که Mix-Content نام دارد و به معنی امکان ایجاد مشکل امنیتی روی لینکهای HTTP است.
در پنل ابر آروان و در قسمت تنظیمات HTTPS گزینهای وجود دارد که با استفاده از آن میتوان این مشکل را برطرف کرد.
با فعال کردن این قابلیت، هدر Content-Security-Policy به هدرهای ارسالی به سمت کاربر اضافه میشود و از این راه، به مرورگر اطلاع داده میشود که اگر با چنین مشکلی مواجه شد، لینک مورد نظر را از http به https تغییر دهد.
هدر strict-transport-security
با فعالسازی هدر HSTS در پنل CDN ابر آروان این هدر به هدرهای ارسالی به سمت کاربر اضافه میشود و به این ترتیب، به مرورگر اطلاع داده میشود که تا یک بازه زمانی مشخص(مانند یک ماه)، اگر نخستین درخواست برای وبسایت مورد نظر HTTP بود، آن را بهشکل خودکار از سمت مرورگر به یک درخواست HTTPS تبدیل کند.
هدرهای ارسالی به سمت سرور اصلی
هدر ar-sid
کدی چهار رقمی و شمارهی اختصاصی سرور CDNای است که درخواست از آن سرور ارسال شده است.
هدر X-Real-IP
هدر استاندارد HTTP است. هنگامی که وبسایتی از CDN استفاده میکند، اگر درخواستی از سمت بازدیدکننده برای وبسایت مورد نظر ارسال شود، این درخواست نخست به دست سرورهای لبه CDN میرسد و سپس برای سرور اصلی وبسایت مورد نظر ارسال میشود. بنابراین در قسمت IP ارسالکنندهی درخواست، به جای IP واقعی کاربر، IP سرور CDN قرار میگیرد.
چون برای بسیاری از کارهای تحلیلی و امنیتی نیاز به IP واقعی کاربر است، سرور CDN از این هدر HTTP استفاده میکند تا بتواند با کمک آن، IP واقعی کاربر را ارسال کند.
هدر ar-real-ip
مشابه هدر X-Real-IP است.
هدر X-Forwarded-Proto
هدر استاندارد HTTP است. این هدر به ترتیب، مشخصکنندهی پروتکلهایی است که با استفاده از آنها، درخواست در هر مرحله از سرورهای CDN عبور کرده است. برای نمونه اگر درخواستی از سمت کاربر و با پروتکل HTTP به سمت CDN، و از CDN با پروتکل HTTPS به سمت سرور اصلی ارسال شده باشد، این هدر مقدار HTTP,HTTPS را نشان میدهد.
پروتکل ارتباطی بین بازدیدکننده و سرورهای CDN و همچنین، بین سرورهای CDN و سرورهای اصلی میزبان وبسایت، در پنل CDN ابر آروان بهشکل جداگانه قابل تنظیم هستند.
هدر X-Forwarded-For
این هدر مشابه هدر X-Real-IP است با این تفاوت که در آن IP سرورهای پروکسی ای که درخواست کاربر از آنها عبور کرده است تا به سرور اصلی میزبان سایت برسد نیز، در کنار IP اصلی کاربر قرار میگیرد. در واقع این هدر یک آرایه از IPها و نشاندهندهی ترتیب عبور درخواست از سرورهای متعدد تا زمان رسیدن به سرور اصلی میزبان سایت است.
هدر ar-real-proto
مشابه هدر X-Forwarded-Proto است.
هدر ar-real-country
این هدر نشاندهندهی کشوری است که درخواست مورد نظر از آنجا ارسال شده است. این اطلاعات با استفاده از IP کاربر و استخراج کشور آن از دیتابیسهای به روز GeoIP به دست میآید.
هدر AR-Request-ID
این هدر به هر درخواست ارسال شده از سمت یک بازدیدکننده به سرور CDN، یک کد یکتا اختصاص میدهد تا در هنگام نیاز بتوان با ردگیری آن، از وضعیت درخواست در سمت CDN آگاهی پیدا کرد.