---
url: https://docs.ogmabox.com/he/app/match-replace.md
description: שנו אוטומטית תעבורת HTTP ו-WebSocket שנלכדה באמצעות כללי התאמה והחלפה של Ogma.
---

# התאמה והחלפה {#match-replace}

התאמה והחלפה משנה תעבורה אוטומטית בזמן שהיא עוברת בפרוקסי, בלי לעצור אותה ובלי לדרוש פעולה ידנית לכל בקשה.

## כיצד הכללים פועלים {#how-rules-work}

כל כלל מגדיר מה לחפש ומה לעשות בו. כאשר בקשה או תגובה תואמות לתנאים, הכלל מחיל את ההמרה מיד.

הכללים מוחלים בסדר שבו הם מופיעים ברשימה. אם שני כללים מכוונים לאותה כותרת, הכלל התואם הראשון מוחל ראשון, והכללים הבאים רואים את תוצאת השינוי.

## שדות הכלל {#rule-fields}

| שדה | תיאור |
| --- | --- |
| שם | תווית לכלל. השתמשו בשם תיאורי לזיהוי מטרתו. |
| כיוון | האם הכלל חל על בקשות, תגובות או שתיהן |
| פעולה | ההמרה לביצוע, כמפורט בטבלת הפעולות להלן |
| מצב ההתאמה | מילולי, ביטוי רגולרי או תוכן מלא, בהתאם לפעולה |
| ערך התאמה | המחרוזת או התבנית לחיפוש |
| ערך החלפה | הערך שיוחלף במקומו |
| מופעל | מתג להפעלת הכלל או להשבתתו בלי למחוק אותו |
| מסננים | תנאים אופציונליים לשיטה, מארח, נתיב ו-HTTPQL המגבילים היכן הכלל חל |

### פעולות {#operations}

| פעולה | מה היא עושה |
| --- | --- |
| הוספת כותרת | מוסיפה כותרת חדשה עם שם וערך קבועים |
| הסרת כותרת | מוחקת כותרת לפי שם |
| החלפת כותרת | מחליפה את הערך של כותרת קיימת |
| החלפת גוף | מחליפה חלק מהגוף באמצעות ערך ההתאמה |
| נתיב / שאילתה / פרמטר שאילתה | משנה את נתיב הבקשה או ערכי השאילתה |
| שורת בקשה / תגובה | משנה את הרכיב שנבחר בשורת הפתיחה של HTTP |
| קוד מצב | משנה את מצב התגובה |
| הודעה גולמית | ממירה יחד את שורת הפתיחה, הכותרות והגוף של HTTP |
| מטען WebSocket | מחליפה תוכן תואם של הודעות לקוח או שרת |
| תהליך עבודה | מריצה תהליך עבודה מופעל מסוג המרה על התוכן שנבחר |

## מצבי התאמה {#match-modes}

**מילולי** מתאים למחרוזת המדויקת. השתמשו בו לאסימונים קבועים, שמות כותרות או ערכים מסוימים.

**ביטוי רגולרי** מתאים באמצעות ביטוי רגולרי. השתמשו בו כאשר היעד משתנה, למשל להתאמת אסימון המשתנה בכל הפעלה, או ללכידת קבוצה ולשימוש חוזר בה בהחלפה.

בהחלפות של ביטוי רגולרי, השתמשו בקבוצות לכידה עם `$1`, `$2` וכן הלאה להפניה לחלקים התואמים בערך ההחלפה.

מצב **החלפת התוכן כולו** מעביר את כל התוכן שנבחר להמרה במקום לחפש תת-מחרוזת. חלק מהפעולות, כגון הוספת כותרת בעלת שם או הסרתה, משתמשות בשם מילולי במקום זאת ואינן מציעות את כל המצבים.

## המרת גוף תגובה מלא {#transforming-a-complete-response-body}

