URL

(Preusmjereno sa stranice Uniform resource locator)
Ne treba izjednačavati sa Web-stranica.

Web-adresa (engl. web address; skraćeno URL, od uniformni resursni lokator, engl. uniform resource locator) je specijalni niz znakova koji se sastoji od izvora prema resursu. Većina internetskih preglednika prikazuje web-adresu web-stranice iznad stranice u adresnoj traci. Tipični URL može ovako izgledati:

Ovaj Eulerov dijagram pokazuje da je uniformni resursni identifikator (URI) zapravo uniformni resursni lokator (URL), ili uniformno resursno ime (URN), ili pak oboje.
https://sh.wikipedia.org/wiki/Glavna_stranica

RFC 3986 (2005) klasificira URL-ove kao specijalni tip uniformnog resursnog identifikatora (URI),[1] iako većina ljudi koristi oba termina naizmjenično.[2] URL implicira načine pristupa traženom resursu, koji nije istinit za svaki URI.[2][3] URL-ovise pojavljuju veoma često da opišu web stranice (http), ali imaju također ulogu u transferu datoteka (ftp), slanju emailova (mailto), pristup bazama podataka (JDBC), i mnoge druge aplikacije.

URL-ovi su specificirani u 3986 (2005), te u WHATWG URL Living Standardu.[4]

Historija

uredi

