Uniform Resource Identifier
Z Wikipedii
URI (ang. Uniform Resource Identifier) jest standardem internetowym umożliwiającym łatwą identyfikację zasobów w sieci. Zdefiniowany jest w dokumencie RFC 2396.
URI jest, zazwyczaj krótkim, łańcuchem znaków, zapisanym zgodnie ze składnią określoną w standardzie. Łańcuch ten określa nazwę lub adres zasobu, który dany URI identyfikuje.
URI składa się z URL (ang. Uniform Resource Locator) i URN (ang. Uniform Resource Name).
Szczególnym przypadkiem URI jest URL, który oprócz identyfikacji zasobu wskazuje również sposób dostępu do niego.
Spis treści |
[edytuj] Składnia URI
[edytuj] Wzór skrócony
<schemat> : <specyficzna dla schematu część hierarchiczna>
Przykłady:
http://www.wikipedia.org http://www.wikipedia.org:8080 ftp://ftp.wikipedia.org
[edytuj] Pełny wzór URI
<schemat> : <autoryzacja> : <port> / <ścieżka> ? <zapytanie> # <fragment>
lub z użytkownikiem i hasłem:
<schemat> : // użytkownik:hasło @ <autoryzacja> : <port> / <ścieżka> ? <zapytanie> # <fragment>
Przy czym "autoryzacja" to nazwa hosta, czyli nazwa komputera w sieci (nazwa domenowa lub adres IP). Używanie nazwy użytkownika z hasłem w URI najczęściej stanowi poważną lukę w bezpieczeństwie i z tego powodu nie jest zalecane. Zapytanie zawiera dodatkowe parametry dla serwera, wpływające na zawartość odpowiedzi. Typowym zastosowaniem zapytań są strony WWW generowane dynamicznie na serwerach WWW korzystających z technologii CGI, np. strony PHP. Zapytanie ma postać parametrów z wartościami przypisanymi po znaku równości, przy czym kolejne parametry oddzielone są od siebie znakiem ampersanda (&).
[edytuj] Przykład URI
http://www.jakis-serwer.pl:8080/katalog1/katalog2/plik?parametr1=wartosc1¶metr2=wartosc2#fragment_dokumentu \__/ \_________________/\___/\_____________________/ \___________________________________/ \________________/ | | | | | | schemat autoryzacja port ścieżka do pliku zapytanie fragment (protokół) (nazwa serwera)
Inne przykłady:
http://pl.wikipedia.org/wiki/URI http://www.google.com/search?hl=pl&q=uri
[edytuj] URI a URL
Właściwie URI jest pojęciem nadrzędnym i obejmuje URL i URN jako dwa różne sposoby reprezentacji tego samego adresu. Podstawową różnicą między nimi jest fakt, że URL z definicji wskazuje lokalizację, tj. miejsce, z którego dany zasób można ściągnąć (adres) i sposób, w jaki można to zrobić (protokół, np. http, ftp, ...). URI służy do tylko do identyfikacji i niekoniecznie musi wskazywać miejsce skąd coś można ściągnąć. Standardowo URI strony www (np. http://www.wikipedia.org) jest utożsamiany z jej URL. Stąd wynika fakt, że te dwa terminy są często używane zamiennie.
Rozróżnienie na URL i URI odgrywa jednak kluczową rolę w technologii RDF stanowiącej sieci trzeciej generacji Semantic Web. Wizja nakreślona przez twórcę Semantic Web Tima Berners-Lee mówi o zapisywaniu ludzkiej wiedzy w postaci zrozumiałej dla maszyn. W tej postaci wszystko ma swój własny unikalny identyfikator, przez wszystkich jednakowo interpretowany - URI. Identyfikatory odnoszą się zarówno do abstracyjnych pojęć, jak i do konkretnych bytów - ludzi, zdarzeń, etc. Powstaje potrzeba rozróżnienia. URI strony domowej, to nie to samo co URI jej właściciela - człowieka. URI Wikipedii to nie to samo co URI Wikimedia Foundation - organizacji która nią zarządza rozumianej jako, osoba prawna. Tworzy się słowniki pojęć -, które nadają identyfikatory URI pojęciom nawet tak abstrakcyjnym jak 'byt fizyczny' czy 'byt abstrakcyjny'. [1]. Badania w tym kierunku są bardzo głęboko osadzone w filozofii.
URI może też służyć do identyfikacji zasobów na dysku komputera, plików, wpisów w kalendarzu, kontaktów w książce adresowej, maili w skrzynce pocztowej etc. Istnieje cała gama projektów badawczych, które idą w tym kierunku Haystack, Gnowsis, Nepomuk
W swej istocie URI jest ogólnym narzędziem do identyfikacji wszystkiego. Utożsamianie go z URL - adresem pod którym coś można ściągnąć z internetu jest sporym uproszczeniem.
Ciekawy artykuł na temat roli URI w Semantic Web i rozróżnienia kiedy URI wskazuje na zasób, który można ściągnąć, kiedy URI jest URL, a kiedy nie można przeczytać (niestety tylko po angielsku) pod adresem:
http://www.dfki.uni-kl.de/~sauermann/2006/11/cooluris/