Uniform Resource Identifier

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Relacje między URI, a URL i URN

Uniform Resource Identifier (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 ł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[1][edytuj | edytuj kod]

<schemat> : <część hierarchiczna> [ ? <zapytanie> ] [ # <fragment> ]

Części w nawiasach kwadratowych są nieobowiązkowe. Część hierarchiczna może posiadać następującą budowę:

  • // autoryzacja [ / ścieżka ]
  • / ścieżka

Autoryzacja 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&parametr2=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ń 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'[2]. 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, Gnowsis, Nepomuk.

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

Zobacz też[edytuj | edytuj kod]