URI là gì?

Bài viết được sự cho phép của tác giả Kien Dang Chung

URI là một khái niệm tổng quát, có trước cả URL tuy nhiên do thực tế việc sử dụng URL nhiều hơn nên mọi người thường biết đến URL nhiều hơn. Vậy chính xác URI là gì? nó có quan hệ như thế nào với URL, chúng ta cùng tìm hiểu.

  Cài đặt ConfigServer Security and Firewall (CSF) và Webmin trên CentOS 7

  Bảo mật ứng dụng Java web bởi Spring Security

URI là gì?

URI là viết tắt của Uniform Resource Identifier – Nhận diện tài nguyên thống nhất, URI là một chuỗi ký tự được sử dụng để nhận diện các tài nguyên, chuỗi ký tự này có thể là một định vị tài nguyên hoặc một định danh tài nguyên hoặc cả hai. Tài nguyên ở đây là tài nguyên mạng như các siêu văn bản, file hình ảnh, file âm thanh, file video… Với định nghĩa ở trên, các chuỗi sau đây là URI:

  1. https://allaravel.com
  2. https://allaravel.com/wp-content/uploads/2018/06/uri-url-urn-urc-khac-nhau-nhu-the-nao.png
  3. urn:isbn-13:978-1786469946
  4. view-source:https://allaravel.com

Với một số URI, trình duyệt không thể yêu cầu nội dung trực tiếp, tuy nhiên nó vẫn là nhận diện một tài nguyên duy nhất và có thể có những ứng dụng máy chủ tạo ra dịch vụ để chuyển nó thành nội dung mà trình duyệt có thể yêu cầu được.

Cấu trúc URI

Cấu tạo của một URI như sau:

URI = scheme:[//authority]path[?query][#fragment]

Trong đó:

  • scheme: chính là giao thức mạng sử dụng để truyền dẫn dữ liệu, các giao thức phổ biến mà chúng ta biết là http, https, ftp, mailto, irc…, phân cách giao thức với phần còn lại bằng ký tự :.
  • authority là phần tổ hợp bao gồm các phần nhỏ hơn
authority = [userinfo@]domain[:port]
  • userinfo: Thông tin người dùng bao gồm tên đăng nhập và mật khẩu, chỉ sử dụng với các URL được bảo mật cần đăng nhập.
  • domain: tên miền của website là ánh xạ 1 – 1 từ một tên có thể nhớ sang địa chỉ IP của máy chủ web nơi chứa nội dung trang web.
  • port: Số cổng sử dụng bởi giao thức trên máy chủ.
    • path: Đường dẫn đến nội dung trang web, đường dẫn này là đường dẫn trong nội bộ website, phân cách giữa thư mục cha và thư mục con bởi dấu gạch chéo (/).
    • query: là chuỗi truy vấn, chứa các thông tin theo cặp tên/giá trị được gửi đến máy chủ web, mỗi cặp này cách nhau bởi dấu &.
    • fragment: là các chỉ mục con của nội dung, được bắt đầu với dấu #.

Ví dụ về URI

          userinfo    domain      port
          ┌───┴──┐ ┌────┴──────┐ ┌┴┐
  https://[email protected]:443/forum/questions/?search=vuejs+tutorial&paged=2#top
  └─┬─┘   └─────────────┬──────────┘└───────┬───────┘ └────────────┬──────────────┘ └┬┘
 scheme             authority               path                   query         fragment

  ldap://[192.168.0.101]/c=GB?objectClass?one
  └─┬┘   └─────┬───────┘└─┬─┘ └──────┬──────┘
 scheme    authority  path       query

  mailto:[email protected]
  └──┬─┘ └─────────┬───────────┘
  scheme         path

  news:comp.infosystems.www.servers.unix
  └─┬┘ └───────────────┬───────────────┘
 scheme              path

  tel:+084-904-666-888
  └┬┘ └──────┬───────┘
scheme     path

  telnet://192.0.2.16:21/
  └──┬─┘   └─────┬─────┘│
  scheme     authority path

  urn:isbn-13:<span id="ebooksProductTitle" class="a-size-extra-large a-text-bold"><span class="a-size-base a-color-base">978-1786469946</span></span>
  └┬┘ └─────────┬──────────┘
scheme         path

Bài viết gốc được đăng tải tại allaravel.com

Có thể bạn quan tâm:
Xem thêm Việc làm IT hấp dẫn trên TopDev