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

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

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

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

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

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

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.

מקטע

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

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

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

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

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

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

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

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

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

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

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

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

Host

כפי שמוגדר בתקן כתובות ה-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

"Path" משמש לפעמים להפניה לשם הנתיב ללא שם הקובץ. לדוגמה, בכתובת ה-URL https://example.com/cat/pattern/tabby.html, ה "נתיב" הוא /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 דרך ה-API של כתובת ה-URL, אבל לא ב-scheme.

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

חלק החיפוש בכתובת ה-URL, לא כולל ? המובילים.

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

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

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.

אתר

Site מוגדר על ידי תקן ה-HTML, יחד עם אותו אתר, כולל סכמה וללא סכימה באותו אתר.

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

בהקשר הזה:

  • בכתובת URL מסוג HTTP או HTTPS עם 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, ה-"site" כולל את scheme, ה-eTLD וה-label לפניו. לדוגמה: בכתובת ה-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, האתר לא כולל port.

תת-דומיין

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

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

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

מידע נוסף על קטעי טקסט

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

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


מידע נוסף