Uniform Resource Identifier
Uniform Resource Identifier (URI, ang. Uniform Resource Identifier, tłum. Ujednolicony Identyfikator Zasobów) jest standardem internetowym umożliwiającym łatwą identyfikację zasobów w sieci. Zdefiniowany jest w dokumencie RFC 2396 ↓.
URI jest zazwyczaj łańcuchem znaków, zapisanym zgodnie ze składnią określoną w standardzie. Łańcuch ten określa nazwę (URN) lub adres (URL) zasobu, identyfikowanego przez dany URI.
URI może zostać sklasyfikowane jako URL (ang. Uniform Resource Locator) lub 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.
Składnia URI
[edytuj | edytuj kod]Wzór skrócony
[edytuj | edytuj kod]<schemat> : <specyficzna dla schematu część hierarchiczna>
lub
<schemat> : <specyficzna dla schematu część niehierarchiczna>
Część hierarchiczna zawsze zaczyna się od ukośnika / (np. z ://) podczas gdy niehierarchiczne URI mają tylko dwukropek : i dalsza ich część jest brana jako jedna całość i nie podlega analizowaniu.
Przykłady:
http://www.wikipedia.org http://www.wikipedia.org:8080 ftp://ftp.wikipedia.org mailto:jakas-osoba@wikipedia.org
Trzy pierwsze przykłady to hierarchiczne URI a ostatni to niehierarchiczny.
Pełny wzór URI hierarchicznych
[edytuj | edytuj kod]Źródło: RFC 3986 ↓
<schemat> : <część hierarchiczna> [ ? <zapytanie> ] [ # <fragment> ]
Części w nawiasach kwadratowych są nieobowiązkowe. Część hierarchiczna może posiadać następującą budowę:
// podmiot [ / ścieżka ]
/ ścieżka
Podmiot zawierać musi nazwę hosta poprzedzoną ewentualnie przez nazwę użytkownika i hasło: użytkownik:hasło@host
, użytkownik@host
, po której może wystąpić numer portu oddzielony dwukropkiem. Host jest dowolną poprawną nazwą domenową lub adresem 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 (&).
Przykład URI
[edytuj | edytuj kod]http://www.jakis-serwer.pl:8080/katalog1/katalog2/plik?parametr1=wartosc1¶metr2=wartosc2#fragment_dokumentu \__/ \_________________/\___/\_____________________/ \___________________________________/ \________________/ | | | | | | schemat host 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
URI a URL
[edytuj | edytuj kod]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 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 unikatowy identyfikator, przez wszystkich jednakowo interpretowany – URI. Identyfikatory odnoszą się zarówno do abstrakcyjnych pojęć, jak i do konkretnych bytów – ludzi, zdarzeń itd. 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, np. Haystack[2], Gnowsis[3], Nepomuk[4].
W swej istocie URI jest ogólnym narzędziem do identyfikacji wszystkiego. Utożsamianie go z URL – adresem spod którego coś można ściągnąć z internetu – jest sporym uproszczeniem.
Przypisy
[edytuj | edytuj kod]- ↑ WonderWeb Deliverable D18. [zarchiwizowane z tego adresu].
- ↑ Haystack Group [online], haystack.csail.mit.edu [dostęp 2016-10-16] .
- ↑ gnowsis [online], gnowsis.opendfki.de [dostęp 2016-10-16] .
- ↑ NEPOMUK - The Social Semantic Desktop - FP6-027705 [online], nepomuk.semanticdesktop.org [dostęp 2016-10-16] [zarchiwizowane z adresu 2013-01-29] .
Zobacz też
[edytuj | edytuj kod]Linki zewnętrzne
[edytuj | edytuj kod]- T. Berners-Lee , R. Fielding , L. Masinter , Uniform Resource Identifiers (URI): Generic Syntax, RFC 2396, IETF, sierpień 1998, DOI: 10.17487/RFC2396, ISSN 2070-1721, OCLC 943595667 (ang.).
- T. Berners-Lee , R. Fielding , L. Masinter , Uniform Resource Identifier (URI): Generic Syntax, STD 66, RFC 3986, IETF, styczeń 2005, DOI: 10.17487/RFC3986, ISSN 2070-1721, OCLC 943595667 (ang.).