Tìm hiểu về URL – Phát triển web | MDN

URLs là từ viết tắt của Uniform Resource Locators (Định vị đồng nhất tài nguyên), và bài viết này sẽ giải thích ý nghĩa và cấu trúc của chúng.

URL là một trong những khái niệm quan trọng nhất của Web, cùng với Hypertext và HTTP. Đó là cơ chế được các trình duyệt sử dụng để truy xuất bất kỳ tài nguyên nào trên mạng.

URL là viết tắt của Uniform Resource Locator, tức là địa chỉ của một tài nguyên duy nhất trên Web. Lý thuyết, mỗi URL hợp lệ trỏ đến một tài nguyên duy nhất. Tài nguyên đó có thể là một trang HTML, một tài liệu CSS, một hình ảnh, v.v. Tuy nhiên, trong thực tế, có một số ngoại lệ, phổ biến nhất là URL trỏ đến một tài nguyên không còn tồn tại hoặc đã được di chuyển. Bởi vì tài nguyên được đại diện bởi URL và URL chính nó đều được quản lý bởi máy chủ Web, vì vậy việc quản lý cẩn thận tài nguyên đó và URL liên quan là trách nhiệm của chủ sở hữu máy chủ Web.

Dưới đây là một số ví dụ về URLs:

What is a URL? - Learn web development | MDN

Ghi chú: Bạn có thể coi URL như một địa chỉ thư thông thường: scheme đại diện cho dịch vụ thư bạn muốn sử dụng, domain name là thành phố hoặc thị trấn, và port tương đương với mã zip; path đại diện cho toà nhà mà thư của bạn sẽ được chuyển đến; parameters đại diện cho thông tin bổ sung như số căn hộ trong toà nhà; cuối cùng, anchor đại diện cho người nhận thực sự của thư của bạn.

Ghi chú: Có một số phần bổ sung và một số quy tắc bổ sung liên quan đến URLs, nhưng chúng không quan trọng đối với người dùng thông thường hoặc nhà phát triển Web. Đừng lo lắng về điều này, bạn không cần phải biết chúng để xây dựng và sử dụng URLs hoạt động hoàn toàn.

Phần đầu tiên của URL là scheme, đó là giao thức mà trình duyệt phải sử dụng để yêu cầu tài nguyên (giao thức là một phương pháp để trao đổi hoặc chuyển dữ liệu trong mạng máy tính). Thông thường, đối với các trang web, giao thức là HTTPS hoặc HTTP (phiên bản không bảo mật). Đường dẫn đến các trang web yêu cầu một trong hai giao thức này, nhưng trình duyệt cũng biết cách xử lý các giao thức khác như mailto: (để mở một ứng dụng thư điện tử), vì vậy đừng ngạc nhiên nếu bạn thấy các giao thức khác.

Tham khảo  Các bước cơ bản SEO: Hướng dẫn cho người mới bắt đầu thành công

What is a URL? - Learn web development | MDN

