إجراءات مجموعة القواعد

تتكون مجموعة قواعد Azure Front Door من قواعد مع مجموعة من شروط وإجراءات المطابقة. توفر هذه المقالة وصفا مفصلا للإجراءات التي يمكنك استخدامها في مجموعة قواعد. يحدد الإجراء السلوك الذي يتم تطبيقه على نوع الطلب الذي يحدده شرط (شروط) المطابقة. في مجموعة القواعد، يمكن أن تحتوي القاعدة على ما يصل إلى خمسة إجراءات. يدعم Front Door أيضا متغير الخادم في إجراء مجموعة قواعد.

تتوفر الإجراءات التالية للاستخدام في مجموعة قواعد:

تجاوز تكوين المسار

يتم استخدام إجراء تجاوز تكوين المسار لتجاوز مجموعة الأصل أو تكوين التخزين المؤقت للطلب. يمكنك اختيار تجاوز أو مراعاة تكوينات مجموعة الأصل المحددة في المسار. ومع ذلك، عند تجاوز تكوين المسار، يجب تكوين التخزين المؤقت. وإلا، يتم تعطيل التخزين المؤقت للطلب.

يمكنك أيضاً تجاوز كيفية تخزين الملفات مؤقتاً لطلبات معينة، بما في ذلك:

  • تجاوز سلوك التخزين المؤقت المحدد بواسطة الأصل.
  • كيف يتم استخدام معلمات سلسلة الاستعلام لإنشاء مفتاح ذاكرة التخزين المؤقت للطلب.
  • قيمة مدة البقاء (TTL) للتحكم في مدة بقاء المحتويات في ذاكرة التخزين المؤقت.

الخصائص

الخاصية القيم المدعومة
تجاوز مجموعة الأصل
  • Yes: تجاوز مجموعة الأصل المستخدمة للطلب.
  • No: استخدم مجموعة الأصل المحددة في المسار.
التخزين المؤقت
  • Enabled: افرض تمكين التخزين المؤقت للطلب.
  • Disabled: افرض تعطيل التخزين المؤقت للطلب.

عندما يتم تعيين Override origin group على Yes، قم بتعيين الخصائص التالية:

الخاصية القيم المدعومة
مجموعة الأصل مجموعة الأصل التي ينبغي توجيه الطلب إليها. يتجاوز هذا الإعداد التكوين المحدد في مسار نقطة نهاية Front Door.
بروتوكول إعادة التوجيه بروتوكول Front Door لاستخدامه عند إعادة توجيه الطلب إلى الأصل. القيم المدعومة هي HTTP فقط، HTTPS فقط، تطابق الطلب الوارد. يتجاوز هذا الإعداد التكوين المحدد في مسار نقطة نهاية Front Door.

عند تعيين Caching على Enabled، قم بتعيين الخصائص التالية:

الخاصية القيم المدعومة
تحديد سلوك التخزين المؤقت لسلسلة الاستعلام
  • Ignore Query String: لا يتم أخذ سلاسل الاستعلام في الاعتبار عند إنشاء مفتاح التخزين المؤقت. في قوالب Azure Resource Manager، اضبط الخاصية queryStringCachingBehavior على IgnoreQueryString.
  • Use query string: لكل عنوان URL فريد مفتاح التخزين المؤقت الخاص به. في قوالب ARM، استخدم queryStringCachingBehavior من UseQueryString.
  • Ignore specified query string: يتم استبعاد سلاسل الاستعلام المحددة في المعلمات عند إنشاء مفتاح التخزين المؤقت. في قوالب Azure Resource Manager، اضبط الخاصية queryStringCachingBehavior على IgnoreSpecifiedQueryStrings.
  • Include specified query string: يتم تضمين سلاسل الاستعلام المحددة في المعلمات عند إنشاء مفتاح التخزين المؤقت. في قوالب Azure Resource Manager، اضبط الخاصية queryStringCachingBehavior على IncludeSpecifiedQueryStrings.