1. צרו והפעילו תהליך עבודה מסוג **המרה**, ואז אמתו אותו באמצעות קלט בדיקה.
2. צרו כלל התאמה והחלפה עם כיוון **תגובה** ופעולה **תהליך עבודה (גוף)**.
3. בחרו מצב התאמה **החלפת התוכן כולו** ובחרו את תהליך העבודה.
4. צמצמו את הכלל בעזרת מסנן HTTPQL, לדוגמה:

```text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")
```

תהליך העבודה מקבל את הגוף כולו; הפלט שלו מחליף את הגוף. **תהליך עבודה (כותרת)** ממיר כותרת בעלת שם, ואילו **תהליך עבודה (כותרות גולמיות)** ממיר את גוש הכותרות. אלה קלטים שונים מגוף התגובה.

מסנני HTTPQL נבדקים בהקשר הבקשה והתגובה הזמין. כלל בכיוון בקשה אינו יכול להסתמך על תגובה שעדיין לא הגיעה. השביתו את רישום היומן של תהליך העבודה כאשר הכלל מייצר הרצות רבות; הפעילו אותו זמנית לאבחון המרה.

## שינוי סדר הכללים {#reordering-rules}

גררו שורת כלל כדי לשנות את מיקומה ברשימה. הסדר חשוב כאשר כללים משנים חלקים חופפים באותה בקשה או תגובה.

## סיוע AI {#ai-assist}

לחצו על **מילוי בעזרת בינה מלאכותית** בעורך הכלל ותארו בשפה טבעית מה לשנות. Ogma מייצר את שדות הכלל לפי התיאור. בדקו והתאימו את הערכים שנוצרו לפני הפעלת הכלל.

דוגמאות להנחיות מתאימות:

* "הסר את כותרת X-Frame-Options מכל התגובות"
* "החלף את ערך כותרת Authorization באסימון הבדיקה שלי"
* "הוסף כותרת בשם X-Debug עם הערך true לכל הבקשות"

## בדיקת כלל {#testing-a-rule}

לפני הפעלת כלל על תעבורה חיה, בדקו אותו באמצעות בקשה לדוגמה:

1. פתחו את עורך הכלל.
2. הדביקו בקשת HTTP גולמית בלוח **בדיקה**.
3. לחצו על **החלת כללים**. הלוח מציג את התוצאה ואת הכללים שהוחלו.
4. ודאו שהפלט תואם לציפיות.
5. הפעילו את הכלל.

בלוח הבדיקה יש גם יעד **תגובה** עם קלטים למצב, כותרות וגוף. בדקו את רשימת הכללים שהוחלו: הבדיקה בוחנת את הכללים הרלוונטיים, ולא רק שדה בודד בעורך.

## התאמה והחלפה לעומת יירוט {#match-replace-vs-intercept}

**התאמה והחלפה** היא אוטומטית. לאחר הפעלת כלל, הוא ממיר כל בקשה או תגובה תואמת בלי פעולה מצדכם.

**יירוט** עוצר תעבורה וממתין להחלטה ידנית. השתמשו ביירוט כאשר השינוי הנכון תלוי בהקשר שיש להעריך עבור כל בקשה. השתמשו בהתאמה והחלפה כאשר אותה המרה צריכה לחול בכל פעם ללא בדיקה.

## שימושים נפוצים {#common-uses}

* החלפת עוגיית הפעלה בכל הבקשות לבדיקת חשבון אחר.
* הוספת כותרת המפעילה מצב ניפוי שגיאות או ניהול.
* הסרת כותרות אבטחה מתגובות להערכת התנהגות בצד הלקוח.
* החלפת מארח המקודד בקוד בתגובות הפניה.
* שכתוב קידומת נתיב בקשה.

## עמודים קשורים {#related-pages}

* [יירוט](./intercept.md)
* [היסטוריית HTTP](./http-history.md)
* [תהליכי עבודה](./workflows.md)
