מהם החלקים בכתובת URL?

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

השמות של חלקי כתובת ה-URL מצוינים בתקן, שבו מוגדר גם API של JavaScript:

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

במסמך הזה מוסבר מגוון מונחים שנעשה בהם שימוש במחרוזות של כתובות URL מסוג HTTP או HTTPS. הוא לא מכסה סוגים אחרים של כתובות URL, כמו כתובות URL של קבצים או נתונים. לגבי מונחים כמו host ו-origin, ההגדרות המדויקות מורכבות מטבען, ולכן המסמך הזה כולל דוגמאות וקישורים לתקן של כתובות URL, במקום לנסות לספק הסברים מלאים.

אפשר להשתמש ב-JavaScript כדי לקבל את השמות של רכיבי כתובת ה-URL שמוגדרים על ידי API של כתובת ה-URL. לדוגמה:

let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);

מנתח כתובות URL

עורכים את כתובת ה-URL שבהמשך כדי לראות איך נקראים החלקים של מחרוזת כתובת ה-URL. אפשר לפתוח אותו גם בכרטיסייה נפרדת בכתובת url-parts.glitch.me.


השמות של חלקי כתובת ה-URL מפורטים בהמשך לפי סדר אלפביתי.

דומיין ברמה העליונה עם קוד מדינה (ccTLD)

דומיין ברמה העליונה שמוגדר ברשימת קודי המדינות לפי תקן ISO 3166-1.

  • לדומיין https://example.org.au, ccTLD הוא au.
  • בשביל https://example.io, ה-ccTLD הוא io.

שם דומיין

החלקים של כתובת URL מסוג HTTP או HTTPS מופרדים בנקודות: כל מה שמופיע אחרי הסכימה, אבל לפני הנתיב או היציאה (אם צוינו). כל חלק של שם הדומיין נקרא תווית.

כתובת URL שם דומיין
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

דומיין ברמה עליונה יעיל (eTLD)

רשומה ברשימת הסיומות הציבוריות, כולל TLD ו(לדומיינים מסוג eTLD עם כמה חלקים) דומיינים נוספים מתחתיו: ברמה השנייה, ברמה השלישית וכו'.

  • לדוגמה: com,‏ com.au,‏ github.io,‏ sa.edu.au,‏ schools.nsw.edu.au.

'סיומת ציבורית', כמו הדוגמאות האלה, היא שם שאפשר לרשום דומיינים תחתיו. רשימת הסיומות הציבוריות היא רשימה של כל הסיומות הציבוריות הידועות, והיא מתעדכנת לעיתים קרובות. דפדפנים, כולל Chromium ו-Firefox, משתמשים ברשימה בגרסאות ה-build שלהם.

eTLD+1

מידע נוסף זמין במאמר דומיין שניתן לרשום.

eTLD בתוספת תת-הדומיין שקודם לו.

  • לדוגמה: example.com, example.org.au, example.github.io, example.sa.edu.au, example.schools.nsw.edu.au.

שם קובץ

לא מוגדר בתקן של כתובות URL ולא חלק מ-URL API, אבל משמש בדרך כלל כדי להתייחס לחלק הסופי של כתובת ה-URL, שאינו נתיב, על סמך ההנחה (שגויה לרוב) שכתובת ה-URL ממופה ישירות למבנה ספרייה.

לדוגמה, ב-https://example.com/dir/file.html, יכול להיות ש-file.html יכונה שם הקובץ.

הדפדפנים משתמשים בערך של שם הקובץ גם כדי לתת שם לנכס אם הוא מוריד. לדוגמה, בדרך כלל https://example.com/images/image.jpg נשמר מקומית ב-image.jpg.

מקטע (fragment)

מחרוזת שמופיעה אחרי התו # בסוף כתובת URL ומספקת מזהה קטע.

  • לדוגמה: כתובת ה-URL https://example.com/cats#tabby כוללת ערך של מזהה קטע tabby.

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

הגיבוב מוחזר על ידי ה-URL API ולא על ידי המקטע.

שם דומיין שמוגדר במלואו (FQDN)

כתובת מלאה של אתר או שרת, שממופים לכתובת IP.

כתובת URL FQDN
https://example.com:1234/cats example.com
https://api.example.github.io api.example.github.io

FQDN של כתובת URL לא כולל את היציאה, גם אם נעשה שימוש ביציאה שאינה ברירת המחדל.

גיבוב (או עוגן)

מחרוזת שמופיעה אחרי התו # בסוף כתובת URL ומספקת מזהה מקטע. (בהקשרים מסוימים המחרוזת הזו נקראת 'עוגן').

החלק שלא כולל את # נקרא קטע. אפשר גם לקשר לקטע טקסט ולהדגיש אותו.