معلمات الاستعلام قائمة أسماء معلمة سلسلة الاستعلام مفصولة بفواصل. يتم تعيين هذه الخاصية فقط عند تعيين Query string caching behavior على Ignore Specified Query Strings أو Include Specified Query Strings.
الضغط
  • Enabled: يضغط Front Door المحتوى على الحافة ديناميكياً، ما ينتج عنه استجابة أصغر وأسرع. لمزيد من المعلومات، راجع ضغط الملفات. في قوالب Azure Resource Manager، اضبط الخاصية isCompressionEnabled على Enabled.
  • مُعطل. لا يقوم Front Door بالضغط. في قوالب Azure Resource Manager، اضبط الخاصية isCompressionEnabled على Disabled.
سلوك ذاكرة التخزين المؤقت
  • أصل الشرف: تحترم Front Door دائما توجيه رأس استجابة الأصل. إذا كان توجيه الأصل مفقودا، يقوم Front Door بالتخزين المؤقت للمحتويات في أي مكان من 1 إلى 3 أيام. في قوالب Azure Resource Manager، اضبط الخاصية cacheBehavior على HonorOrigin.
  • Override always: يتم استبدال قيمة TTL التي تم إرجاعها من الأصل بالقيمة المحددة في الإجراء. يتم تطبيق هذا السلوك فقط إذا كانت الاستجابة قابلة للتخزين المؤقت. في قوالب Azure Resource Manager، اضبط الخاصية cacheBehavior على OverrideAlways.
  • Override if origin missing: إذا لم يتم إرجاع قيمة TTL من الأصل، فإن القاعدة تعين TTL على القيمة المحددة في الإجراء. يتم تطبيق هذا السلوك فقط إذا كانت الاستجابة قابلة للتخزين المؤقت. في قوالب Azure Resource Manager، اضبط الخاصية cacheBehavior على OverrideIfOriginMissing.
مدة ذاكرة التخزين المؤقت عند تعيين سلوك ذاكرة التخزين المؤقت على Override always أو Override if origin missing، يجب أن تحدد هذه الحقول مدة ذاكرة التخزين المؤقت لاستخدامها. المدة القصوى هي 366 يوماً. يتم تعيين هذه الخاصية فقط عند تعيين Cache behavior على Override always أو Override if origin missing.
  • في مدخل Microsoft Azure: حدد الأيام والساعات والدقائق والثواني.
  • في قوالب ARM: استخدم cacheDuration لتحديد المدة بالتنسيق d.hh:mm:ss.

الأمثلة

في هذا المثال، نقوم بتوجيه جميع الطلبات المتطابقة إلى مجموعة أصل تسمى MyOriginGroup، بغض النظر عن التكوين في مسار نقطة نهاية Front Door.

لقطة شاشة المدخل تظهر إجراء تجاوز مجموعة الأصل.

في هذا المثال، قمنا بتعيين مفتاح ذاكرة التخزين المؤقت لتضمين معلمة سلسلة طلب بحث باسم customerId. يتم تمكين الضغط، ويتم تكريم نُهج التخزين المؤقت للمصدر.

لقطة شاشة المدخل تظهر إجراء سلسلة استعلام مفتاح ذاكرة التخزين المؤقت.

في هذا المثال، تجاوزنا انتهاء صلاحية ذاكرة التخزين المؤقت إلى 6 ساعات للطلبات المطابقة التي لا تحدد مدة ذاكرة التخزين المؤقت بالفعل. يتجاهل Front Door سلسلة الاستعلام عندما يحدد مفتاح التخزين المؤقت، ويتم تمكين الضغط.

لقطة شاشة للمدخل تظهر إجراء انتهاء صلاحية ذاكرة التخزين المؤقت.

تعديل عنوان الطلب

استخدم إجراء تعديل عنوان الطلب لتعديل الرؤوس في الطلب عند إرساله إلى الأصل.

الخصائص

الخاصية القيم المدعومة
عامل تشغيل
  • Append: تتم إضافة العنوان المحدد إلى الطلب بالقيمة المحددة. إذا كان العنوان موجوداً بالفعل، يتم إلحاق القيمة بقيمة العنوان الحالي باستخدام تسلسل السلسلة. لم يتم إضافة محددات. في قوالب ARM، استخدم headerAction من Append.
  • Overwrite: تتم إضافة العنوان المحدد إلى الطلب بالقيمة المحددة. إذا كان العنوان موجوداً بالفعل، فستستبدل القيمة المحددة القيمة الحالية. في قوالب ARM، استخدم headerAction من Overwrite.
  • Delete: إذا كان العنوان المحدد في القاعدة موجوداً، فسيتم حذف العنوان من الطلب. في قوالب ARM، استخدم headerAction من Delete.
