Przeczytałem te strony:
- http://www.w3.org/TR/uri-clarification/
- http://www.damnhandy.com/2007/11/19/uri-vs-url-whats-the-difference/
Znam podstawy URL, URN i URI; ale niewiele na temat różnic . Rzecz, której nie rozumiem, to taka strona: http://www.bernzilla.com/item.php?id=100
która część to URL, URN i URI!
URI jest w całości częścią, ale URL i URN?
Zdjęcie z wikipedii
Edycja:
z w3c.org:
Adres URL jest rodzajem identyfikatora URI, który identyfikuje zasób poprzez przedstawienie jego podstawowego mechanizmu dostępu (np. Jego „lokalizacji” w sieci), a nie za pomocą niektórych innych atrybutów, które może mieć.
Użycie adresu URL przy opisywaniu aplikacji jest teraz uważane za nieprawidłowe.
Teraz jest id
atrybut? Co z częścią aplikacji? Czy PHP jest aplikacją?
Odpowiedzi:
URL - jednolity lokalizator zasobów
Zawiera informacje o tym, jak pobrać zasób z jego lokalizacji. Na przykład:
http://example.com/mypage.html
ftp://example.com/download.zip
mailto:[email protected]
file:///home/user/file.txt
tel:1-888-555-5555
http://example.com/resource?foo=bar#fragment
/other/link.html
(Względny adres URL, przydatny tylko w kontekście innego adresu URL)Adresy URL zawsze zaczynają się od protokołu (
http
) i zwykle zawierają informacje, takie jak nazwa hosta sieciowego (example.com
) i często ścieżka dokumentu (/foo/mypage.html
). Adresy URL mogą mieć parametry zapytania i identyfikatory fragmentów.URN - jednolita nazwa zasobu
Identyfikuje zasób za pomocą unikalnej i trwałej nazwy. Zwykle zaczyna się od przedrostka
urn:
Na przykład:urn:isbn:0451450523
do identyfikacji książki według numeru ISBN.urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
globalnie unikalny identyfikatorurn:publishing:book
- Przestrzeń nazw XML, która identyfikuje dokument jako typ książki.URN mogą identyfikować pomysły i koncepcje. Nie ograniczają się one do identyfikacji dokumentów. Gdy URN reprezentuje dokument, może zostać przetłumaczony na adres URL przez „resolver”. Dokument można następnie pobrać z adresu URL.
URI - jednolity identyfikator zasobu
Identyfikatory URI obejmują adresy URL, URN i inne sposoby identyfikowania zasobu.
Przykładem identyfikatora URI, który nie jest ani adresem URL ani URN, może być identyfikator URI danych, taki jak
data:,Hello%20World
. To nie jest URL ani URN, ponieważ URI zawiera dane. Nie nazywa go ani nie mówi, jak go zlokalizować w sieci.Istnieją również jednolite cytowania zasobów (URC), które wskazują na metadane dotyczące dokumentu, a nie na sam dokument. Przykładem URC byłoby identyfikator do przeglądania kodu źródłowego strony internetowej
view-source:http://example.com/
. URC to inny typ identyfikatora URI, który nie jest ani adresem URL, ani URN.Często Zadawane Pytania
Słyszałem, że nie powinienem już podawać adresu URL, dlaczego?
Specyfikacja W3 dla HTML mówi, że
href
tag zakotwiczenia może zawierać identyfikator URI, a nie tylko adres URL. Powinieneś być w stanie podać URN, taki jak<a href="urn:isbn:0451450523">
. Twoja przeglądarka rozpozna następnie ten URN na adres URL i pobierze książkę dla Ciebie.Czy jakieś przeglądarki rzeczywiście wiedzą, jak pobierać dokumenty przez URN?
Nie wiem, ale nowoczesna przeglądarka internetowa implementuje schemat URI danych.
Czy różnica między URL a URI ma coś wspólnego z tym, czy jest względna czy bezwzględna?
Nie. Zarówno względne, jak i bezwzględne adresy URL to adresy URL (i identyfikatory URI).
Czy różnica między URL a URI ma coś wspólnego z tym, czy ma parametry zapytania?
Nie. Oba adresy URL z parametrami zapytania i bez nich są adresami URL (i identyfikatorami URI).
Czy różnica między URL a URI ma coś wspólnego z tym, czy ma identyfikator fragmentu?
Nie. Oba adresy URL z identyfikatorami fragmentów i bez nich są adresami URL (i identyfikatorami URI).
Ale czy W3C nie mówi teraz, że adresy URL i URI to to samo?
Tak. W3C zdało sobie sprawę, że jest w tym mnóstwo zamieszania. Wydali dokument wyjaśniający URI, który mówi, że teraz można używać zamiennie terminów URL i URI (czyli URI). Nie jest już przydatne ścisłe dzielenie identyfikatorów URI na różne typy, takie jak URL, URN i URC.
Czy identyfikator URI może być zarówno adresem URL, jak i URN?
Definicja URN jest teraz luźniejsza niż to, co powiedziałem powyżej. Najnowszy RFC URI mówi, że każdy URI może teraz być URN (niezależnie od tego, czy rozpoczyna się
urn:
) tak długo, jak to ma „właściwości nazwy.” To znaczy: Jest globalnie wyjątkowy i trwały, nawet gdy zasób przestaje istnieć lub staje się niedostępny. Przykład: identyfikatory URI używane w typach dokumentów HTML, takich jakhttp://www.w3.org/TR/html4/strict.dtd
. Ten identyfikator URI nadal będzie nazywać przejściowy typ HTML4, nawet jeśli strona w witrynie w3.org zostanie usunięta.źródło
Myślę, że te artykuły wyjaśniają całkiem dobrze. Aby odpowiedzieć na twoje pytanie - wszystko to jest adres URL:
Każda jego część -
http:
www.bernzilla.com
i tak dalej, ma swoją własną nazwę:Widzę, biorąc pod uwagę ten schemat z wikipedii, dlaczego jednak pytasz. Ten diagram mówi, że istnieją dwa typy identyfikatorów URI - adresy URL i URN, a rozmyty bit w środku oznacza, że coś może być jednocześnie.
źródło
id=100
to nie lokalizacja , to wskaźnik.Nie jest tak, że wspomniany adres URL składa się zarówno z adresu URL, jak i części URN.
http://www.bernzilla.com/item.php?id=100
jest zarówno adresem URL, jak i identyfikatorem URI.Zasadniczo identyfikatory URI są nadzbiorem adresów URL i URN. Adresy URL i URN również częściowo się pokrywają.
Tak więc każdy adres URL jest identyfikatorem URI, każdy identyfikator URN jest identyfikatorem URI, ale nie każdy identyfikator URI jest adresem URL.
źródło