URI

merkkijono, joka osoittaa WWW-sivun sijainnin

URI (Uniform Resource Identifier) on merkkijono, jolla kerrotaan tietyn tiedon paikka (URL) tai yksikäsitteinen nimi (URN). Erityisesti URIn erikoistapausta URL:ää (Uniform Resource Locator) käytetään osoittamaan WWW-sivuja.[1]

URI, URL ja URN

muokkaa

URI sisältää tietoverkossa sijaitsevan tiedon tunnisteen: se voi sisältää sijainnin, nimen tai molemmat.[2] URL sisältää tiedon, jolla tieto voidaan hakea (tiedon sijainti).[2]

Kaikki URL-tiedot ovat URI-tietoja, mutta kaikki URI-tiedot eivät ole URL-tietoja.[2] URI voi sisältää myös skeemoja, joiden avulla voidaan vain yksikäsitteisesti nimetä tieto: URN ei sisällä tiedon sijaintia.[2]

Yleinen URIn rakenne on RFC 3986:n mukaan seuraava:

URI = scheme:[//authority]path[?query][#fragment]

Vähintään skeema (scheme) ja polku (path) ovat sen pakolliset osat (URN).

 
Yleinen URIn rakennekaavio.

URL (Uniform Resource Locator) sisältää tiedon hakemiseen tarvittavan tiedon kuten protokollan ja palvelimen:

https://fi.wikipedia.org/w/wiki.phtml?title=URI#URI_ja_URL

URN (Uniform Resource Name) on URI-skeema, jonka avulla ei voi löytää tietoa, vaan se yksikäsitteisesti nimeää jonkin tiedon (ei sisällä protokollaa tai palvelintietoa).

Esimerkiksi seuraava URN-skeema nimeää kirjan ISBN-numeron avulla:

urn:ISBN:952-9842-34-1

URL-skeemoja

muokkaa
  • http – HTTP-protokolla
  • https – HTTP-protokolla, joka on suojattu TLS-protokollalla
  • ftp – tiedostonsiirto FTP-protokollalla
  • mailto – sähköpostiosoite
  • ldap – tiedon haku LDAP-hakemistosta
  • file – tiedostot, jotka näkyvät paikallisen tietokoneen tiedostoavaruudessa
  • news – Usenet-uutisryhmät
  • gopher – gopher-palvelimessa olevat tiedot (melkein kadonneet)
  • telnet – telnet-pääteyhteys
  • ssh – SSH-yhteys
  • git – Git-yhteys
  • irc – IRC-yhteys

HTTP-skeema

muokkaa

Tavallisin URI-skeema on http. Sen tarkempi rakenne on seuraavanlainen:

http://omistaja/polku?toiminto

Omistaja on tavallisesti DNS-nimi, mutta se voi olla myös IP-osoite. Polku on vinoviivoilla (/) tarkennettu tiedon sijaintipaikka omistajan sisällä. Useimmiten se kuvaa hakemistorakennetta, ja toiminto voi olla esimerkiksi lisätieto halusta muuttaa tietoa. Toiminto koostuu usein et-merkein (&) erotelluista muuttuja-arvopareista, joiden osat on eroteltu yhtäläisyysmerkillä (=).

http://www.example.com/tiedot.php?nimi=Matti+Meikalainen&osoite=Aleksanterinkatu+50A

Lopussa voi olla vielä ristikkomerkillä (#) erotettuna tiedon osan kuvaava tunniste. Tätä tietoa ei kuitenkaan lähetetä verkon ylitse, vaan käyttäjälle etsitään tiedosta kyseinen kohta paikallisesti.

Osana omistajaa voidaan myös kertoa HTTP-palvelimen käyttämän TCP-portin numero kaksoispisteen (:) jälkeen. Oletuksena porttinumero on 80, mutta se voi olla esimerkiksi 8080, jos samassa tietokoneessa halutaan käyttää useita palvelimia yhtä aikaa.

http://www.example.com:8080/

Tämä saattaa kuitenkin olla mahdotonta käytettäessä IPv6-osoitteita, jotka on jaettu kaksoispisteillä. Tällöin IP on ympäröitävä hakasulkein.

http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7334]:8080/

XML-nimiavaruudet

muokkaa

XML-nimiavaruudet kuvataan URI-tyyppisesti merkkijonolla, joka yksikäsitteisesti määrittelee käytettävän nimiavaruuden. Se on tyypiltään kuten URL:

http://omistaja/tunnus

Se ei kuitenkaan välttämättä ole käyttökelpoinen WWW-sivuna. (On toki suositeltavaa, että URL:n takaa löytyy jonkinlainen kuvaus käytetystä nimiavaruudesta.) Koska tämä tunnus muistuttaa HTTP-skeeman mukaista URL:ää, mutta ei ole käytettävissä WWW-sivuna, se ei itse asiassa ole määritelmän mukainen URI.

Standardointi

muokkaa

URI määritellään seuraavissa RFC-dokumenteissa:

  • RFC 2396 – URI; alkuperäinen, vanhentunut määrittely
  • RFC 3986 – URI; uusin, voimassa oleva määrittely
  • RFC 7595 – menettely uuden URI-skeeman rekisteröimiseksi

Katso myös

muokkaa

Lähteet

muokkaa
  1. URI (Uniform Resource Identifier) WhatIs.com. Viitattu 19.7.2019. (englanniksi)
  2. a b c d Comparing URI vs URL keycdn.com. Viitattu 19.7.2019. (englanniksi)

Aiheesta muualla

muokkaa