اسم الرأس اسم العنوان المراد تعديله.
قيمة العنوان القيمة المطلوب إلحاقها أو استبدالها.

مثال

في هذا المثال، نلحق القيمة AdditionalValue بعنوان الطلب MyRequestHeader. إذا قام الأصل بتعيين عنوان الرد على قيمة ValueSetByClient، فبعد تطبيق هذا الإجراء، سيكون لعنوان الطلب قيمة ValueSetByClientAdditionalValue.

تظهر لقطة شاشة المدخل تعديل إجراء عنوان الطلب.

إشعار

لا يمكن تعديل بعض الرؤوس المحجوزة ل Azure Front Door باستخدام إجراءات محرك القواعد، بما في ذلك الإجراءات لتعديل رؤوس الطلبات ورؤوس الاستجابة. لا يمكن تعديل القائمة التالية من الرؤوس المحجوزة، جنبا إلى جنب مع أي رؤوس مسبوقة ب x-ec و x-fd.

  • Accept-Ranges
  • Host
  • Connection
  • Content-Length
  • Transfer-Encoding
  • TE
  • Last-Modified
  • Keep-Alive
  • Expect
  • Upgrade
  • If-Modified-Since
  • If-Unmodified-Since
  • If-None-Match
  • If-Match
  • Range
  • If-Range
  • X-Ms-Via
  • X-Ms-Force-Refresh
  • X-MSEdge-Ref
  • Warning
  • Forwarded
  • Via
  • X-Forwarded-For
  • X-Forwarded-Proto
  • X-Forwarded-Host
  • X-Azure-RequestChain
  • X-Azure-FDID
  • X-Azure-RequestChainv2
  • X-Azure-Ref

تعديل رأس الاستجابة

استخدم إجراء تعديل عنوان الاستجابة لتعديل الرؤوس الموجودة في الاستجابات قبل إرجاعها إلى عملائك.

الخصائص

الخاصية القيم المدعومة
عامل تشغيل
  • Append: تتم إضافة العنوان المحدد إلى الرد بالقيمة المحددة. إذا كان العنوان موجوداً بالفعل، يتم إلحاق القيمة بقيمة العنوان الحالي باستخدام تسلسل السلسلة. لم يتم إضافة محددات. في قوالب ARM، استخدم headerAction من Append.
  • Overwrite: تتم إضافة العنوان المحدد إلى الرد بالقيمة المحددة. إذا كان العنوان موجوداً بالفعل، فستستبدل القيمة المحددة القيمة الحالية. في قوالب ARM، استخدم headerAction من Overwrite.
  • Delete: إذا كان العنوان المحدد في القاعدة موجوداً، فسيتم حذف العنوان من الرد. في قوالب ARM، استخدم headerAction من Delete.
اسم الرأس اسم العنوان المراد تعديله.
قيمة العنوان القيمة المطلوب إلحاقها أو استبدالها.

مثال

في هذا المثال، نحذف العنوان الذي يحمل الاسم X-Powered-By من الاستجابات قبل إرجاعها إلى العميل.

تظهر لقطة شاشة المدخل تعديل إجراء عنوان الرد.

إشعار

لا يمكن تعديل بعض الرؤوس المحجوزة ل Azure Front Door باستخدام إجراءات محرك القواعد، بما في ذلك الإجراءات لتعديل رؤوس الطلبات ورؤوس الاستجابة. لا يمكن تعديل القائمة التالية من الرؤوس المحجوزة، جنبا إلى جنب مع أي رؤوس مسبوقة ب x-ec و x-fd.

  • Accept-Ranges
  • Host
  • Connection
  • Content-Length
  • Transfer-Encoding
  • TE
  • Last-Modified
  • Keep-Alive
  • Expect
  • Upgrade
  • If-Modified-Since
  • If-Unmodified-Since
  • If-None-Match
  • If-Match
  • Range
  • If-Range
  • X-Ms-Via
  • X-Ms-Force-Refresh
  • X-MSEdge-Ref
  • Warning
  • Forwarded
  • Via
  • X-Forwarded-For
  • X-Forwarded-Proto
  • X-Forwarded-Host
  • X-Azure-RequestChain
  • X-Azure-FDID
  • X-Azure-RequestChainv2
  • X-Azure-Ref