הגיבוב מוחזר על ידי ה-URL API ולא על ידי המקטע.

מארח

כפי שמוגדר בתקן של כתובות URL, מארח יכול להיות שם דומיין, כתובת IP v4, כתובת IPv6, מארח אטום או מארח ריק.

  • ההגדרה של host בתקן של כתובות URL לא כוללת את היציאה.
  • URL.host כולל את היציאה, אלא אם היציאה היא ברירת המחדל של הסכימה.
  • URL.hostname לא כולל את השקע.
כתובת URL URL.host
https://www.example.com:443/cat www.example.com
// 443 is the default port for the scheme
https://www.example.com:1234/cat www.example.com:1234
https://cat.example.github.io cat.example.github.io

שם מארח

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

URL.hostname מחזירה את המארח ללא היציאה.

כתובת URL URL.hostname
https://www.example.com:443/cat www.example.com
https://www.example.com:1234/cat www.example.com
https://cat.example.github.io cat.example.github.io

מקור

בתקן של כתובת ה-URL מגדירים את origin, ומקשרים לתקן ה-HTML לצורך שימוש ברקע.

בכתובות URL מסוג HTTP או HTTPS, הפונקציה URL.origin מחזירה את הסכימה, את המארח ואת היציאה (אלא אם היציאה היא ברירת המחדל של הסכימה).

כתובת URL URL.origin
https://www.example.com:443/cat https://www.example.com
https://www.example.com:1234/cat https://www.example.com:1234
https://cat.example.github.io https://cat.example.github.io

פרמטר

פרמטרים של חיפוש

סיסמה

שם משתמש

שם נתיב

בכתובת URL מסוג HTTP או HTTPS, החלק אחרי הדומיין והיציאה (אם הוגדרו), כולל שם הקובץ (אם הוגדר) אבל לא כולל את מחרוזת החיפוש או את ה-hash.

כתובת URL URL.pathname
https://example.com [empty string]
https://example.com:8000/search?q=tabby /search
https://example.github.io/cat/pattern#tabby /cat/pattern
https://example.github.io/README.md /README.md

לפעמים משתמשים ב'נתיב' כדי להתייחס לנתיב הקובץ בלי שם הקובץ. לדוגמה, בכתובת ה-URL https://example.com/cat/pattern/tabby.html, הערך של 'path' הוא /cat/pattern.

יציאה

המספר שמופיע אחרי : בכתובת URL ומזהה יציאת רשת. לדוגמה: מספר היציאה של כתובת ה-URL https://example.com:1234/tabby הוא 1234.

מספר היציאה חייב להיות מספר שלם ללא סימן באורך 16 ביט: במילים אחרות, מספר שלם בין 0 ל-65535, כולל.

בכתובת URL מסוג HTTP, יציאת ברירת המחדל היא 80. ב-HTTPS, יציאת ברירת המחדל היא 443. אין צורך לציין את מספר היציאה בכתובת ה-URL, אלא אם משתמשים ביציאה שאינה ברירת המחדל.

ה-API מחזיר מחרוזת ריקה אם היציאה היא ברירת המחדל לסכימה.

כתובת URL URL.port
https://example.com // empty string
https://example.com:443/foo // empty string: port is default for scheme
https://www.example.com:1234/foo 1234

פרוטוקול

הסכימה ואחריה : (לדוגמה, http: או https:).

השדה protocol זמין ב-URL API, אבל scheme לא זמין.

שאילתה (או 'מחרוזת שאילתה')

החלק search בכתובת ה-URL, לא כולל את ? הפותח.

דומיין שניתן לרשום

  • בכתובת URL עם eTLD (דומיין ברמה העליונה ברשת האינטרנט) בן חלק אחד, כמו com או org (כלומר eTLD שתואם ל-TLD), הדומיין והדומיין ברמה השנייה שמופיעים לפניו: לדוגמה, example.com או example.org.
  • בכתובת URL עם סיומת דומיין ברמה העליונה (eTLD) בת שני חלקים, שבה מותר רק רישום ברמה שלישית (כלומר, רשומות ברשימת הסיומות הציבוריות כמו com.au ו-github.io), הדומיין ברמה העליונה ('סיומת ציבורית') בת שני החלקים ושם הדומיין ברמה השלישית שמופיע לפני כן. לדוגמה: example.org.au או example.github.io.
  • בדומיינים ברמה העליונה עם שלושה חלקים או יותר, הדומיין ברמה העליונה והדומיין שלפניו.

Scheme

