מהם החלקים בכתובת 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, הדומיין ברמה העליונה עם קוד מדינה הוא au.
  • לדומיין https://example.io, הדומיין ברמה העליונה עם קוד מדינה הוא 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 (TLD) ו(לדומיינים ברמה עליונה אלקטרונית עם כמה חלקים) דומיינים נוספים מתחתיו: ברמה שנייה, ברמה שלישית וכן הלאה.

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

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

eTLD+1

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

eTLD (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.

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

ה-hash מוחזר על ידי ה-API של כתובת ה-URL ולא על ידי המקטע.

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

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

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

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

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

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

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

ה-hash מוחזר על ידי ה-API של כתובת ה-URL ולא על ידי המקטע.

מארח

כפי שמוגדר בתקן של כתובות 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, החלק אחרי הדומיין והיציאה (אם הוגדרו), כולל filename (אם הוגדר) אבל לא כולל את מחרוזת החיפוש או את ה-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 של הקישור.

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

כתובת 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, יחד עם באותו אתר, שכולל סכימה ובאותו אתר ללא סכימה.

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

בהקשר הזה:

  • בכתובת URL מסוג HTTP או HTTPS עם eTLD (eTLD) שמכיל חלק אחד, כמו https://example.com, האתר מורכב מ-scheme, מ-eTLD ומהתוויות שמופיעות לפני כן. לדוגמה: לכתובת ה-URL https://www.example.com/cat, האתר הוא https://example.com. (בכתובת ה-URL הזו, ה-eTLD זהה לדומיין ברמה העליונה).
  • בeTLD שמכיל כמה חלקים, כמו co.uk,‏ github.io או sa.edu.au, החלק 'אתר' מורכב מ-scheme, מ-eTLD ומ-תווית שמופיעה לפניו. לדוגמה: לכתובת ה-URL https://cat.example.co.uk/tabby, האתר הוא https://example.co.uk, ולכתובת https://www.education.sa.gov.au האתר הוא https://education.sa.gov.au.
כתובת 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, בהתאמה.


למידע נוסף