Tiếp theo là authority, được phân cách với scheme bằng ký tự ://. Nếu có, authority bao gồm cả domain (ví dụ: www.example.com) và port (80), được phân tách bằng dấu hai chấm:

  • Domain chỉ ra máy chủ Web đang được yêu cầu. Thông thường, đây là tên miền, nhưng cũng có thể sử dụng địa chỉ IP (nhưng điều này hiếm khi xảy ra vì nó không tiện lợi bằng cách sử dụng tên miền).
  • Port chỉ ra “cổng” kỹ thuật được sử dụng để truy cập vào các tài nguyên trên máy chủ Web. Thông thường, nếu máy chủ Web sử dụng các cổng tiêu chuẩn của giao thức HTTP (80 cho HTTP và 443 cho HTTPS) để cấp quyền truy cập vào các tài nguyên của nó, cổng sẽ được bỏ qua. Nếu không, cổng là bắt buộc.
  • Ghi chú: Dấu phân cách giữa scheme và authority là ://. Dấu hai chấm phân tách scheme và phần tiếp theo của URL, trong khi // cho biết phần tiếp theo của URL là authority.

    Một ví dụ về URL không sử dụng authority là mail client (mailto:foobar). Nó chứa một scheme nhưng không sử dụng thành phần authority. Do đó, dấu hai chấm không được theo sau bởi hai dấu gạch chéo ngược và chỉ là một dấu phân tách giữa scheme và địa chỉ thư.

    /path/to/myfile.html là đường dẫn đến tài nguyên trên máy chủ Web. Trong những ngày đầu của Web, một đường dẫn như vậy đại diện cho một vị trí tệp vật lý trên máy chủ Web. Ngày nay, đó chỉ là một trừu tượng được xử lý bởi máy chủ Web mà không có thực tế vật lý nào.

    ?key1=value1&key2=value2 là các tham số bổ sung được cung cấp cho máy chủ Web. Các tham số này là một danh sách các cặp key/value được phân tách bằng ký hiệu &. Máy chủ Web có thể sử dụng các tham số này để thực hiện các thao tác bổ sung trước khi trả về tài nguyên. Mỗi máy chủ Web có quy tắc riêng về các tham số, và cách duy nhất để biết xem một máy chủ Web cụ thể có xử lý các tham số hay không là hỏi chủ sở hữu máy chủ Web.

    Tham khảo  Bắt đầu một Blog trong 10 Bước Dễ Dàng + Thực Hành Tốt cho Người Mới Bắt Đầu

    #SomewhereInTheDocument là một anchor (móc neo) trỏ đến một phần khác của tài nguyên chính nó. Anchor đại diện cho một loại “bookmark” bên trong tài nguyên, cho trình duyệt biết cách hiển thị nội dung được đặt tại điểm “bookmark” đó. Ví dụ, trên một tài liệu HTML, trình duyệt sẽ cuộn đến điểm mà anchor được xác định; trên một tài liệu video hoặc âm thanh, trình duyệt sẽ cố gắng chuyển đến thời gian mà anchor đại diện. Đáng lưu ý rằng phần sau dấu #, còn được gọi là fragment identifier, không bao giờ được gửi đến máy chủ cùng với yêu cầu.

    Bất kỳ URL nào cũng có thể gõ trực tiếp vào thanh địa chỉ trình duyệt để truy cập vào tài nguyên đằng sau nó. Nhưng điều này chỉ là phần nhỏ nhất của ẩn số!

    Ngôn ngữ HTML – sẽ được thảo luận sau đây – sử dụng URLs rất phổ biến:

  • để tạo liên kết đến các tài liệu khác với phần tử <a>;
  • để liên kết tài liệu với các tài nguyên liên quan thông qua các phần tử khác như <link> hoặc <script>;
  • để hiển thị các phương tiện như hình ảnh (với phần tử <img>), video (với phần tử <video>), âm thanh và nhạc (với phần tử <audio>), v.v.;
  • để hiển thị các tài liệu HTML khác với phần tử <iframe>.
  • Ghi chú: Khi chỉ định URLs để tải tài nguyên như một phần của trang (ví dụ: khi sử dụng <script>, <audio>, <img>, <video>, v.v.), bạn nên chỉ sử dụng URLs HTTP và HTTPS, với vài ngoại lệ (một ngoại lệ đáng chú ý là data:; xem Data URLs). Sử dụng FTP, ví dụ, không an toàn và không còn được hỗ trợ bởi các trình duyệt hiện đại.

    Các công nghệ khác như CSS hoặc JavaScript cũng sử dụng URLs rất phổ biến, và chúng thực sự là trái tim của Web.

    Hãy xem điểm khác biệt giữa absolute và relative trong ngữ cảnh của URLs.

    Các phần bắt buộc của một URL phụ thuộc rất nhiều vào ngữ cảnh mà URL được sử dụng. Trong thanh địa chỉ của trình duyệt, URL không có bất kỳ ngữ cảnh nào, vì vậy bạn phải cung cấp một URL đầy đủ (hoặc tuyệt đối), giống như những URL chúng ta đã thấy ở trên. Bạn không cần bao gồm giao thức (trình duyệt mặc định sử dụng HTTP) hoặc cổng (chỉ cần khi máy chủ Web mục tiêu sử dụng một cổng không thông thường), nhưng tất cả các phần URL khác đều cần thiết.

    Tham khảo  Tối ưu hóa SEO chương trình - Làm đúng cách

    Khi một URL được sử dụng trong một tài liệu, chẳng hạn như trong một trang HTML, thì mọi thứ sẽ khác một chút. Bởi vì trình duyệt đã có URL của tài liệu, nó có thể sử dụng thông tin này để điền vào các phần URL bị thiếu có sẵn trong tài liệu đó. Chúng ta có thể phân biệt giữa URL tuyệt đối và URL tương đối chỉ bằng cách nhìn vào phần đường dẫn của URL. Nếu phần đường dẫn của URL bắt đầu bằng ký tự “/”, trình duyệt sẽ tải tài nguyên đó từ gốc trên cùng của máy chủ, mà không liên quan đến ngữ cảnh được cung cấp bởi tài liệu hiện tại.

    Hãy xem một số ví dụ để làm rõ hơn điều này.

    Để hiểu rõ hơn về các ví dụ sau, hãy giả sử rằng các URL được gọi từ trong tài liệu nằm tại địa chỉ URL sau: https://developer.mozilla.org/en-US/docs/Learn

    Mặc dù URLs có vẻ rất kỹ thuật, chúng đại diện cho một điểm vào dễ đọc cho một trang web. Chúng có thể được ghi nhớ và bất kỳ ai cũng có thể nhập chúng vào thanh địa chỉ của trình duyệt. Mọi người là trung tâm của Web, vì vậy xây dựng những gì được gọi là các URL ngữ nghĩa được coi là quy tắc tốt nhất. Các URL ngữ nghĩa sử dụng từ có ý nghĩa tự nhiên mà ai cũng có thể hiểu được, bất kể kiến thức kỹ thuật của họ.

    Ý nghĩa ngôn ngữ học không quan trọng đối với máy tính. Bạn có thể thường xuyên thấy các URL dường như là một sự kết hợp ngẫu nhiên của các ký tự. Nhưng có rất nhiều lợi ích khi tạo ra các URL dễ đọc cho con người:

  • Dễ dàng để bạn tùy chỉnh chúng.
  • Giải thích cho người dùng về nơi họ đang ở, họ đang làm gì, họ đang đọc hoặc tương tác với trên Web.
  • Một số công cụ tìm kiếm có thể sử dụng ngữ nghĩa đó để cải thiện việc phân loại các trang liên quan.
  • Data URLs: URLs bắt đầu bằng scheme data:, cho phép người tạo nội dung nhúng các tệp nhỏ trong tài liệu.

    Đánh giá bài viết
    Contact Me on Zalo