החלק בכתובת ה-URL (לפני ://) שמגדיר את פרוטוקול הרשת (או הפעולה שתתבצע על ידי סוכן המשתמש) כששולחים בקשה לכתובת URL. לדוגמה, צריך לשלוח בקשה לכתובת URL עם סכימה https באמצעות פרוטוקול HTTPS. כששולחים בקשה לכתובת URL עם סכימה כמו file, mailto או git שלא תואמת לפרוטוקול רשת, ההתנהגות תלויה בסוכן המשתמש. לדוגמה, כשמשתמש לוחץ על קישור ל-mailto, רוב הדפדפנים פותחים את אפליקציית האימייל שמוגדרת כברירת מחדל, תוך שימוש בערכים שבכתובת ה-URL href של הקישור.

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

כתובת URL URL.search
https://example.com/cats?pattern=tabby&mood=bonkers ?pattern=tabby&mood=bonkers
https://example.com/cats:443?pattern=tabby ?pattern=tabby

הערך query או 'מחרוזת השאילתה' מתייחס ל-search בלי הערך ? המוביל.

אפשר לעיין גם במאמר פרמטרים לחיפוש.

פרמטרים של חיפוש

הפניה לפריט נתונים שהועברו במחרוזת חיפוש (או 'מחרוזת שאילתה').

  • לדוגמה: עבור https://example.com/cats?pattern=tabby&mood=bonkers, מחרוזת החיפוש כוללת שני פרמטרים: pattern=tabby ו-mood=bonkers.

דומיין ברמה שנייה

הדומיין לפני דומיין ברמה עליונה.

  • בכתובת ה-URL https://www.example.com, הדומיין ברמה השנייה הוא example.com, שהוא תת-דומיין של הדומיין ברמה העליונה com.

  • בדומיין https://example.org.au, הדומיין ברמה העליונה הוא au, הדומיין ברמה השנייה הוא org והדומיין ברמה השלישית הוא example. בדוגמה הזו, org.au הוא תת-דומיין של au ו-example.org.au הוא תת-דומיין של org.au.

אתר

אתר מוגדר לפי תקן HTML, יחד עם אותו אתר, שכולל scheme וללא סכימה של אותו אתר.

האתר לא מוגדר בתקן של כתובות URL או ב-JavaScript URL API.

בהקשר הזה:

כתובת URL אתר (עם סכימה ו-eTLD+1)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ‎("https", "example.co.uk")‎

בניגוד ל-origin, האתר לא כולל את היציאה.

תת-דומיין

דומיין בתוך דומיין ברמה גבוהה יותר.

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

  • www.example.com הוא תת-דומיין של example.com.
  • support.api.example.org הוא תת-דומיין של api.example.org, שהוא תת-דומיין של example.org.

לגבי שמות eTLD בשני חלקים, שבהם מותר רק רישומים ברמה שלישית(כלומר, ערכים ברשימת הסיומות הציבוריות כמו co.uk ו-github.io), תת-הדומיינים הם החלקים של שם הדומיין לפני כן.

  • לדוגמה: cat.example.co.uk הוא תת-דומיין של example.co.uk.

קטע טקסט

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

קטע טקסט מתחיל ב-:~:text= ואחריו מונח החיפוש.

לדוגמה, כדי לקשר להתרחשות הראשונה של הטקסט 'fragment' בדף הזה, צריך להשתמש בכתובת ה-URL https://web.dev/articles/url-parts#:~:text=fragment.

מידע נוסף: קטעי טקסט.

דומיין ברמה עליונה (TLD)

שם דומיין שמופיע במסד הנתונים של תחום הבסיס (root), כמו com או org. חלק מהדומיינים ברמה העליונה הם דומיינים ברמה העליונה עם קוד מדינה, כמו uk ו-tv.

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

  • עבור https://example.org, הדומיין ברמה העליונה של כתובת ה-URL הוא org.
  • בכתובת https://example.org.au, הדומיין ברמה העליונה של כתובת ה-URL הוא au, ו-org הוא דומיין ברמה שנייה (למרות ש-org הוא גם דומיין ברמה עליונה). org.au הוא eTLD בשני חלקים.

רשימת הסיומת הציבורית של eTLD כוללת דומיינים עם חלק אחד, שניים או יותר, כך ש-TLD יכול להיות גם eTLD. לדוגמה:

  • בכתובת https://example.com, ה-eTLD של כתובת ה-URL הוא com, שהוא גם TLD.

שם משתמש

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

לדוגמה, כשמשתמשים ב-https://user123:password1@example.com, שם המשתמש הוא user123. חשוב לזכור ששם המשתמש (והסיסמה!) הם בטקסט ללא הצפנה. אם שם המשתמש מכיל את הסמלים : או @, צריך לקודד אותם לכתובת URL כ-%3A ו-%40, בהתאמה.


למידע נוסף