ברוב המקרים, מותר לומר דברים כמו "קניתי דומיין" או "התמונות שלנו מתארחות באתר אחר", גם אם זה לא נכון. עם זאת, בהקשרים מסוימים יש צורך להיות מדויק יותר. לדוגמה, כשמטפלים בקובצי 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 ואת התווית לפני כן. לדוגמה: בכתובת ה-URLhttps://www.example.com/cat
, האתר הואhttps://example.com
. (בכתובת ה-URL הזו, ה-eTLD זהה לדומיין ברמה העליונה.) - במקרה של eTLD מרובת חלקים, כמו
co.uk
,github.io
אוsa.edu.au
, ה-"site" כולל אתscheme
, ה-eTLD וה-label לפניו. לדוגמה: בכתובת ה-URLhttps://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
בהתאמה.
מידע נוסף
- WhatWG: URL Living Standard
- WhatWG: HTML Living Standard
- API ב-URL
- הסבר על "same-site" ו-"same-origin"
- RFC: ממקמי משאבים אחידים (כתובת URL)
- RFC: URI, כתובות URL ו-URN
- מסד הנתונים Root Zone (ספרייה של דומיינים ברמה העליונה)
- רשימת סיומות ציבוריות (ספרייה של eTLDs: 'סיומת ציבורית היא קבוצה של שמות DNS או תווים כלליים לחיפוש שמשורשרים עם נקודות. הוא מייצג את החלק בשם דומיין שאינו בשליטתו של רושם הדומיין.)
- מילון המונחים של ICANN
- מה זה שם דומיין שמוגדר במלואו?
- בכמה דרכים אפשר לחתוך כתובת URL ולתת שם לחלקים?
- מילון מונחים בנושא MDN Web Docs
- מהי כתובת URL?
- ההיסטוריה של כתובת ה-URL