Khi làm việc với web và các ứng dụng liên quan đến internet, chúng ta thường gặp các thuật ngữ như URI, URL và URN. Mặc dù chúng có vẻ giống nhau và đôi khi được sử dụng thay thế cho nhau, nhưng mỗi thuật ngữ đều có ý nghĩa cụ thể. Hãy cùng tìm hiểu chi tiết về sự khác nhau giữa URI, URL và URN, cùng các ví dụ cụ thể để giúp các bạn phân biệt rõ ràng.

1. URI (Uniform Resource Identifier)

URI là một thuật ngữ chung, đại diện cho bất kỳ dạng nhận diện tài nguyên nào trên internet. Mục đích của URI là định danh một tài nguyên duy nhất và có thể được chia thành hai loại chính: URLURN. URI bao gồm một tập hợp các ký tự được sử dụng để xác định tài nguyên trên một hệ thống mạng, thường là web.

Cấu trúc của URI có thể bao gồm:

  • Scheme: Phần chỉ định cách truy cập tài nguyên, ví dụ như http, https, ftp,…
  • Path: Đường dẫn đến tài nguyên.

Ví dụ:

http://www.example.com/index.html
urn:isbn:0451450523

Cả hai ví dụ trên đều là URI vì chúng cung cấp cách định danh tài nguyên trên internet. Trong đó, URI có thể là URL hoặc URN.

2. URL (Uniform Resource Locator)

URL là một tập hợp con của URI, và là cách phổ biến nhất để xác định vị trí của một tài nguyên trên internet. Nó không chỉ định danh tài nguyên mà còn chỉ cách để truy cập tài nguyên đó. Một URL cung cấp thông tin chi tiết về:

  • Giao thức (protocol) hoặc scheme: Chỉ định cách truy cập tài nguyên (như http, https, ftp).
  • Tên miền hoặc địa chỉ IP: Vị trí tài nguyên trên mạng.
  • Đường dẫn (path): Địa chỉ cụ thể của tài nguyên.
  • Port: (tùy chọn) Cổng mạng cần thiết để truy cập tài nguyên.
  • Query parameters: (tùy chọn) Các tham số bổ sung để lọc hoặc cung cấp thông tin cho tài nguyên.

Cấu trúc của URL:

scheme://domain:port/path?query_string#fragment_id

Ví dụ URL:

https://www.example.com:80/path/to/resource?name=JohnDoe#section1

Ở ví dụ này:

  • Scheme: https – chỉ ra cách truy cập tài nguyên (giao thức).
  • Domain: www.example.com – chỉ định tên miền nơi tài nguyên được lưu trữ.
  • Port: 80 – chỉ ra cổng (có thể mặc định cho HTTP hoặc HTTPS).
  • Path: /path/to/resource – chỉ ra đường dẫn tới tài nguyên cụ thể.
  • Query String: name=JohnDoe – các tham số query để lọc hoặc xác định tài nguyên.
  • Fragment: section1 – phần cụ thể trong tài liệu.

3. URN (Uniform Resource Name)

URN là một loại URI được sử dụng để định danh tài nguyên theo tên của nó, không liên quan đến vị trí hoặc phương pháp truy cập. URN chỉ cung cấp tên duy nhất cho tài nguyên, và tài nguyên có thể tồn tại ở nhiều vị trí khác nhau trên mạng.

Ví dụ URN:

urn:isbn:0451450523

Trong ví dụ này:

  • URN xác định sách qua số ISBN của nó, nhưng không chỉ ra nơi lưu trữ hoặc cách để truy cập sách này. URN chỉ đơn thuần là tên duy nhất của tài nguyên.

4. Sự khác nhau giữa URI, URL và URN

  • URI: Là thuật ngữ chung bao gồm cả URL và URN, dùng để xác định bất kỳ tài nguyên nào trên internet.
  • URL: Là một loại URI cung cấp cả vị trí (location) và cách để truy cập tài nguyên.
  • URN: Là một loại URI chỉ cung cấp tên duy nhất cho tài nguyên mà không cung cấp vị trí hay cách để truy cập.

5. So sánh cụ thể

Thuật ngữĐịnh nghĩaVí dụ
URIĐịnh danh tài nguyên duy nhấthttp://www.example.com/index.html, urn:isbn:0451450523
URLXác định vị trí tài nguyên và cách truy cậphttps://www.example.com/about-us
URNChỉ định danh tài nguyên bằng tên duy nhấturn:isbn:0451450523

6. Kết luận

  • URI là khái niệm rộng hơn, bao gồm cả URL và URN. Mọi URL hoặc URN đều là URI.
  • URL không chỉ định danh tài nguyên mà còn cung cấp cách để truy cập nó.
  • URN định danh tài nguyên chỉ qua tên duy nhất mà không chỉ định vị trí.

Tóm lại, nếu bạn đang tìm cách định danh tài nguyên trên web và cần biết cách truy cập nó, hãy nghĩ đến URL. Nếu bạn chỉ cần định danh tài nguyên mà không quan tâm đến cách truy cập, URN là lựa chọn phù hợp.