Hầu hết thời gian, bạn có thể nói những câu như "Tôi đã mua một miền" hoặc "Hình ảnh của chúng tôi được lưu trữ trên một trang web khác", ngay cả khi điều đó không hoàn toàn đúng. Tuy nhiên, trong một số trường hợp, bạn cần phải chính xác hơn. Ví dụ: khi xử lý cookie, bạn cần hiểu sự khác biệt giữa trang web và nguồn gốc.
Tên cho các phần của URL được chỉ định theo một tiêu chuẩn, tiêu chuẩn này cũng xác định một API JavaScript:
- Tiêu chuẩn URL xác định các URL và khái niệm liên quan để cho phép kỹ sư tạo các trình duyệt web có khả năng tương tác.
- Thành phần URL API của tiêu chuẩn này xác định các phương thức để cung cấp quyền truy cập vào các phần của chuỗi URL, chẳng hạn như lược đồ hoặc nguồn gốc.
Tài liệu này giải thích một loạt các thuật ngữ được dùng với chuỗi URL HTTP hoặc HTTPS. Nó không bao gồm các loại URL khác, chẳng hạn như URL tệp hoặc dữ liệu. Đối với các thuật ngữ như host và origin, định nghĩa chính xác vốn dĩ rất phức tạp, vì vậy, tài liệu này cung cấp các ví dụ và đường liên kết đến tiêu chuẩn URL, thay vì cố gắng giải thích đầy đủ.
Bạn có thể sử dụng JavaScript để lấy tên của các thành phần URL do URL API xác định. Ví dụ:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
Trình phân tích URL
Chỉnh sửa URL bên dưới để xem tên của các phần trong chuỗi URL. Bạn cũng có thể mở trang này trong một thẻ riêng tại https://chrome.dev/url-parts/.
Tên của các phần trong URL được liệt kê theo thứ tự bảng chữ cái bên dưới.
Miền cấp cao nhất theo mã quốc gia (ccTLD)
Một miền cấp cao nhất được xác định trong danh sách mã quốc gia ISO 3166-1.
Tên miền
Các phần của URL HTTP hoặc HTTPS được phân tách bằng dấu chấm: mọi thứ sau lược đồ, nhưng trước đường dẫn hoặc cổng (nếu được chỉ định). Mỗi phần của tên miền được gọi là một nhãn.
| URL | Tên miền |
|---|---|
| https://example.github.io/path | example.github.io |
| https://support.example.org.au:443 | support.example.org.au |
Miền cấp cao nhất hiệu quả (eTLD)
Một mục trong Danh sách hậu tố công khai, bao gồm TLD và (đối với eTLD có nhiều phần) các miền bổ sung bên dưới: cấp hai, cấp ba, v.v.
- Ví dụ:
com,com.au,github.io,sa.edu.au,schools.nsw.edu.au.
"Hậu tố công khai", chẳng hạn như những ví dụ này, là tên mà các miền có thể đăng ký. Danh sách hậu tố công khai là danh sách tất cả các hậu tố công khai đã biết và được cập nhật thường xuyên. Các trình duyệt, bao gồm cả Chromium và Firefox, sử dụng danh sách này trong bản dựng của mình.
eTLD+1
Xem miền có thể đăng ký.
Một eTLD cộng với miền con đứng trước nó.
- Ví dụ:
example.com,example.org.au,example.github.io,example.sa.edu.au,example.schools.nsw.edu.au.
Tên tệp
Không được xác định trong tiêu chuẩn URL và không thuộc API URL, nhưng thường được dùng để chỉ phần cuối cùng, không phải đường dẫn của URL dựa trên giả định (thường không chính xác) rằng URL liên kết trực tiếp đến cấu trúc thư mục.
Ví dụ: với https://example.com/dir/file.html, file.html có thể được gọi là tên tệp.
Giá trị tên tệp cũng được trình duyệt dùng để đặt tên cho một thành phần nếu thành phần đó được tải xuống.
Ví dụ: https://example.com/images/image.jpg thường được lưu cục bộ vào image.jpg.
Phân đoạn
Một chuỗi theo sau ký tự # ở cuối URL cung cấp mã nhận dạng phân đoạn.
- Ví dụ: URL
https://example.com/cats#tabbycó giá trị của mã nhận dạng phân đoạn làtabby.
Phần chứa # được gọi là hàm băm hoặc điểm neo.
Bạn cũng có thể liên kết đến và làm nổi bật một đoạn văn bản.
Băm được trả về theo API URL thay vì đoạn mã.
Tên miền đủ điều kiện (FQDN)
Địa chỉ đầy đủ của một trang web hoặc máy chủ, được gắn với một địa chỉ IP.
| URL | FQDN |
|---|---|
| https://example.com:1234/cats | example.com |
| https://api.example.github.io | api.example.github.io |
FQDN cho một URL không bao gồm cổng, ngay cả khi bạn sử dụng một cổng không phải cổng mặc định.
Dấu băm (hoặc điểm neo)
Một chuỗi theo sau ký tự # ở cuối URL cung cấp mã nhận dạng phân đoạn. (Trong một số ngữ cảnh, điều này được gọi là "điểm neo".)
Phần không bao gồm # được gọi là phân đoạn.
Bạn cũng có thể liên kết đến và làm nổi bật một đoạn văn bản.
Băm được trả về theo API URL thay vì đoạn mã.
Máy chủ
Như được xác định trong tiêu chuẩn URL, máy chủ lưu trữ có thể là tên miền, địa chỉ IP v4, địa chỉ IPv6, máy chủ lưu trữ không rõ ràng hoặc máy chủ lưu trữ trống.
- Định nghĩa của
hosttheo tiêu chuẩn URL không bao gồm cổng. URL.hostbao gồm cổng, trừ phi cổng là cổng mặc định cho lược đồ.URL.hostnamekhông bao gồm cổng.
| 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 |
Tên máy chủ
Tên máy chủ được xác định bằng API URL JavaScript, nhưng không được xác định ở nơi khác theo tiêu chuẩn URL. Hãy xem phần đại diện của đơn vị lưu trữ để biết thêm thông tin.
URL.hostname trả về máy chủ lưu trữ mà không có cổng.
| 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 |
Điểm gốc
Tiêu chuẩn URL xác định origin và liên kết đến tiêu chuẩn HTML cho nền tảng.
Đối với URL HTTP hoặc HTTPS, URL.origin sẽ trả về lược đồ, máy chủ và cổng (trừ phi cổng là cổng mặc định cho lược đồ).
| 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 |
Tham số
Xem Tham số tìm kiếm
Mật khẩu
Xem tên người dùng.
Tên đường dẫn
Đối với URL HTTP hoặc HTTPS, phần sau miền và cổng (nếu được xác định), bao gồm cả filename (nếu được xác định) nhưng không bao gồm chuỗi tìm kiếm hoặc hàm băm.
| 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 |
Đôi khi, "Đường dẫn" được dùng để chỉ tên đường dẫn mà không có tên tệp. Ví dụ: đối với URL https://example.com/cat/pattern/tabby.html, "đường dẫn" là /cat/pattern.
Cổng
Số sau dấu : trong URL xác định một cổng mạng. Ví dụ: đối với URL https://example.com:1234/tabby, số cổng là 1234.
Số cổng phải là một số nguyên không dấu 16 bit: nói cách khác, một số nguyên từ 0 đến 65535 (bao gồm).
Đối với URL loại HTTP, cổng mặc định là 80; đối với HTTPS, cổng mặc định là 443. URL không cần chỉ định số cổng, trừ phi bạn sử dụng một cổng không phải là cổng mặc định.
API này trả về một chuỗi trống nếu cổng là cổng mặc định cho lược đồ.
| 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 |
Giao thức
Lược đồ theo sau là : (ví dụ: http: hoặc https:).
protocol có trong URL API, nhưng scheme thì không.
Cụm từ tìm kiếm (hoặc "chuỗi truy vấn")
Phần tìm kiếm của URL, không bao gồm ? ở đầu.
Miền có thể đăng ký
- Đối với URL có eTLD gồm một phần, chẳng hạn như
comhoặcorg(tức là eTLD tương ứng với một TLD), miền và miền cấp hai trước đó: ví dụ:example.comhoặcexample.org. - Đối với URL có eTLD gồm 2 phần mà chỉ cho phép đăng ký cấp 3 (tức là các mục trong Danh sách hậu tố công khai, chẳng hạn như
com.auvàgithub.io), tên miền cấp cao nhất gồm 2 phần ("hậu tố công khai") và tên miền cấp 3 ngay trước đó. Ví dụ:example.org.auhoặcexample.github.io. - Đối với eTLD có từ 3 phần trở lên, eTLD và miền trước đó.
Lược đồ
Phần của URL (trước ://) xác định giao thức mạng (hoặc hành động mà tác nhân người dùng sẽ thực hiện) khi một yêu cầu được gửi đến một URL. Ví dụ: yêu cầu đến một URL có giản đồ https phải được thực hiện bằng giao thức HTTPS. Đối với yêu cầu đến một URL có lược đồ như file, mailto hoặc git không tương ứng với giao thức mạng, hành vi sẽ phụ thuộc vào tác nhân người dùng. Ví dụ: khi người dùng nhấp vào một đường liên kết mailto, hầu hết các trình duyệt sẽ mở ứng dụng email mặc định của họ, sử dụng các giá trị trong URL href của đường liên kết.
Tìm kiếm
Dấu chấm hỏi theo sau một loạt các cặp khoá-giá trị đại diện cho tham số và giá trị của tham số đó, được cung cấp sau 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 hoặc "chuỗi truy vấn" đề cập đến search mà không có ? ở đầu.
Xem thêm Tham số tìm kiếm.
Tham số tìm kiếm
Tham chiếu đến một mục dữ liệu được truyền trong một chuỗi tìm kiếm (hoặc "chuỗi truy vấn").
- Ví dụ: đối với
https://example.com/cats?pattern=tabby&mood=bonkers, chuỗi tìm kiếm có hai tham số:pattern=tabbyvàmood=bonkers.
Miền cấp hai
Miền trước miền cấp cao nhất.
Đối với URL
https://www.example.com, miền cấp hai làexample.com, một miền con của miền cấp cao nhấtcom.Đối với
https://example.org.au, miền cấp cao nhất làau, miền cấp hai làorgvà miền cấp ba làexample. Trong ví dụ này,org.aulà một miền con củaauvàexample.org.aulà một miền con củaorg.au.
Trang web
Trang web được xác định theo tiêu chuẩn HTML, cùng với cùng trang web, bao gồm cả lược đồ và cùng trang web không có lược đồ.
Trang web không được xác định trong tiêu chuẩn URL hoặc API URL JavaScript.
Trong bối cảnh này:
- Đối với URL HTTP hoặc HTTPS có eTLD một phần, chẳng hạn như
https://example.com, trang web bao gồmscheme, eTLD và nhãn trước đó. Ví dụ: đối với URLhttps://www.example.com/cat, trang web làhttps://example.com. (Đối với URL này, eTLD giống với miền cấp cao nhất.) - Đối với eTLD gồm nhiều phần, chẳng hạn như
co.uk,github.iohoặcsa.edu.au, "site" (trang web) bao gồmscheme, eTLD và nhãn trước đó. Ví dụ: đối với URLhttps://cat.example.co.uk/tabby, trang web làhttps://example.co.ukvà đối vớihttps://www.education.sa.gov.au, trang web làhttps://education.sa.gov.au.
| URL | Trang web (có lược đồ và eTLD + 1) |
|---|---|
| https://cat.example.com/tabby | ("https", "example.com") |
| https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
Không giống như origin, trang web không có port.
Miền con
Một miền nằm trong một miền cấp cao hơn.
Đối với những trang web có miền cấp cao nhất gồm một phần, chẳng hạn như com hoặc org, các phần trước miền cấp cao nhất, mỗi phần được phân tách bằng dấu chấm.
www.example.comlà một miền con củaexample.com.support.api.example.orglà miền con củaapi.example.org, cònapi.example.orglà miền con củaexample.org.
Đối với eTLD gồm 2 phần mà chỉ cho phép đăng ký cấp thứ ba(tức là các mục trong Danh sách hậu tố công khai, chẳng hạn như co.uk và github.io), miền con là các phần của tên miền trước đó.
- Ví dụ:
cat.example.co.uklà miền con củaexample.co.uk.
Đoạn văn bản
Một loại fragment cho phép liên kết đến và làm nổi bật một dải văn bản trong một trang. Khi người dùng truy cập vào một đường liên kết có một đoạn văn bản, trình duyệt sẽ cố gắng xác định vị trí, di chuyển đến và làm nổi bật văn bản trong trang.
Một đoạn văn bản bắt đầu bằng :~:text=, theo sau là cụm từ tìm kiếm.
Ví dụ: để liên kết đến lần xuất hiện đầu tiên của văn bản "đoạn" trên trang này, hãy sử dụng URL https://web.dev/articles/url-parts#:~:text=fragment.
Tìm hiểu thêm: Mảnh văn bản.
Miền cấp cao nhất (TLD)
Tên miền có trong Cơ sở dữ liệu vùng gốc, chẳng hạn như com hoặc org. Một số miền cấp cao nhất là miền cấp cao nhất theo mã quốc gia, chẳng hạn như uk và tv.
Khi mô tả các phần của URL HTTP hoặc HTTPS, TLD là tên miền theo sau dấu chấm cuối cùng.
- Đối với
https://example.org, miền cấp cao nhất của URL làorg. - Đối với
https://example.org.au, miền cấp cao nhất của URL làauvàorglà miền cấp hai (mặc dùorgcũng là miền cấp cao nhất).org.aulà một eTLD gồm hai phần.
Danh sách hậu tố công khai của eTLD bao gồm các miền có một, hai hoặc nhiều phần, vì vậy, TLD cũng có thể là eTLD. Ví dụ:
- Đối với
https://example.com, eTLD của URL làcom, cũng là một TLD.
Tên người dùng
Bạn có thể cung cấp tên người dùng và mật khẩu (không bắt buộc) ở đầu URL, nhưng thông tin này đã không còn được dùng vì lý do bảo mật và sẽ bị bỏ qua trong nhiều trường hợp.
Ví dụ: với https://user123:password1@example.com, tên người dùng là user123. Lưu ý rằng tên người dùng (và mật khẩu!) ở dạng văn bản thuần tuý và không được mã hoá.
Nếu tên người dùng chứa các ký hiệu : hoặc @, thì các ký hiệu đó phải được mã hoá URL thành %3A và %40 tương ứng.
Tìm hiểu thêm
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API
- Tìm hiểu về "cùng trang web" và "cùng nguồn gốc"
- RFC: Bộ định vị tài nguyên thống nhất (URL)
- RFC: URI, URL và URN
- Cơ sở dữ liệu vùng gốc (thư mục của TLD)
- Danh sách hậu tố công khai (thư mục eTLDs: "Hậu tố công khai là một tập hợp các tên DNS hoặc ký tự đại diện được nối với dấu chấm. Đây là phần của tên miền không thuộc quyền kiểm soát của người đăng ký riêng lẻ.")
- Bảng thuật ngữ của ICANN
- Tên miền đủ điều kiện là gì?
- Bạn có thể chia một URL thành bao nhiêu phần và đặt tên cho các phần đó?
- Bảng thuật ngữ của Tài liệu web MDN
- URL là gì?
- Nhật ký của URL