URI, URL, URN

לאחרונה יוצא לי לטפל המון בפרוטוקולים ברמה של קריאת RFC ומימוש של חלק מהדברים (או שימוש בספריות מוכנות). הבעיה היא שמסתבר כי לא תמיד הספריות המוכנות באמת תומכות במה שצריך, כאשר הצורך שלך יוצא מחוץ לקופסא של החשיבה של מי שבנה את הספרייה שאתה משתמש בה.

למשל הרבה הרבה מימושים של ספריות שאמורות לפרש URI בעצם מפרשות רק URL. בעוד שאם הולכים להגדרה של URI כ RFC מגלים שצריך לממש הרבה מעבר.

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

אז למה יש כל כך הרבה בלבול בין הדברים ? ובכן הרבה אנשים לא מבינים לעומק מה כל אחד מ3 המונחים האלו אומרים, ומתייחסים ל URI כאל URL, ושוכחים מהחלק של URN בכלל, וזה במקרה הטוב.

URI היא דרך להגיד בעצם מה אנחנו מחפשים ואיך להגיע אליו ועם איזה פרמטרים צריך להשתמש בשביל להשיג אותם.

URL היא דרך לדעת מה המיקום של מה שאנחנו מחפשים, כולל Bookmark מסויים או פרמטרים שונים.

URN היא הדרך להגיד מה השם שאנחנו מחפשים.

כלומר URI מכיל את השם שאנחנו רוצים להשיג ובנוסף איך להגיע לדבר הזה (ולא בהכרח בסדר הזה).

או במילים טכניות יותר: URI זה מעין סוג של תוצר מלא בין URL לבין URN, אם כי גם זה לא מדוייק. אתם יכולים לנסות להבין את הבאלגן לפי הדף הזה בוויקיפדיה.

ועוד משפט לאקדמאים (אשר לא באמת יודעים לתכנת): לפעמים קל יותר להשתמש בספרייה מוכנה מאשר ליצור ספרייה שכזו…

אה, וזה סתם פוסט להוציא קצת תסכול ועצבים וגם קצת מידע טכני תוך כדי 🙂

מחשבה אחת על “URI, URL, URN

  1. פינגבק: רשומות DNS עבור SIP | לראות שונה

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s