הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
שיתוף משאבים בין מקורות (CORS) הוא מנגנון סטנדרטי שמאפשר לקריאות JavaScript XMLHttpRequest (XHR) שמופעלות בדף אינטרנט ליצור אינטראקציה עם משאבים מדומיינים שאינם המקור. CORS הוא פתרון נפוץ למדיניות המקור הזהה שנאכפת על ידי כל הדפדפנים.
לדוגמה, אם תבצעו קריאת XHR ל-Twitter API מקוד JavaScript שמופעל בדפדפן, הקריאה תיכשל. הסיבה לכך היא שהדומיין שמציג את הדף בדפדפן שלכם לא זהה לדומיין שמציג את Twitter API. CORS מספק פתרון לבעיה הזו בכך שהוא מאפשר לשרתים להביע הסכמה אם הם רוצים לספק שיתוף משאבים בין מקורות.
מקרה שימוש אחד ב-CORS הוא התכונה Try this API ב-SmartDoc בפורטל למפתחים. מידע נוסף זמין במאמר בנושא הגדרת proxy ל-API לתמיכה בחלונית Try this API.
מדיניות ה-CORS מאפשרת ללקוחות Apigee להגדיר מדיניות CORS לממשקי API שנצרכים על ידי אפליקציות אינטרנט.
המדיניות הזו היא מדיניות רגילה ואפשר לפרוס אותה בכל סוג של סביבה. מידע על סוגי המדיניות והזמינות שלהם בכל סוג סביבה זמין במאמר סוגי מדיניות.
רכיב <CORS>
הגדרת מדיניות CORS.
| ערך ברירת המחדל | מידע נוסף מופיע בכרטיסייה מדיניות ברירת המחדל שבהמשך |
| חובה? | חובה |
| סוג | אובייקט מורכב |
| רכיב אב | לא רלוונטי |
| רכיבי צאצא |
<AllowCredentials><AllowHeaders><AllowMethods><AllowOrigins><DisplayName><ExposeHeaders><GeneratePreflightResponse><IgnoreUnresolvedVariables><MaxAge> |
רכיב <CORS> משתמש בתחביר הבא:
תחביר
רכיב <CORS> משתמש בתחביר הבא:
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <AllowMethods>[GET, PUT, POST, DELETE, ...|*]</AllowMethods> <AllowHeaders>[origin, x-requested-with, accept, content-type, ...]</AllowHeaders> <ExposeHeaders>[X-CUSTOM-HEADER-A, X-CUSTOM-HEADER-B, ... | *]</ExposeHeaders> <MaxAge>[integer|-1]</MaxAge> <AllowCredentials>[false|true]</AllowCredentials> <GeneratePreflightResponse>[false|true]</GeneratePreflightResponse> <IgnoreUnresolvedVariables>[false|true]</IgnoreUnresolvedVariables> </CORS>
מדיניות ברירת המחדל
בדוגמה הבאה מוצגות הגדרות ברירת המחדל כשמוסיפים את מדיניות ה-CORS לתהליך בעזרת ממשק המשתמש של Edge:
<CORS continueOnError="false" enabled="true" name="add-cors"> <DisplayName>Add CORS</DisplayName> <AllowOrigins>{request.header.origin}</AllowOrigins> <AllowMethods>GET, PUT, POST, DELETE</AllowMethods> <AllowHeaders>origin, x-requested-with, accept, content-type</AllowHeaders> <ExposeHeaders>*</ExposeHeaders> <MaxAge>3628800</MaxAge> <AllowCredentials>false</AllowCredentials> <GeneratePreflightResponse>true</GeneratePreflightResponse> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </CORS>
כשמוסיפים מדיניות חדשה של CORS בממשק המשתמש של Apigee, התבנית מכילה stub לכל הפעולות האפשריות. בדרך כלל, בוחרים אילו פעולות רוצים לבצע באמצעות המדיניות הזו ומסירים את שאר רכיבי הצאצא. לדוגמה, אם רוצים לציין את שיטות ה-HTTP שמותרות לגישה למשאב, משתמשים ברכיב <AllowMethods> ומסירים את שאר הרכיבים המשניים מהמדיניות כדי שהיא תהיה קריאה יותר.
לרכיב הזה יש את המאפיינים הבאים שמשותפים לכל המדיניות:
| מאפיין | ברירת מחדל | חובה? | תיאור |
|---|---|---|---|
name |
לא רלוונטי | חובה |
השם הפנימי של המדיניות. הערך של מאפיין אפשר להשתמש ברכיב |
continueOnError |
FALSE | אופציונלי | מגדירים את הערך false כדי להחזיר שגיאה אם המדיניות נכשלת. זו התנהגות צפויה ברוב המקרים. הגדרה ל-true מאפשרת להמשיך את הביצוע של התהליך גם אחרי שמדיניות נכשלת. מאמרים קשורים:
|
enabled |
TRUE | אופציונלי | מגדירים את הערך true כדי לאכוף את המדיניות, או את הערך false כדי להשבית את המדיניות. המדיניות לא נאכפת גם אם היא עדיין משויכת לזרימה. |
async |
FALSE | הוצא משימוש | המאפיין הזה הוצא משימוש. |
כל אחד מרכיבי הצאצא מתואר בקטעים הבאים.
דוגמאות
בקטעים הבאים מופיעות דוגמאות לכל רכיבי הצאצא.
הפניה לרכיב צאצא
בקטע הזה מתוארים רכיבי הבן של <CORS>.
<AllowCredentials>
מציין אם למבצע הקריאה מותר לשלוח את הבקשה בפועל (לא את בקשת ה-preflight) באמצעות פרטי כניסה. התרגום מופיע בכותרת Access-Control-Allow-Credentials.
| ערך ברירת המחדל | אם לא מציינים ערך, Access-Control-Allow-Credentials לא מוגדר. |
| חובה? | אופציונלי |
| סוג | בוליאני |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
רכיב <AllowCredentials> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <AllowCredentials>[false|true]</AllowCredentials> </CORS>
דוגמה
בדוגמה הזו, הכותרת Access-Control-Allow-Credentials מוגדרת ל-false.
כלומר, למבצע הקריאה אין הרשאה לשלוח את הבקשה בפועל (לא את בקשת ה-preflight) באמצעות פרטי הכניסה.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<AllowCredentials>false</AllowCredentials>
</CORS><AllowHeaders>
רשימה של כותרות HTTP שאפשר להשתמש בהן כשמבקשים את המשאב.
Serialized to the
Access-Control-Allow-Headers header.
| ערך ברירת המחדל | Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers |
| חובה? | אופציונלי |
| סוג | מחרוזת, עם תמיכה בתבנית הודעה* |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
* מידע נוסף זמין במאמר מהי תבנית הודעה?
רכיב <AllowHeaders> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <AllowHeaders>[origin, x-requested-with, accept, content-type, ...]</AllowHeaders> </CORS>
דוגמה
בדוגמה הזו מצוינות כותרות ה-HTTP שאפשר להשתמש בהן כשמבקשים את המשאב.
<CORS continueOnError="false" enabled="true" name="add-cors"> <AllowOrigins>{request.header.origin}</AllowOrigins> <AllowHeaders>origin, x-requested-with, accept, content-type</AllowHeaders> </CORS>
<AllowMethods>
רשימה של methods של HTTP שמותרות לגישה למשאב. התוכן יעבור סריאליזציה לכותרת Access-Control-Allow-Methods.
| ערך ברירת המחדל | GET, POST, HEAD, OPTIONS |
| חובה? | אופציונלי |
| סוג | מחרוזת, עם תמיכה בתבנית הודעה* |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
* מידע נוסף זמין במאמר מהי תבנית הודעה?
רכיב <AllowMethods> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <AllowMethods>[GET, PUT, POST, DELETE, ...|*]</AllowMethods> </CORS>
דוגמה:
List
בדוגמה הזו מצוינות שיטות ה-HTTP שמותרות לגישה למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<AllowMethods>GET, PUT, POST, DELETE</AllowMethods>
</CORS>דוגמה:
Wildcard
בדוגמה הזו מצוין שכל ה-methods של HTTP יכולים לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<AllowMethods>*</AllowMethods>
</CORS><AllowOrigins>
רשימה של מקורות שמורשים לגשת למשאב. משתמשים בכוכבית (*)
כדי לאפשר גישה למשאב מכל מקור. אחרת, צריך לספק רשימת מקורות מותרים שמופרדים בפסיקים. אם נמצאת התאמה, הערך של Access-Control-Allow-Origin היוצא מוגדר למקור כפי שסופק על ידי הלקוח.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | מחרוזת, עם תמיכה בתבנית הודעה* |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
* מידע נוסף זמין במאמר מהי תבנית הודעה?
רכיב <AllowOrigins> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> </CORS>
דוגמה:
כתובת URL אחת
בדוגמה הזו מצוין מקור URL יחיד שמותר לו לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors"> <AllowOrigins>https://www.w3.org</AllowOrigins> </CORS>
דוגמה:
כתובות URL מרובות
בדוגמה הזו מצוינים כמה מקורות שמורשים לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors"> <AllowOrigins>https://www.w3.org, https://www.apache.org</AllowOrigins> </CORS>
דוגמה:
משתנה הקשר
בדוגמה הזו מצוין משתנה הקשר שמייצג מקור אחד או יותר שיש להם הרשאה לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{origins.list}</AllowOrigins>
</CORS>דוגמה:
משתנה של זרימת נתונים
בדוגמה הזו מצוין משתנה של זרימת נתונים שמייצג מקור אחד שמותר לו לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
</CORS>דוגמה:
Wildcard
בדוגמה הזו צוין שכל המקורות יכולים לגשת למשאב.
<CORS continueOnError="false" enabled="true" name="add-cors"> <AllowOrigins>*</AllowOrigins> </CORS>
<DisplayName>
אפשר להשתמש במאפיין הזה בנוסף למאפיין name כדי לתת למדיניות שם אחר, שנשמע יותר טבעי, ב-UI של עורך ה-proxy לניהול.
הרכיב <DisplayName> משותף לכל סוגי המדיניות.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | זה שינוי אופציונלי. אם לא מציינים את <DisplayName>, המערכת משתמשת בערך של מאפיין name של המדיניות. |
| סוג | String |
| רכיב אב | <PolicyElement> |
| רכיבי צאצא | ללא |
רכיב <DisplayName> משתמש בתחביר הבא:
תחביר
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
דוגמה
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
לרכיב <DisplayName> אין מאפיינים או רכיבי צאצא.
<ExposeHeaders>
רשימה של כותרות HTTP שהדפדפנים יכולים לגשת אליהן, או כוכבית (*) כדי לאפשר גישה לכל כותרות ה-HTTP.
Serialized into the
Access-Control-Expose-Headers header.
| ערך ברירת המחדל | אם לא מציינים ערך, Access-Control-Expose-Headers לא מוגדר. כותרות לא פשוטות לא נחשפות כברירת מחדל. |
| חובה? | אופציונלי |
| סוג | מחרוזת, עם תמיכה בתבנית הודעה* |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
* מידע נוסף זמין במאמר מהי תבנית הודעה?
רכיב <ExposeHeaders> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <ExposeHeaders>[X-CUSTOM-HEADER-A, X-CUSTOM-HEADER-B, ... | *]</ExposeHeaders> </CORS>
דוגמה
בדוגמה הזו מצוין שהדפדפנים יכולים לגשת לכל כותרות ה-HTTP.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<ExposeHeaders>*</ExposeHeaders>
</CORS><GeneratePreflightResponse>
מציין אם המדיניות צריכה ליצור ולהחזיר את התגובה לבקשת קדם-ההפעלה במסגרת CORS.
אם false, לא נשלחת תגובה. במקום זאת, משתני הזרימה הבאים מאוכלסים:
cross_origin_resource_sharing.allow.credentialscross_origin_resource_sharing.allow.headerscross_origin_resource_sharing.allow.methodscross_origin_resource_sharing.allow.origincross_origin_resource_sharing.allow.origins.listcross_origin_resource_sharing.expose.headerscross_origin_resource_sharing.max.agecross_origin_resource_sharing.preflight.acceptedcross_origin_resource_sharing.request.headerscross_origin_resource_sharing.request.methodcross_origin_resource_sharing.request.origincross_origin_resource_sharing.request.type
| ערך ברירת המחדל | true |
| חובה? | אופציונלי |
| סוג | בוליאני |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
רכיב <GeneratePreflightResponse> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <GeneratePreflightResponse>[false|true]</GeneratePreflightResponse> <GeneratePreflightResponse>[false|true]</GeneratePreflightResponse> </CORS>
דוגמה
בדוגמה הזו מצוין שהמדיניות צריכה ליצור ולהחזיר את התגובה לבקשת קדם-ההפעלה של CORS.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<GeneratePreflightResponse>true</GeneratePreflightResponse>
</CORS><IgnoreUnresolvedVariables>
קובעת אם העיבוד ייפסק כשנתקלים במשתנה לא פתור.
הערך true גורם להתעלמות ממשתנים לא פתורים ולהמשך העיבוד;
אחרת false.
| ערך ברירת המחדל | true |
| חובה? | אופציונלי |
| סוג | בוליאני |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
רכיב <IgnoreUnresolvedVariables> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <IgnoreUnresolvedVariables>[false|true]</IgnoreUnresolvedVariables> </CORS>
דוגמה
בדוגמה הזו מצוין שהעיבוד יימשך כשנתקלים במשתנה שלא נפתר.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</CORS><MaxAge>
מציינת למשך כמה זמן לשמור במטמון את התוצאות של בקשת קדם-הפעלה, בשניות.
הערך -1 מאכלס את הכותרת Access-Control-Max-Age עם הערך -1, שמשבית את השמירה במטמון. לכן, נדרשת בדיקת
OPTIONS לפני כל קריאה. ההגדרה מופיעה במפרט
Access-Control-Max-Age.
| ערך ברירת המחדל | 1800 |
| חובה? | אופציונלי |
| סוג | מספר שלם |
| רכיב אב |
<CORS>
|
| רכיבי צאצא | ללא |
רכיב <MaxAge> משתמש בתחביר הבא:
תחביר
<CORS continueOnError="[false|true]" enabled="[false|true]" name="POLICY_NAME"> <AllowOrigins>[{message template}|URL|URL, URL, ...|{context-variable}|{flow-variable}|*]</AllowOrigins> <MaxAge>[integer|-1]</MaxAge> </CORS>
דוגמה:
Cache
בדוגמה הזו מצוין שאפשר לשמור במטמון את התוצאות של בקשת קדם-הפעלה למשך 3628800 שניות.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<MaxAge>3628800</MaxAge>
</CORS>דוגמה:
No cache
בדוגמה הזו מצוין שלא ניתן לשמור במטמון את התוצאות של בקשת קדם הפעלה.
<CORS continueOnError="false" enabled="true" name="add-cors">
<AllowOrigins>{request.header.origin}</AllowOrigins>
<MaxAge>-1</MaxAge>
</CORS>הערות שימוש
OPTIONS בקשות
כשמתקבלת בקשת
OPTIONS והיא מעובדת על ידי מדיניות ה-CORS, הביצוע של תהליך ה-proxy מועבר ישירות אל Proxy Response PreFlow, תוך דילוג על תהליכי הבקשה לחלוטין, והביצוע נמשך משם. אין צורך ליצור תנאי כדי להתעלם מבקשת ה-OPTIONS בתהליך הבקשה של ה-proxy.
בשיחות הבאות, כשמדיניות ה-CORS מופעלת, אם תוקף ה-MaxAge שמוגדר במדיניות לא פג, התהליך ממשיך כרגיל. במהלך תהליך התגובה הסופי, ממש לפני 'התגובה נשלחה ללקוח', שלב מיוחד של ביצוע CORS, CORSResponseOrErrorFlowExecution, מגדיר כותרות תגובה של CORS (Access-Control-Allow-Credentials, Access-Control-Allow-Origin ו-Access-Control-Expose-Headers) כדי להחזיר תגובה שעברה אימות CORS.
קודי שגיאה
בקטע הזה מתוארים קודי התקלות והודעות השגיאה שמוחזרים, ומשתני התקלות שמוגדרים על ידי Apigee כשמדיניות כזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלות לטיפול בתקלות. מידע נוסף על שגיאות שקשורות למדיניות ועל טיפול בשגיאות
שגיאות זמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
| קוד תקלה | סטטוס HTTP | מטרה |
|---|---|---|
steps.cors.UnresolvedVariable |
500 |
השגיאה הזו מתרחשת אם משתנה שצוין במדיניות ה-CORS הוא:
או |
שגיאות בהטמעה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שמכיל את המדיניות הזו.
| שם השגיאה | מטרה |
|---|---|
InvalidMaxAge |
MaxAge הוא לא מספר |
MissingAllowOrigins |
לא צוין AllowOrigins |
InvalidHTTPMethods |
אחת מהשיטות ב-AllowMethods לא תקינה |
AllowHeadersSizeTooLarge |
הגודל של המחרוזת ב-AllowHeaders גדול מדי. |
ExposeHeadersSizeTooLarge |
הגודל של המחרוזת ב-ExposeHeaders גדול מדי. |
משתני תקלות
המשתנים האלה מוגדרים כשהמדיניות הזו מפעילה שגיאה בזמן הריצה. מידע נוסף זמין במאמר מה צריך לדעת על שגיאות שקשורות למדיניות.
| משתנים | כאשר: | דוגמה |
|---|---|---|
fault.name = "FAULT_NAME" |
FAULT_NAME הוא שם התקלה, כפי שמופיע בטבלה שגיאות בזמן ריצה שלמעלה. שם התקלה הוא החלק האחרון של קוד התקלה. | fault.name Matches "UnresolveVariable" |
cors.POLICY_NAME.failed |
POLICY_NAME הוא השם שהמשתמש הגדיר למדיניות שגרמה לשגיאה. | cors.AddCORS.failed = true |
דוגמה לתגובת שגיאה
{ "fault":{ "detail":{ "errorcode":"steps.cors.UnresolvedVariable" }, "faultstring":"CORS[AddCORS]: unable to resolve variable wrong.var" } }
דוגמה לכלל שגיאה
<FaultRule name="Add CORS Fault">
<Step>
<Name>Add-CORSCustomUnresolvedVariableErrorResponse</Name>
<Condition>(fault.name Matches "UnresolvedVariable") </Condition>
</Step>
<Condition>(cors.Add-CORS.failed = true) </Condition>
</FaultRule>משתנים בתהליך
אובייקט CorsFlowInfo FlowInfo יתווסף ויהיה זמין למעקב.
| מאפיין (property) | סוג | קריאה/כתיבה | תיאור | תחילת ההיקף |
|---|---|---|---|---|
cross_origin_resource_sharing.allow.credentials |
בוליאני | קריאה/כתיבה | ערך מ-<AllowCredentials> |
בקשה משרת proxy |
cross_origin_resource_sharing.allow.headers |
String | קריאה/כתיבה | ערך מ-<AllowHeaders> |
בקשה משרת proxy |
cross_origin_resource_sharing.allow.methods |
String | קריאה/כתיבה | ערך מ-<AllowMethods> |
בקשה משרת proxy |
cross_origin_resource_sharing.allow.origin |
String | קריאה/כתיבה | מקור הבקשה שמותר, ריק אם הוא לא ברשימת ההיתרים | בקשה משרת proxy |
cross_origin_resource_sharing.allow.origins.list |
String | קריאה/כתיבה | ערך מ-<AllowOrigins> |
בקשה משרת proxy |
cross_origin_resource_sharing.expose.headers |
String | קריאה/כתיבה | ערך מ-<ExposeHeaders> |
בקשה משרת proxy |
cross_origin_resource_sharing.max.age |
מספר שלם | קריאה/כתיבה | ערך מ-<MaxAge> |
בקשה משרת proxy |
cross_origin_resource_sharing.preflight.accepted |
בוליאני | קריאה/כתיבה | מציין אם בקשת קדם-הפעלה מתקבלת | בקשה משרת proxy |
cross_origin_resource_sharing.request.headers |
String | קריאה/כתיבה | הערך של כותרת הבקשה Access-Control-Request-Headers |
בקשה משרת proxy |
cross_origin_resource_sharing.request.method |
String | קריאה/כתיבה | הערך של כותרת הבקשה Access-Control-Request-Method |
בקשה משרת proxy |
cross_origin_resource_sharing.request.origin |
String | קריאה/כתיבה | בדיוק כמו request.header.origin |
בקשה משרת proxy |
cross_origin_resource_sharing.request.type |
String | קריאה/כתיבה |
סוג בקשת ה-CORS. ערכים אפשריים:
|
בקשה משרת proxy |