11-08-2007, 20:31
|
|
|
|
חבר מתאריך: 02.10.05
הודעות: 2,355
|
|
בתגובה להודעה מספר 1 שנכתבה על ידי דור שמתחילה ב "באילו ממשקים אתם משתמשים ביישומי ה-AJAX שלכם לצרכי העברת מידע?"
גם לי JSON מוצג עכשיו לראשונה, אני מסכם את מה שהבנתי בשביל לראות אם הבנתי נכון:
1) מבחינת יעילות בצד לקוח, אין ספק ש- JSON יותר יעיל, eval פשוט הופך את המחרוזת לאוביקט שאפשר לעשות איתו מה שרוצים, ב- XML יש אוביקט שעושה את זה, אבל סה"כ זה יותר מסורבל וצריך להתעסק גם למשל עם תאימות בין דפדפנים.
2) מבחינת צד שרת: ב- php 5.2.0 ההרחבה JSON קיימת כברירת מחדל, ויש לה 2 פונקציות:- המרת מחרוזת JSON לאוביקט
- המרת אוביקט למחרוזת JSON
חיפשתי עכשיו על XML ב- php ומצאתי רק פונקציות שיודעות לנתח XML, ולא ליצור XML.
אף-על-פי שאפשר כבר מ- PHP 4.3 לנתח XML, לא מצאתי משהו מובנה ב- PHP שיוצר XML, דבר שהוא לא נורא... אבל היה יכול להיות נחמד
3) מבחינת הפורמט עצמו, JSON פורמט יותר טוב כשאשר רוצים להעביר נתונים כמו משתנים, אבל כאשר רוצים לתאר מידע, אני הצלחתי למצוא דוגמא אחת שבא XML יהיה עדיף:
נניח שאנחנו רוצים להציג מידע כלשהו לפי פורמט מסוים, והסדר של הנתונים רלוונטי, למשל אני רוצה להציג מסמך עם טקסט בעיצוב שאני קורא לו נגיד, blod, נראה לי ש- XML יהיה דווקא פחות מסורבל, אין לי ניסיון בזה, ואני לא כל-כך מבין בזה, אבל אני חושב שבמקרה הזה שימוש ב- JSON יהיה יותר מסורבל.
4) אבטחה, ממבט ראשוני, מדאיג לקבל טקסט וישר לדחוף אותו ל- eval, מצד שני, שאני שולח בקשת AJAX, אני יודע לאיפה אני שולח אותה, בהנחה שאני שולט בצד שרת של האפליקציה, אני לא רואה דרך שבה גורם צד-שלישי דוחף ללקוח קוד JS, צוואר הבקבוק באבטחה של AJAX, אם יש, הוא שאם מעבירים דרכו מידע רגיש אפשר לגנוב אותו, אבל באותה קלות אפשר לגנוב מידע שעובר דרך טופס, ככה ששתי הדרכים שקולות מבחינת אבטחה.
בנוסף לכל זה, קיים Parser חינמי ל- JSON, בקוד פתוח, ששוקל פחות מ- 2kb והופך את כל הקטע לעוד יותר מאובטח, מה שכן במקרה שאנחנו לא סומכים על המידע שאנחנו מקבלים מהשרת, אני מרגיש יותר "בטוח" להשתמש ב- XML, ששם בצד לקוח יש Parser מובנה בדפדפן, למרות שתכלס אני לא באמת יודע איזה אם אפשר לעקוף אחד מה- Parser-ים האלו, ואיזה יותר רגיש..
_____________________________________
|