Câu trả lời:
Nói chung, việc sử dụng các URL tương đối được coi là cách tốt nhất để trang web của bạn không bị ràng buộc với URL cơ sở nơi nó hiện đang được triển khai. Ví dụ, nó sẽ có thể hoạt động trên localhost, cũng như trên miền công cộng của bạn mà không cần sửa đổi.
Nếu theo URL tuyệt đối, bạn có nghĩa là các URL bao gồm lược đồ (ví dụ http / https) và tên máy chủ (ví dụ: yourdomain.com) không bao giờ làm điều đó (đối với tài nguyên cục bộ) bởi vì sẽ rất tệ khi duy trì và gỡ lỗi.
Giả sử bạn đã sử dụng URL tuyệt đối ở mọi nơi trong mã của bạn như thế nào <img src="http://yourdomain.com/images/example.png">
. Bây giờ điều gì sẽ xảy ra khi bạn sẽ:
Trong ví dụ đầu tiên, điều sẽ xảy ra là bạn sẽ nhận được cảnh báo về nội dung không an toàn được yêu cầu trên trang. Bởi vì tất cả các URL của bạn được mã hóa cứng để sử dụng http (: //yourdomain.com/images/example.png). Và khi chạy các trang của bạn qua https, trình duyệt hy vọng tất cả các tài nguyên sẽ được tải qua https để tránh rò rỉ thông tin.
Trong ví dụ thứ hai khi đặt trang web của bạn trực tiếp từ môi trường thử nghiệm, điều đó có nghĩa là tất cả các tài nguyên vẫn đang trỏ đến miền thử nghiệm của bạn thay vì miền trực tiếp của bạn.
Vì vậy, để trả lời câu hỏi của bạn về việc nên sử dụng URL tuyệt đối hay tương đối: luôn sử dụng URL tương đối (đối với tài nguyên cục bộ).
Trước tiên, hãy xem các loại url khác nhau mà chúng ta có thể sử dụng:
http://yourdomain.com/images/example.png
//yourdomain.com/images/example.png
/images/example.png
images/example.png
Trong các ví dụ dưới đây, tôi giả sử trang web đang chạy từ vị trí sau trên máy chủ /var/www/mywebsite
.
http://yourdomain.com/images/example.png
URL ở trên (tuyệt đối) cố gắng truy cập tài nguyên /var/www/website/images/example.png
. Loại URL này là thứ bạn luôn muốn tránh để yêu cầu tài nguyên từ trang web của riêng bạn vì lý do đã nêu ở trên. Tuy nhiên, nó có vị trí của nó. Ví dụ: nếu bạn có một trang web http://yourdomain.com
và bạn muốn yêu cầu tài nguyên từ một tên miền bên ngoài qua http, bạn nên sử dụng tài nguyên này. Ví dụ https://externalsite.com/path/to/image.png
.
//yourdomain.com/images/example.png
URL này là tương đối dựa trên lược đồ hiện tại được sử dụng và hầu như luôn luôn được sử dụng khi bao gồm các tài nguyên bên ngoài (hình ảnh, javascripts, v.v.).
Loại URL này làm gì là sử dụng lược đồ hiện tại của trang. Điều này có nghĩa là bạn đang ở trên trang http://yourdomain.com
và trên trang đó là thẻ hình ảnh <img src="//yourdomain.com/images/example.png">
, URL của hình ảnh sẽ phân giải http://yourdomain.com/images/example.png
.
Khi bạn đã ở trên trang http**s**://yourdomain.com
và trên trang đó là thẻ hình ảnh <img src="//yourdomain.com/images/example.png">
, URL của hình ảnh sẽ phân giải https://yourdomain.com/images/example.png
.
Đây ngăn chặn các nguồn tài nguyên tải trên https khi nó không phải là cần thiết và tự động đảm bảo tài nguyên được yêu cầu trên https khi nó được cần thiết.
URL trên giải quyết theo cách tương tự ở phía máy chủ như URL trước đó:
URL ở trên (tuyệt đối) cố gắng truy cập tài nguyên
/var/www/website/images/example.png
.
/images/example.png
Đối với tài nguyên địa phương, đây là cách ưa thích để tham khảo chúng. Đây là một URL tương đối dựa trên tài liệu gốc ( /var/www/mywebsite
) của trang web của bạn. Điều này có nghĩa là khi bạn có <img src="/images/example.png">
nó sẽ luôn luôn giải quyết /var/www/mywebsite/images/example.png
.
Nếu tại một thời điểm nào đó bạn quyết định chuyển tên miền thì nó vẫn hoạt động vì nó là tương đối.
images/example.png
Đây cũng là một URL tương đối mặc dù hơi khác so với trước đó. URL này liên quan đến đường dẫn hiện tại. Điều này có nghĩa là nó sẽ giải quyết các đường dẫn khác nhau tùy thuộc vào vị trí của bạn trong trang web.
Ví dụ: khi bạn ở trên trang http://yourdomain.com
và bạn sử dụng <img src="images/example.png">
nó sẽ giải quyết trên máy chủ /var/www/mywebsite/images/example.png
như mong đợi, tuy nhiên khi bạn ở trên trang http://yourdomain.com/some/path
và bạn sử dụng cùng một thẻ hình ảnh thì nó sẽ tự động giải quyết /var/www/mywebsite/some/path/images/example.png
.
Khi yêu cầu tài nguyên bên ngoài, rất có thể bạn muốn sử dụng URL liên quan đến lược đồ (trừ khi bạn muốn buộc một lược đồ khác) và khi xử lý các tài nguyên cục bộ, bạn muốn sử dụng URL tương đối dựa trên gốc tài liệu.
Một tài liệu ví dụ:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<link href='//fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700' rel='stylesheet' type='text/css'>
<link href="/style/style.css" rel="stylesheet" type="text/css" media="screen"></style>
</head>
<body>
<img src="/images/some/localimage.png" alt="">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
</body>
</html>
Xem điều này: http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax
foo://username:password@example.com:8042/over/there/index.dtb;type=animal?name=ferret#nose
\ / \________________/\_________/ \__/ \___/ \_/ \_________/ \_________/ \__/
| | | | | | | | |
| userinfo hostname port | | parameter query fragment
| \_______________________________/ \_____________|____|____________/
scheme | | | |
| authority |path|
| | |
| path interpretable as filename
| ___________|____________ |
/ \ / \ |
urn:example:animal:ferret:nose interpretable as extension
Một url tuyệt đối bao gồm các phần trước phần "đường dẫn" - nói cách khác, nó bao gồm lược đồ (phần http
trong http://foo/bar/baz
) và tên máy chủ (phần foo
trong http://foo/bar/baz
) (và tùy chọn cổng, userinfo và cổng).
Các url tương đối bắt đầu với một con đường.
Các url tuyệt đối là, tốt, tuyệt đối: vị trí của tài nguyên có thể được giải quyết chỉ nhìn vào url. Một url tương đối theo nghĩa không đầy đủ: để giải quyết nó, bạn cần lược đồ và tên máy chủ, và chúng thường được lấy từ bối cảnh hiện tại. Ví dụ: trong một trang web tại
http://myhost/mypath/myresource1.html
bạn có thể đặt một liên kết như vậy
<a href="pages/page1">click me</a>
Trong href
thuộc tính của liên kết, một url tương đối được sử dụng và nếu được nhấp, nó phải được giải quyết để theo dõi nó. Trong trường hợp này, bối cảnh hiện tại là
http://myhost/mypath/myresource1.html
do đó, lược đồ, tên máy chủ và đường dẫn hàng đầu của chúng được lấy và chuẩn bị pages/page1
, mang lại
http://myhost/mypath/pages/page1
Nếu liên kết sẽ là:
<a href="/pages/page1">click me</a>
(lưu ý sự /
xuất hiện ở đầu url) sau đó nó sẽ được giải quyết dưới dạng
http://myhost/pages/page1
bởi vì hàng đầu /
chỉ ra gốc của máy chủ.
Trong một ứng dụng web, tôi khuyên bạn nên sử dụng các url tương đối cho tất cả các tài nguyên thuộc về ứng dụng của bạn. Bằng cách đó, nếu bạn thay đổi vị trí của các trang, mọi thứ sẽ tiếp tục hoạt động. Bất kỳ tài nguyên bên ngoài nào (có thể là các trang hoàn toàn bên ngoài ứng dụng của bạn, nhưng cũng là nội dung tĩnh mà bạn phân phối thông qua mạng phân phối nội dung) phải luôn được chỉ định sử dụng các url tuyệt đối: nếu bạn không có cách nào để xác định vị trí của chúng, bởi vì chúng cư trú trên một máy chủ khác
//example.com/…
, ?foobar
Và #foobar
cũng là các URL tương đối và không bắt đầu với đường dẫn URL (cũng ok, cho ?foobar
bạn có thể nói nó không bắt đầu với một trống đường dẫn).
//example.com/…
URL -type được gọi là tương đối? đó là mới đối với tôi.
Giả sử chúng ta đang tạo một trang con có tệp nằm trong thư mục http://site.ru/shop .
Link to home page
href="http://sites.ru/shop/"
Link to the product page
href="http://sites.ru/shop/t-shirts/t-shirt-life-is-good/"
Link from home page to product page
href="t-shirts/t-shirt-life-is-good/"
Link from product page to home page
href="../../"
Mặc dù URL tương đối trông ngắn hơn URL tuyệt đối, nhưng URL tuyệt đối được ưu tiên hơn, vì một liên kết có thể được sử dụng không thay đổi trên bất kỳ trang nào của trang web.
Chúng tôi đã xem xét hai trường hợp cực đoan: URL hoàn toàn "tuyệt đối" và "hoàn toàn". Nhưng mọi thứ đều tương đối trong thế giới này. Điều này cũng áp dụng cho các URL. Mỗi khi bạn nói về URL tuyệt đối, bạn phải luôn chỉ định liên quan đến những gì.
Link to home page
href="//sites.ru/shop/"
Link to product page
href="//sites.ru/shop/t-shirts/t-shirt-life-is-good/"
Google khuyến nghị URL như vậy. Tuy nhiên, hiện nay, người ta thường coi http: // và https: // là các trang web khác nhau.
Tức là liên quan đến thư mục gốc của tên miền.
Link to home page
href="/shop/"
Link to product page
href="/shop/t-shirts/t-shirt-life-is-good/"
Đó là một lựa chọn tốt nếu tất cả các trang nằm trong cùng một tên miền. Khi bạn di chuyển trang web của mình sang một tên miền khác, bạn không phải thực hiện thay thế hàng loạt tên miền trong các URL.
Thẻ <base> chỉ định URL cơ sở, được tự động thêm vào tất cả các liên kết và liên kết tương đối. Thẻ cơ sở không ảnh hưởng đến các liên kết tuyệt đối. Là một URL cơ sở, chúng tôi sẽ chỉ định trang chủ: <base href = "http://sites.ru/shop/">.
Link to home page
href=""
Link to product page
href="t-shirts/t-shirt-life-is-good/"
Bây giờ bạn có thể di chuyển trang web của mình không chỉ sang bất kỳ tên miền nào, mà trong bất kỳ thư mục con nào. Chỉ cần lưu ý rằng, mặc dù các URL trông giống như tương đối, nhưng thực tế chúng là tuyệt đối. Đặc biệt chú ý đến neo. Để điều hướng trong trang hiện tại, chúng ta phải viết href = "áo phông / áo phông-cuộc sống là tốt / # bình luận" not href = "# bình luận". Sau này sẽ ném vào trang chủ.
Đối với các liên kết nội bộ, tôi sử dụng các URL liên quan đến cơ sở (5). Đối với các liên kết và bản tin bên ngoài, tôi sử dụng URL tuyệt đối (1).
Có ba loại thực sự cần được thảo luận một cách rõ ràng. Trong thực tế mặc dù các URL đã được trừu tượng hóa để được xử lý ở mức thấp hơn và tôi sẽ đi xa hơn để nói rằng các nhà phát triển có thể đi qua toàn bộ cuộc sống của họ mà không cần viết một URL bằng tay.
URL tuyệt đối buộc mã của bạn vào giao thức và tên miền. Điều này có thể được khắc phục với các URL động.
<a href=“https://dev.example.com/a.html?q=”>https://dev.example.com/a.html?q=</a>
Ưu điểm tuyệt đối:
Kiểm soát - Tên miền phụ và giao thức có thể được kiểm soát. Những người nhập thông qua một tên miền phụ tối nghĩa sẽ được chuyển sang tên miền phụ phù hợp. Bạn có thể nhảy qua lại giữa an toàn và không an toàn khi thích hợp.
Cấu hình - Nhà phát triển yêu thích mọi thứ là tuyệt đối. Bạn có thể thiết kế các thuật toán gọn gàng khi sử dụng URL tuyệt đối. URL có thể được định cấu hình để URL có thể được cập nhật trên toàn trang web với một thay đổi duy nhất trong một tệp cấu hình.
Clairvoyance - Bạn có thể tìm kiếm những người cạo trang web của bạn hoặc có thể chọn một số liên kết bên ngoài bổ sung.
Các URL tương đối gốc buộc mã của bạn vào url cơ sở. Điều này có thể được khắc phục bằng các URL động và / hoặc thẻ cơ sở .
<a href=“/index.php?q=”>.example.com/index.php?q=</a>
Root Relative Ưu điểm:
URL tương đối buộc mã của bạn vào cấu trúc thư mục. Không có cách nào để vượt qua điều này. Các URL tương đối chỉ hữu ích trong các hệ thống tệp để duyệt qua các thư mục hoặc như một lối tắt cho một nhiệm vụ cấp độ.
<a href=“index.php?q=”>index.php?q=</a>
<link src=“../.././../css/default.css” />
Nhược điểm tương đối:
XÁC NHẬN - Có bao nhiêu chấm? có bao nhiêu thư mục Hồ sơ ở đâu? Tại sao nó không hoạt động?
BẢO DƯ --NG - Nếu một tệp bị vô tình di chuyển tài nguyên thoát khỏi tải, các liên kết sẽ gửi người dùng đến các trang sai, dữ liệu biểu mẫu có thể được gửi đến trang không chính xác. Nếu một tệp CẦN phải được di chuyển, tất cả các tài nguyên sẽ thoát khỏi tải và tất cả các liên kết sẽ không chính xác cần phải được cập nhật.
KHÔNG QUY MÔ - Khi các trang web trở nên phức tạp hơn và các lượt xem bắt đầu được sử dụng lại trên nhiều trang, các liên kết tương đối sẽ liên quan đến tệp mà chúng được đưa vào. Nếu bạn có một đoạn điều hướng HTML sẽ xuất hiện trên mỗi trang thì họ hàng sẽ có liên quan đến rất nhiều địa điểm khác nhau. Điều đầu tiên mọi người nhận ra khi họ bắt đầu tạo một mẫu là họ cần một cách để quản lý các URL.
TÍNH TOÁN - Chúng được trình duyệt của bạn triển khai (hy vọng theo RFC). Xem chương 5 trong RFC3986 .
GIÁO SƯ! - Lỗi hoặc lỗi chính tả có thể dẫn đến bẫy nhện.
Các nhà phát triển đã ngừng viết URL theo nghĩa được thảo luận ở đây. Tất cả các yêu cầu dành cho tệp chỉ mục của trang web và chứa chuỗi truy vấn, còn gọi là tuyến. Tuyến đường có thể được coi là một URL nhỏ cho ứng dụng của bạn biết nội dung sẽ được tạo.
<a href="<?=Route::url('named_url', array('first' => 'my', 'last' => 'whacky'))?>">
http://dev.example.com/index.php/my:whacky:url
</a>
Tuyến đường Ưu điểm:
Hầu hết mọi người sẽ sử dụng cả ba hình thức trong các dự án của họ bằng cách này hay cách khác. Điều quan trọng là phải hiểu chúng và chọn một thứ phù hợp nhất cho nhiệm vụ.
Nếu nó được sử dụng trong trang web của bạn, tốt hơn hết là sử dụng URL tương đối, như thế này nếu bạn cần di chuyển trang web sang một tên miền khác hoặc chỉ gỡ lỗi cục bộ, bạn có thể.
Hãy xem stackoverflow đang làm gì (ctrl + U trong firefox):
<a href="/users/recent/90691"> // Link to an internal element
Trong một số trường hợp, họ sử dụng các url tuyệt đối:
<link rel="stylesheet" href="http://sstatic.net/so/all.css?v=5934">
... nhưng đây chỉ là cách tốt nhất để cải thiện tốc độ. Trong trường hợp của bạn, có vẻ như bạn không làm gì như vậy nên tôi sẽ không lo lắng về điều đó.
Tôi sẽ không đồng ý với đa số ở đây.
Tôi nghĩ rằng lược đồ URL tương đối là "tốt" khi bạn muốn nhanh chóng nhận được một cái gì đó và chạy và không nghĩ ra bên ngoài, đặc biệt nếu dự án của bạn nhỏ với vài nhà phát triển (hoặc chỉ chính bạn).
Tuy nhiên, một khi bạn bắt đầu làm việc trên các hệ thống lớn, béo, nơi bạn chuyển đổi tên miền và giao thức mọi lúc, tôi tin rằng một cách tiếp cận thanh lịch hơn là theo thứ tự.
Khi bạn so sánh các URL tuyệt đối và tương đối về bản chất, Tuyệt đối thắng. Tại sao? Bởi vì nó sẽ không bao giờ phá vỡ. Không bao giờ. Một URL tuyệt đối chính xác như những gì nó nói. Điều hấp dẫn là khi bạn phải MAINTAIN URL tuyệt đối của mình.
Cách tiếp cận yếu đối với liên kết URL tuyệt đối thực sự khó mã hóa toàn bộ URL. Không phải là một ý tưởng tuyệt vời, và có lẽ là thủ phạm tại sao mọi người coi chúng là nguy hiểm / xấu xa / gây phiền nhiễu để duy trì. Cách tiếp cận tốt hơn là viết cho mình một trình tạo URL dễ sử dụng. Đây là những thứ dễ viết và có thể cực kỳ mạnh mẽ - tự động phát hiện giao thức của bạn, dễ cấu hình (nghĩa là đặt url một lần cho toàn bộ ứng dụng), v.v., và nó tự tiêm tên miền của bạn. Điều thú vị về điều đó: Bạn tiếp tục mã hóa bằng các URL tương đối và trong thời gian chạy, ứng dụng sẽ chèn các URL của bạn dưới dạng tuyệt đối hoàn toàn nhanh chóng. Tuyệt vời.
Xem như thực tế tất cả các trang web hiện đại sử dụng một số loại back-end động như thế nào, đó là lợi ích tốt nhất của trang web đã nói để làm theo cách đó. Các URL tuyệt đối không chỉ làm cho bạn chắc chắn về nơi chúng trỏ đến - chúng còn có thể cải thiện hiệu suất SEO.
Tôi có thể thêm rằng lập luận rằng các URL tuyệt đối bằng cách nào đó sẽ thay đổi thời gian tải của trang là một huyền thoại. Nếu tên miền của bạn nặng hơn một vài byte và bạn đang sử dụng modem quay số vào những năm 1980, chắc chắn. Nhưng đó không phải là trường hợp nữa. https://stackoverflow.com/ là 25 byte, trong khi tệp "topbar-sprite.png" mà họ sử dụng cho khu vực điều hướng của trang web có trọng lượng hơn 9 kb. Điều đó có nghĩa là dữ liệu URL bổ sung là .2% dữ liệu được tải so với tệp sprite và tệp đó thậm chí không được coi là một thành tích lớn.
Hình ảnh nền toàn trang lớn, không tối ưu hóa này có nhiều khả năng làm chậm thời gian tải của bạn.
Một bài viết thú vị về lý do tại sao các URL tương đối không nên được sử dụng ở đây: http://yoast.com/relative-urls-issues/
Ví dụ, một vấn đề có thể phát sinh với người thân là đôi khi ánh xạ máy chủ (làm phiền bạn về các dự án lớn, lộn xộn) không xếp hàng với tên tệp và nhà phát triển có thể đưa ra giả định về một URL tương đối mà không phải là URL thật. Tôi chỉ thấy rằng hôm nay trong một dự án mà tôi đang thực hiện và nó đã đưa toàn bộ trang xuống.
Hoặc có lẽ một nhà phát triển đã quên chuyển đổi một con trỏ và tất cả google đột nhiên lập chỉ mục toàn bộ môi trường thử nghiệm của bạn. Rất tiếc - trùng lặp nội dung (có hại cho SEO!).
Tuyệt đối có thể nguy hiểm, nhưng khi được sử dụng đúng cách và theo cách không thể phá vỡ công trình của bạn, chúng được chứng minh là đáng tin cậy hơn. Nhìn vào bài viết trên đây đưa ra một loạt lý do tại sao trình tạo url Wordpress là siêu tuyệt vời.
:)
/
để liên kết đến đường dẫn cơ sở? tức /products/wallets/thing.html
là trái ngược với thing.html
trái ngược vớihttp://www.myshop.com/products/wallets/thing.html
echo Route::url('route_name')
để xây dựng một URL tuyệt đối bằng cách sử dụng URL trang web và thông tin tuyến đường với tùy chọn để vượt qua HTTPS.
Trong hầu hết các trường hợp, URL tương đối là cách để sử dụng, chúng có thể di động theo tự nhiên, điều đó có nghĩa là nếu bạn muốn nâng trang web của mình và đặt nó ở một nơi nào đó, nó sẽ hoạt động ngay lập tức, giảm thời gian gỡ lỗi.
Có một bài viết khá hay về URL tuyệt đối so với URL tương đối , hãy kiểm tra nó.
Một URL bắt đầu với chương trình URL và kế hoạch cụ thể phần ( http://
, https://
, ftp://
, vv) là một URL tuyệt đối.
Bất kỳ URL nào khác là một URL tương đối và cần một URL cơ sở, URL tương đối được giải quyết từ (và do đó phụ thuộc vào) đó là URL của tài nguyên mà tham chiếu được sử dụng nếu không được khai báo theo cách khác.
Hãy xem RFC 2396 - Phụ lục C để biết ví dụ về việc giải quyết các URL tương đối.
Giả sử bạn có một trang web www.yourserver.com. Trong thư mục gốc cho các tài liệu web, bạn có một hình ảnh phụ trực tiếp và trong đó bạn có myimage.jpg.
Một URL tuyệt đối xác định vị trí chính xác của tài liệu, ví dụ:
http://www.yourserver.com/images/myimage.jpg
Một URL tương đối xác định vị trí liên quan đến thư mục hiện tại , ví dụ, nếu bạn đang ở trong thư mục web gốc, hình ảnh của bạn nằm trong:
images/myimage.jpg
(liên quan đến thư mục gốc)
Bạn nên luôn luôn sử dụng URL tương đối nếu có thể. Nếu bạn chuyển trang web sang www.anotherserver.com, bạn sẽ phải cập nhật tất cả các URL tuyệt đối đang trỏ đến www.yourserver.com, những người thân sẽ tiếp tục hoạt động như bình thường.
Đối với mọi hệ thống hỗ trợ độ phân giải URI tương đối, cả URI tương đối và tuyệt đối đều phục vụ cùng một mục tiêu: tham chiếu. Và chúng có thể được sử dụng thay thế cho nhau. Vì vậy, bạn có thể quyết định trong từng trường hợp khác nhau. Về mặt kỹ thuật, họ cung cấp cùng một tham chiếu.
Nói chính xác, với mỗi URI tương đối đã có một URI tuyệt đối. Và đó là URI cơ sở mà URI tương đối được giải quyết. Vì vậy, một URI tương đối thực sự là một tính năng nằm trên các URI tuyệt đối.
Và đó cũng là lý do tại sao với các URI tương đối, bạn có thể làm được nhiều hơn như với một URI tuyệt đối - điều này đặc biệt quan trọng đối với các trang web tĩnh mà nếu không thì có thể linh hoạt để duy trì so với các URI tuyệt đối.
Những hiệu ứng tích cực này của độ phân giải URI tương đối cũng có thể được khai thác để phát triển ứng dụng web động. Các URI tuyệt đối không linh hoạt được giới thiệu cũng dễ dàng hơn để đối phó, trong một môi trường động, vì vậy đối với một số nhà phát triển không chắc chắn về độ phân giải URI và cách triển khai và quản lý đúng cách (không phải lúc nào cũng dễ dàng) thường chọn sử dụng tuyệt đối Các URI trong một phần động của trang web vì chúng có thể giới thiệu các tính năng động khác (ví dụ: biến cấu hình có chứa tiền tố URI) để hoạt động xung quanh tính không linh hoạt.
Vì vậy, lợi ích sau đó khi sử dụng URI tuyệt đối là gì? Về mặt kỹ thuật thì không, nhưng tôi muốn nói: Các URI tương đối phức tạp hơn vì chúng cần được giải quyết theo cái gọi là URI cơ sở tuyệt đối. Ngay cả độ phân giải được xác định nghiêm ngặt kể từ nhiều năm, bạn có thể chạy trên một máy khách có lỗi trong độ phân giải URI. Vì các URI tuyệt đối không cần bất kỳ độ phân giải nào, sử dụng các URI tuyệt đối không có rủi ro để chạy vào hành vi máy khách bị lỗi với độ phân giải URI tương đối. Vì vậy, rủi ro đó thực sự cao đến mức nào? Chà, nó rất hiếm. Tôi chỉ biết về một trình duyệt Internet có vấn đề với độ phân giải URI tương đối. Và đó không phải là nói chung mà chỉ trong một trường hợp rất tối nghĩa.
Bên cạnh máy khách HTTP (trình duyệt) có lẽ phức tạp hơn đối với một tác giả của các tài liệu siêu văn bản hoặc mã. Ở đây, URI tuyệt đối có lợi ích là dễ kiểm tra hơn, vì bạn chỉ cần nhập nó như là vào thanh địa chỉ trình duyệt của bạn. Tuy nhiên, nếu đó không chỉ là công việc một giờ của bạn, thì việc bạn thực sự hiểu xử lý URI tuyệt đối và tương đối sẽ giúp bạn thực sự có thể khai thác lợi ích của liên kết tương đối.