إعادة توجيه عنوان URL

استخدم إجراء إعادة توجيه عنوان URL لإعادة توجيه العملاء إلى عنوان URL جديد. يتم إرسال رد إعادة توجيه للعملاء من Front Door. يدعم Azure Front Door الالتقاط الديناميكي لمسار URL مع {url_path:seg#} متغير الخادم، ويحول مسار URL إلى أحرف صغيرة أو كبيرة باستخدام {url_path.tolower} أو {url_path.toupper}. لمزيد من المعلومات، راجع متغيرات الخادم.

الخصائص

الخاصية القيم المدعومة
نوع إعادة التوجيه نوع الرد المطلوب إرجاعه إلى مقدم الطلب.
  • في مدخل Microsoft Azure: موجود (302)، منقول (301)، إعادة توجيه مؤقت (307)، إعادة توجيه دائم (308).
  • في قوالب ARM: Found، Moved، TemporaryRedirect، PermanentRedirect
بروتوكول إعادة التوجيه
  • في مدخل Microsoft Azure: Match Request، HTTP، HTTPS
  • في قوالب ARM: MatchRequest، Http، Https
مضيف الوجهة اسم المضيف الذي تريد إعادة توجيه الطلب إليه. اتركه فارغاً للاحتفاظ بالمضيف الوارد.
مسار الوجهة المسار المراد استخدامه في إعادة التوجيه. قم بتضمين / البادئة. اتركه فارغاً للاحتفاظ بالمسار الوارد.
سلسلة الاستعلام سلسلة الاستعلام المستخدمة في إعادة التوجيه. لا تقم بتضمين ? البادئة. اتركه فارغاً للاحتفاظ بسلسلة الاستعلام الواردة.
جزء الوجهة الجزء المطلوب استخدامه في إعادة التوجيه. اتركه فارغاً للاحتفاظ بالجزء الوارد.

مثال

في هذا المثال، نعيد توجيه الطلب إلى https://contoso.com/exampleredirection?clientIp={client_ip}، مع الاحتفاظ بالجزء. يتم استخدام إعادة توجيه HTTP المؤقتة (307). يتم استخدام عنوان IP الخاص بالعميل بدلاً من الرمز المميز {client_ip} داخل عنوان URL باستخدام client_ip متغير الخادم.

لقطة شاشة المدخل تظهر إجراء إعادة توجيه عنوان URL.

إعادة كتابة عنوان URL

استخدم إجراء إعادة كتابة عنوان URL لإعادة كتابة مسار طلب في طريقه إلى الأصل. يدعم Azure Front Door الالتقاط الديناميكي لمسار URL مع {url_path:seg#} متغير الخادم، ويحول مسار URL إلى أحرف صغيرة أو كبيرة باستخدام {url_path.tolower} أو {url_path.toupper}. لمزيد من المعلومات، راجع متغيرات الخادم.

الخصائص

الخاصية القيم المدعومة
نمط المصدر حدد نمط المصدر في مسار URL لاستبداله. حالياً، يستخدم نمط المصدر تطابق قائم على البادئة. لمطابقة جميع مسارات URL، أستخدم شرطة مائلة للأمام (/) كقيمة للنموذج المصدر.
الوجهة حدد مسار الوجهة لاستخدامه في الاستبدال. يمسح مسار الوجهة النموذج المصدر.
قم بالاحتفاظ بمسار غير متطابق في حالة التعيين على Yes، يتم إلحاق المسار المتبقي بعد نمط المصدر بمسار الوجهة الجديد.

مثال

في هذا المثال، نعيد كتابة جميع الطلبات إلى المسار /redirection، ولا نحتفظ ببقية المسار.

لقطة شاشة المدخل تُظهر إجراء إعادة كتابة عنوان URL.

هام

سيتم إيقاف Azure Front Door (الكلاسيكي) في 31 مارس 2027. لتجنب أي تعطيل للخدمة، من المهم ترحيل ملفات تعريف Azure Front Door (الكلاسيكية) إلى مستوى Azure Front Door Standard أو Premium بحلول مارس 2027. لمزيد من المعلومات، راجع إيقاف Azure Front Door (الكلاسيكي).

في Azure Front Door (الكلاسيكية)، يمكن أن يتكون محرك القواعد حتى 25 قاعدة تحتوي على شروط مطابقة وإجراءات مرتبطة. تقدم هذه المقالة وصفاً تفصيلياً لكل إجراء يمكنك تحديده في القاعدة.

يحدد الإجراء السلوك الذي يتم تطبيقه على نوع الطلب الذي يتطابق مع الشرط أو مجموعة شروط المطابقة. في تكوين محرك القواعد، يمكن أن تحتوي القاعدة على ما يصل إلى 10 شروط مطابقة و5 إجراءات. يمكنك الحصول على إجراء Override Routing Configuration في قاعدة واحدة.

الإجراءات التالية متاحة للاستخدام في تكوين محرك القواعد.

تعديل عنوان الطلب

استخدم هذه الإجراءات لتعديل العناوين الموجودة في الطلبات المرسلة إلى الواجهة الخلفية الخاصة بك.

الحقول المطلوبة

الإجراء اسم رأس HTTP القيمة‬
إلحاق عند تحديد هذا الخيار وتطابق القاعدة، تتم إضافة الرأس المحدد في اسم Header إلى الطلب بالقيمة المحددة. إذا كان الرأس موجوداً بالفعل، يتم إلحاق القيمة بالقيمة الحالية. السلسلة‬
كتابة فوق عند تحديد هذا الخيار وتطابق القاعدة، تتم إضافة الرأس المحدد في اسم Header إلى الطلب بالقيمة المحددة. إذا كان العنوان موجوداً بالفعل، فستستبدل القيمة المحددة القيمة الحالية. السلسلة‬
حذف عندما يُحدَّد هذا الخيار بقواعد مطابقة ويكون العنوان المحدد في القاعدة موجوداً، تُحْذَف الرأس من الطلب. السلسلة‬

تعديل رأس الاستجابة

استخدم هذه الإجراءات لتعديل العناوين الموجودة في الردود التي تم إرجاعها إلى عملائك.

الحقول المطلوبة

الإجراء اسم رأس HTTP القيمة‬
إلحاق عند تحديد هذا الخيار وتطابق القاعدة، تتم إضافة الرأس المحدد في اسم الرأس إلى الاستجابة باستخدام القيمة المحددة. إذا كان الرأس موجوداً بالفعل، يتم إلحاق القيمة بالقيمة الحالية. السلسلة‬
كتابة فوق عند تحديد هذا الخيار وتطابق القاعدة، تتم إضافة الرأس المحدد في اسم الرأس إلى الاستجابة باستخدام القيمة المحددة. إذا كان الرأس موجوداً بالفعل، فستحل القيمة محل القيمة الحالية. السلسلة‬
حذف عندما يتم تحديد هذا الخيار بقواعد مطابقة ويكون العنوان المحدد في القاعدة موجوداً، يتم حذف العنوان من الاستجابة. السلسلة‬

تجاوزات تكوين المسار

نوع الطريق: إعادة التوجيه

استخدم هذه الإجراءات لإعادة توجيه العملاء إلى عنوان URL جديد.

الحقول المطلوبة

الحقل ‏‏الوصف
نوع إعادة التوجيه إعادة التوجيه هي طريقة لإرسال المستخدمين/العملاء من عنوان URL إلى آخر. يعيّن نوع إعادة التوجيه تعليمة برمجية للحالة التي يستخدمها العملاء لفهم الغرض من إعادة التوجيه.

يمكنك تحديد رموز حالة إعادة التوجيه التالية: Found (302)، وMoved (301)، وTemporary redirect (307)، وPermanent redirect (308).
بروتوكول إعادة التوجيه احتفظ بالبروتوكول حسب الطلب الوارد، أو حدد بروتوكولاً جديداً لإعادة التوجيه. على سبيل المثال، حدد 'HTTPS' لإعادة توجيه HTTP إلى HTTPS.
مضيف الوجهة تعيين هذه القيمة لتغيير اسم المضيف في عنوان URL لإعادة التوجيه أو الاحتفاظ باسم المضيف من الطلب الوارد.
مسار الوجهة إما أن تحتفظ بالمسار وفقاً للطلب الوارد، أو قم بتحديث المسار في عنوان URL لإعادة التوجيه.
سلسلة الاستعلام تعيين هذه القيمة لاستبدال أي سلسلة استعلام موجودة من عنوان URL للطلب الوارد أو الاحتفاظ بالمجموعة الأصلية من سلاسل الاستعلام.
جزء الوجهة الجزء الوجهة هو جزء من عنوان URL بعد "#"، والذي تستخدمه المتصفحات عادةً للوصول إلى قسم معين في الصفحة. قم بتعيين هذه القيمة لإضافة جزء إلى عنوان URL لإعادة التوجيه.

نوع الطريق: إلى الأمام

استخدم هذه الإجراءات لإعادة توجيه العملاء إلى عنوان URL جديد. تحتوي هذه الإجراءات أيضاً على إجراءات فرعية لإعادة كتابة عناوين URL والتخزين المؤقت.

الحقل ‏‏الوصف
مجموعة خلفية حدد تجمع الواجهة الخلفية لتجاوز الطلبات وتقديمها، سترى جميع تجمعات الواجهة الخلفية المكونة مسبقا حاليا في ملف تعريف Front Door الخاص بك.
بروتوكول إعادة التوجيه بروتوكول لاستخدامه في إعادة توجيه الطلب الواجهة الخلفية أو مطابقة البروتوكول من الطلب الوارد.
إعادة كتابة عنوان URL المسار المطلوب استخدامه عند إنشاء طلب إعادة كتابة عنوان URL لإعادة التوجيه إلى الواجهة الخلفية.
التخزين المؤقت تفعيل التخزين المؤقت لقاعدة التحويل هذه. عند التمكين، يقوم Azure Front Door بالتخزين المؤقت للمحتوى الثابت الخاص بك.

إعادة كتابة عنوان URL

استخدم هذا الإعداد لتكوين مسار إعادة توجيه مخصص اختياريًّا لاستخدامه عند إنشاء طلب إعادة التوجيه إلى الخلفية.

الحقل ‏‏الوصف
مسار مخصص لإعادة التوجيه حدد مسارا يتم إعادة توجيه الطلبات إليه.

التخزين المؤقت

استخدم هذه الإعدادات للتحكم في كيفية تخزين الملفات مؤقتاً للطلبات التي تحتوي على سلاسل استعلام. ما إذا كان سيتم تخزين المحتوى الخاص بك مؤقتاً بناءً على جميع المعلمات أو بناءً على المعلمات المحددة. يمكنك استخدام هذه الإعدادات للكتابة فوق قيمة وقت البقاء (TTL) للتحكم في مدة بقاء المحتويات في ذاكرة التخزين المؤقت. لفرض التخزين المؤقت كإجراء، اضبط حقل التخزين المؤقت على "Enabled." عند فرض التخزين المؤقت، تظهر الخيارات التالية:

سلوك ذاكرة التخزين المؤقت ‏‏الوصف
تجاهل سلسلة الاستعلام بمجرد تخزين الأصل مؤقتاً، تتجاهل جميع الطلبات اللاحقة سلاسل الاستعلام حتى تنتهي صلاحية الأصل المخزن مؤقتاً.
استخدام سلسلة الاستعلام يتم التعامل مع كل طلب بعنوان URL فريد، بما في ذلك سلسلة الاستعلام، على أنه أصل فريد له ذاكرة التخزين المؤقت الخاصة به.
تجاهل سلاسل الاستعلام المحددة يتم تجاهل سلاسل استعلام عنوان URL المدرجة في إعداد "معلمات الاستعلام" للتخزين المؤقت.
تضمين سلاسل الاستعلام المحددة يتم استخدام سلاسل استعلام عنوان URL المدرجة في إعداد "معلمات الاستعلام" للتخزين المؤقت.
حقول أخرى ‏‏الوصف
ضغط ديناميكي يمكن للباب الأمامي ضغط المحتوى على الحافة ديناميكيّاً، ما ينتج عنه استجابة أصغر وأسرع.
معلمات الاستعلام قائمة مفصولة بفواصل للمعلمات المسموح بها أو غير المسموح باستخدامها كأساس للتخزين المؤقت.
استخدام المدة الافتراضية لذاكرة التخزين المؤقت قم بتعيين لاستخدام مدة التخزين المؤقت الافتراضية ل Azure Front Door أو تحديد مدة التخزين المؤقت التي تتجاهل توجيه استجابة الأصل.

الخطوات التالية