Uniformni resursni lokator je standardiziran 1994. godine[5] od strane Tim Berners-Lee-ja i URI radne grupe na IETF-u kao rezultat kolaboracije počete na IETF Living Documents "Birds of a Feather" sesiji 1992. godine.[6][7] Format kombinira predpostojeći sistem naziva domena (kreiran 1985.) sa sintaksom puta datoteke, gdje su kose linije korištene da odvoje direktorije od imena datoteka. Dogovori su svakako postojali gdje se ispred imena servera mogao dodati neki znak da dopuni lokaciju resursa, obično dvije kose crte (//).[8]

Berners-Lee je kasnije zažalio zbog korištenja tačaka da odvoji dijelove imena domene unutar URI-ja, želeći ipak koristiti kose linije.[8] Naprimjer, http://www.example.com/path/to/name bi bio napisan kao http:com/example/www/path/to/name. Berners-Lee je također rekao, prateći šemu URI-ja, dvije kose crte prije imena domene su također bespotrebne.[9]

Sintaksa

uredi

Svaka HTTP web-adresa sastoji se iz sljedećeg, u datom redoslijedu. Neke šeme za razliku od HTTP također dijele ovaj generalni format, sa nekim varijacijama.

  • ime šeme (stručni naziv: protokol)
  • colon, dvije kose crte,
  • host, normalno dato kao ime domene, ali ponekad kao IP adresa
  • broj port nakon colona
  • potpuna lokacija resursa

Šema govori kako se spojiti, host govori gdje se spojiti, a ostatak govori šta da se traži.

Za programe kao što su Common Gateway Interface (CGI) skripte, ovo je praćeno od upita niza,[10][11] i identifikator opcionalnog fragmenta.[12]

Sintaksa je:
scheme://domain:port/path?query_string#fragment_id

Detalji komponente:

  • Šema, često označavana kao protokol, definira kako će resurs biti dobavljen. Primjeri uključuju http, https, ftp, file i mnoge druge. Iako su šeme neosjetljive na velika/mala slova, kanonična forma se piše malim slovima.
  • Ime domene ili doslovno numerička IP adresa daju lokaciju destinacije za URL. Bukvalna numerička IPv6 adresa može biti data, ali mora biti ograničena sa [ ]; npr. [db8:0cec::99:123a].
    Domena google.com, ili njegova brojna IP adresa 173.194.34.5, je adresa web-sajta Google.
  • Dio naziva domene URL-a ne zavisi od malih/velikih slova pošto DNS ignorira veličinu:
    http://en.example.org/ i HTTP://EN.EXAMPLE.ORG/ otvaraju istu stranicu.
  • Broj porta, dat u decimalnom brojnom sistemu, je opcionalan; ako je izostavljen, podrazumjevani za shemu se koristi.
    Naprimjer, http://vnc.example.com:5800 se spaja na port 5800 od vnc.example.com, koji može biti odgovarajući za VNC daljinsku kontrolnu sesiju. Ako je broj porta izostavljen za http: URL, preglednik će se spojiti na port 80, podrazumijevani HTTP port. Podrazumijevani port za https: zahtjev je 443.
  • Path se koristi za specificiranje i možda pronalazak traženog resursa. Zavisi od veličine slova,[13] iako može biti tretiran kao neosjetljiv na veličinu slova na nekim serverima, posebno onim baziranim na operativnom sistemu Microsoft Windows.
    Ako server ovisi o veličini slova i http://en.example.org/wiki/URL je tačan, onda http://en.example.org/WIKI/URL ili http://en.example.org/wiki/url će prikazati HTTP 404 stranicu za grešku, dok ovi URL-ovi nisu upereni u validne resurse samostalno.
  • Niz upita sadrži podatke koji treba da budu usvojeni za softver koji se koristi za pokretanje servera. Može sadržavati ime/vrijednost parove odvojene ampersandom, naprimjer:
    ?first_name=John&last_name=Doe.
  • Identifikator djelića, ako postoji, specificira dio ili poziciju unutar cjelokupnog resursa ili dokumenta.
    Kada se koristi s HTML-om, često specificira dio ili lokaciju unutar stranice, i korišten u kombinaciji sa Anchor Tags preglednik je pomaknut da prikaže taj dio stranice.

Ime šeme definira prostor za ime, svrhu i sintaksu ostatka dijela URL-a. Softver će pokušati procesirati URL prema njegovoj šemi i konstekstu. Naprimjer, internetski preglednik će često dereferencirati URL http://example.org:80 obavljanjem HTTP zahtjeva prema hostu na example.org, koristeći broj porta 80.

Ostali primjeri imena šema uključuju https, gopher, wais, ftp. URL-ovi sa https kao šemom (kao https://example.com/) zahtjevaju da zahtjevi i odgovori budu napravljeni preko sigurne konekcije sa web-sajtom. Neke šeme koje zahtjevaju ovjeru dopuštaju korisničko ime (username), i možda šifru također, da budu ugrađeni u URL, naprimjer ftp://asmith@ftp.example.org. Šifre ugrađene ovim načinom nisu pogodne za sigurnost, ali potpuna moguća sintaksa je:
scheme://username:password@domain:port/path?query_string#fragment_id

Ostale šeme ne prate HTTP uzorak. Naprimjer, mailto šema samo koristi validne email adrese. Kada je kliknuta unutar aplikacije, URL mailto:bob@example.com može startati e-mail program sa adresom bob@example.com u 'Prema' polju. Šema tel je čak više različita; koristi javne telefonske mreže za adresiranje, umjesto imena domena koje reprezentiraju Internet hostove.

Lista dopuštenih URL znakova

uredi

Nerezervirani

uredi

Mogu biti kodirani, ali to nije potrebno:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

Rezervirani

uredi

Moraju ponekad biti kodirani:

! * ' ( ) ; : @ & = + $ , / ? % # [ ]

Dalji detalji mogu biti npr. nađeni u RFC 3986 and http://www.w3.org/Addressing/URL/uri-spec.html.

Veza sa URI

uredi

URL je URI koji, u dodatku sa identificiranjem web-resursa, omogućava načine lociranja resursa opisivanjem svog primarnog pristupnog mehanizma (npr. svoje mrežne lokacije).[14]

Internet host imena

uredi

Na Internetu, ime hosta je ime domene povezan sa host računarom. Ovo je često kombinacija host lokalnog imena sa svojim parent imenom domene. Naprimjer, en.example.org se sastoji od lokalnog imena hosta (en) i imena domene example.org. Ime hosta je prevedeno u IP adresu preko datoteke lokalnog hosta ili domain name system (DNS) rezolvera. Moguće je za jedan host računar da ima više imena hosta; ali generalno operativni sistem hosta preferira imati jedno ime koje host koristi za sebe.

Svako ime domene može također biti ime hosta, dok su god ograničenja spomenuta ispod ispoštovana. Naprimjer, i "en.example.org" i "example.org" mogu biti imena hosta ako oba imaju IP adrese povezane sa njima. Ime domene "xyz.example.org" može i da nema ime hosta ako nema IP adresu, ali "aa.xyz.example.org" može i dalje biti ime hosta. Sva imena hosta su imena domene, ali sva imena domene nisu imena hosta.

Protokolno-relativne URL adrese

uredi

Protokol, ili šema, URL-a definira kako će resurs biti dobavljen. Najčešći protokoli na webu su HTTP i HTTPS. Zbog različitih razloga, većina sajtova se prebacuje dozvoljavanjem pristupa preko HTTP i HTTPS protokola.[15][16] Svaki protokol ima prednosti i mahane, uključujući da za neke korisnike jedan ili drugi protokol bilo ne radi, ili nije baš poželjan. Kada link sadrži specifikator protokola to rezultira u pregledniku praćenje linka koristeći specifični protokol nezavisno od potencijalnih želja korisnika. Moguće je konstruirati validne URL-ove bez specificiranja protokola koji se nazivaju protokolno-relativni linkovi (PRL) ili protokolno-relativne URL adrese. Korištenjem PRL-ova na stranici dozvoljava prikazivaču stranice da posjećuje nove stranice koristeći bilo koji protokol koji je korišten za dobavljanje koja sadrži link. Ovo podržava nastavak korištenja bilo kojeg protokola koji je prikazivač izabrao da koristi za dobavljanje trenutne strance kada pristupa novim stranicama.[17]

Primjer PRL-a je //en.wikipedia.org/wiki/Main_Page koji je kreiran uklanjanjem prefiksa protokola.

Moderna upotreba

uredi

Veliki kompjuterski proizvođači kao Apple su počeli osuđivati API-je koji uzimaju lokalne pathove kao parametre, umjesto korištenja web-adresa.[18] Ovo je zbog toga što udaljeni i lokalni resursi (preko datotečne šeme) mogu oboje biti reprezentirani korištenjem URL-a, ali mogu dodatno omogućiti protokol (djelomično koristan za udaljene predmete) i svjedodžbe.

Reference

uredi

Vanjske veze

uredi
  1. Berners-Lee, T.; Fielding, R. (January 2005). „Uniform Resource Identifier (URI): Generic Syntax”. Network Working Group. Pristupljeno 2014-09-05. »The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location").« 
  2. 2,0 2,1 RFC 3305
  3. Skeet, Jon (6 Oct 2008). „What's the difference between a URI and a URL?”. StackOverflow. Pristupljeno 4 September 2014. 
  4. „URL Living Standard”. 2014-04-11. Pristupljeno 2014-04-13. 
  5. RFC 1738 Uniform Resource Locators (URL). This RFC is now obsolete. It has been superseded by a newer RFC (see the RFC Index)
  6. „Living Documents BoF Minutes”. W3.org. Pristupljeno 2011-12-26. 
  7. „URL Specification”. Pristupljeno 2011-12-26. 
  8. 8,0 8,1 Berners-Lee, Tim. „Frequently asked questions by the press”. Pristupljeno 2010-02-03. 
  9. „Technology | Berners-Lee 'sorry' for slashes”. BBC News. 2009-10-14. Pristupljeno 2010-02-14. 
  10. RFC 1738
  11. „PHP parse_url() Function”. Pristupljeno 2009-03-12. 
  12. „URL Syntax”. Pangea.stanford.edu. 2004-07-20. Arhivirano iz originala na datum 2010-08-17. Pristupljeno 2011-12-26. 
  13. „RFC 3986: Uniform Resource Identifier (URI): Generic Syntax”. Network Working group of the IETF. January 2005. str. 40. Pristupljeno 2013-04-24. »[...] the scheme and host are case-insensitive [...] The other generic syntax components are assumed to be case-sensitive unless specifically defined otherwise by the scheme [...]« 
  14. Tim Berners-Lee, Roy T. Fielding, Larry Masinter. (January 2005). "Uniform Resource Identifier (URI): Generic Syntax". Internet Society. RFC 3986; STD 66.
  15. Lane, Ryan (July 19, 2011). „Protocol relative URLs enabled on test.wikipedia.org”. blog.wikimedia.org. Arhivirano iz originala na datum 2014-02-16. Pristupljeno February 16, 2014. 
  16. Brewster (October 25, 2013). „Reader Privacy at the Internet Archive”. blog.archive.org. Arhivirano iz originala na datum 2014-02-16. Pristupljeno February 16, 2014. 
  17. Eric Lawrence (June 24, 2011). „Internet Explorer 9 Security Part 4: Protecting Consumers from Malicious Mixed Content”. Pristupljeno 2014-06-25.  (section "Troubleshooting Mixed Content with the F12 Developer Console")
  18. „Deprecated NSOPenPanel Methods”. Apple Inc.. Pristupljeno 7 October 2012.