قانون آپاستریم روی همان برش قانون مسیر، آپاستریم مقصد را عوض میکند وقتی تمایز روی کیستی یا ویژگی درخواست است — کشور، ربات شناختهشده، مجموعه IP، مسیر فرعی و مانند آن — نه روی ساختار ثابت URL سایت.
آپاستریم پیشفرض را قانون مسیر تعیین میکند. قانون آپاستریم آن پیشفرض را برای درخواستهای منطبق بازنویسی میکند. بدون ساختن قانون مسیر دوم برای همان الگو.
flowchart LR matchLoc(["تطبیق قانون مسیر"]) defaultUp(["آپاستریم پیشفرض"]) matchUp(["قوانین آپاستریم"]) chosen(["آپاستریم نهایی"]) matchLoc --> defaultUp --> matchUp --> chosen
چرا جدا از قانون مسیر؟
قانون مسیر ساختار ثابت سایت است: این Path، این رفتار لبه، این آپاستریم پیشفرض. مناسب وقتی تمایز روی URL است (/static/* در برابر /api/*).
قانون آپاستریم وقتی معنا دارد که همان URL برای دو مخاطب باید به دو مبدا برود: کاربر خارج به آپاستریم خارجی، خزنده به آپاستریم داخل ایران. اگر برای Geo دو قانون مسیر روی یک الگو بسازیم، مدل اولینمنطبق مسیر مسیریابی را خراب میکند. مبدا عوض میشود؛ برش URL عوض نمیشود.
قانون مسیر جدا برای آپاستریم دوم نمیسازیم
بعد از تعریف قانون آپاستریم، ترافیک منطبق بهطور خودکار به آپاستریم انتخابشده میرود. قانون مسیر اضافه فقط برای همین تفکیک اغلب با اولینمنطبق مسیر میجنگد.
آخرین قانون منطبق برنده است
لبه قوانین آپاستریم را از بالا به پایین میسنجد. اگر چند قانون همزمان منطبق شوند، آخرین قانون منطبق آپاستریم را تعیین میکند. این برعکس قانون مسیر است که اولین منطبق کافی است.
پس قانون عامتر (مثلا کشور مخالف IR) را بالاتر میگذاریم و قانون خاصتر (مثلا ربات شناختهشده) را پایینتر، تا خاصتر در انتها جایگزین عامتر شود.
اگر ترتیب برعکس باشد و قانون خاص پایین نیاید، قانون عامتر در انتها غالب میماند و تفکیک مورد نظر اعمال نمیشود.
چه زمانی قانون آپاستریم کافی است؟
| نیاز | ابزار مناسب |
|---|---|
| رفتار لبه یا کش بر اساس Path | قانون مسیر |
| مبدا متفاوت بر اساس کشور، بات یا IP روی همان Path | قانون آپاستریم |
| مسیر شبکه لبه تا همان مبدا در اختلال یا برای خزنده | مسیریابی هوشمند — مبدا را عوض نمیکند |
| پاسخ DNS متفاوت بر اساس Resolver | GeoDNS؛ وقتی ترافیک از CDN میگذرد معمولا قانون آپاستریم سادهتر است |
مسیریابی هوشمند و قانون آپاستریم یکی نیستند. مسیریابی هوشمند مسیر لبه تا همان آپاستریم را عوض میکند. قانون آپاستریم خود آپاستریم را عوض میکند.
