URI vs URL: Perbedaan, Penggunaan, dan Contohnya

URI (Uniform Resource Identifier) dan URL (Uniform Resource Locator) terkadang memang bisa digunakan bergantian, tapi keduanya tidaklah sama. Ada beberapa perbedaan antara URI vs URL yang sebenarnya cukup signifikan.

Dengan mengetahui perbedaan URL dan URI, developer bisa merencanakan proses pengembangan websitenya secara lebih efektif. Misalnya, proses desain REST API jadi lebih mudah karena URL atau URI sama-sama berfungsi untuk mengidentifikasi setiap resource di web, meskipun strukturnya berbeda.

Singkatnya, perbedaan utama URI dan URL yaitu, URI bisa berupa nama, lokasi, atau nama dan lokasi, sedangkan URL hanya menyediakan lokasi resource.

Di artikel ini, kami akan membahas lebih lanjut perbedaan URI vs URL serta strukturnya dalam penjelasan yang mudah dipahami. Kami juga akan membahas kasus penggunaan URI dan URL, serta kelebihan dan kekurangannya. Yuk, baca sampai selesai!

Uniform Resource Identifier atau URI adalah string karakter yang secara umum mengidentifikasi berbagai resource web menggunakan nama, lokasi, atau nama dan lokasi resource tersebut. Uniform Resource Locator (URL) dan Uniform Resource Name (URN) termasuk dalam jenis URI.

Perbedaan URI dan URL

Mari lihat tabel perbandingan di bawah ini untuk lebih memahami perbedaan URI vs URL lebih lanjut.

URIURL
URI adalah singkatan dari Uniform Resource Identifier.URL merupakan singkatan dari Uniform Resource Locator.
URI adalah superset dari URN dan URL.URL merupakan subset dari URI.
URI mengidentifikasi resource dan membedakan setiap resource berdasarkan nama, lokasi, atau keduanya.URL mengidentifikasi alamat web atau lokasi resource tertentu.
URI berisi komponen seperti skema, authority, path (jalur), dan query.URL memiliki komponen yang mirip dengan URI, tapi authority URL terdiri dari nama domain dan port.
Contoh URI adalah ISBN 0-476-35557-4.Contoh URL yaitu https://hostinger.com.
URI biasanya digunakan dalam XML, file library tag, dan file lainnya, seperti JSTL dan XSTL.URL utamanya berfungsi untuk mencari halaman web di internet.
Skema URI bisa berupa protokol, spesifikasi, atau penunjukan seperti HTTP, file, atau data.Skema URL merupakan protokol, seperti HTTP dan HTTPS.

Jenis URI

Setelah membahas perbedaan URI vs URL, kami akan menjelaskan 2 jenis URI secara mendetail, yaitu URN dan URL.

Uniform Resource Names (URN)

URN adalah pengidentifikasi (identifier) tetap dan tidak terkait lokasi, yang berfungsi untuk mengidentifikasi resource secara permanen. Artinya, resource tetap valid meskipun datanya dipindahkan ke lokasi lain.

Nah, dalam hal ini, URN menggunakan skemanya untuk membedakan setiap resource. Contohnya, urn:isbn:0405999832 akan mengidentifikasi buku berdasarkan nomor ISBN-nya.

Setiap URN setidaknya terdiri dari 3 komponen:

  • URN – setiap URN menggunakan awalan urn: sebagai spesifikasi skemanya.
  • NID – merupakan pengidentifikasi namespace yang harus terdaftar di Internet Assigned Numbers Authority (IANA). NID bisa berisi huruf, angka, atau tanda hubung yang diikuti oleh titik dua.
  • NSS – ini adalah string khusus namespace yang mengidentifikasi resource internet. NSS bisa berisi kode ASCII, angka, tanda baca, dan karakter khusus.

Uniform Resource Locator (URL)

URL memberikan metode untuk menunjukkan lokasi fisik suatu resource, dengan penjelasan mengenai mekanisme akses utama atau lokasi resource tersebut di jaringan. URL bisa menunjukkan lokasi halaman web, video, gambar, atau dokumen apa pun yang dipublikasikan secara online.

Tidak seperti URN, pengidentifikasi resource internet ini tidak selalu sama atau terkait dengan lokasi tertentu. Sebab, URL menentukan path ke lokasi resource, yang bisa berubah seiring waktu. Selain itu, URL tidak mengikuti skema URN.

Perbedaan antara URN dan URL yaitu, URN hanya menentukan nama resource, sedangkan URL memerlukan teknik atau protokol akses untuk mendapatkan lokasi resource.

Singkatnya, semua URL merupakan URI, tapi tidak semua URI adalah URL.

Syntax URI

Syntax atau sintaksis URI menjelaskan strukturnya agar program bisa memahaminya. Berikut syntax umum URI:

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

Nah, berikut penjelasan elemen sintaksis URI di atas:

Scheme (Skema)

Skema atau scheme URI adalah komponen pertama URI yang menjelaskan sistem penanganannya. Terkadang, scheme URI merupakan protokol yang digunakan untuk mengakses resource. Sementara itu, teknik lain mungkin tidak menetapkan protokol apa pun.

Misalnya, skema about: digunakan di web browser, di mana resource dibuat di klien dan tidak terkait dengan protokol tertentu.

Skema bisa berisi kombinasi huruf, angka, tanda tambah, titik, atau tanda hubung apa pun yang diikuti oleh titik dua. Skema URI yang paling umum di antaranya adalah HTTP, HTTPS, FTP, mailto, dan file.

Misalnya, kalau contoh URI adalah file:website.com/pathtofile/intro.pdf, berarti nama skemanya adalah file.

Authority Component (Komponen Otoritas)

Komponen ini bersifat opsional, diawali dengan dua garis miring dan diakhiri dengan satu garis miring, tanda tanya, atau tanda pagar. Ada 3 sub-komponen yang membentuknya:

  • Userinfo – berisi username dan password yang dipisahkan oleh titik dua.
  • Host – terdiri dari alamat IP atau nama yang terdaftar. Alamat IP harus dimasukkan ke dalam tanda kurung.
  • Port – protokol yang digunakan untuk menghubungkan server. Ini adalah sub-komponen opsional yang diikuti oleh titik dua.

Misalnya, authority component dari URI file:website.com/pathtofile/intro.pdf adalah website.com/.

Path (Jalur)

Path atau jalur berisi urutan segmen data yang menunjukkan lokasi resource dalam struktur direktori. Jalur harus kosong atau dipisahkan oleh garis miring. Contohnya, telnet://192.0.2.16:80/ atau foo://info.example.com?fred adalah URI yang valid dengan jalur kosong karena tidak ada petunjuk lokasi resource tertentu.

Query Component (Komponen Kueri)

Query merupakan komponen yang bersifat opsional, berisi string query data non-hierarkis. Query seringnya berupa string pasangan key=value. Komponen ini diawali dengan tanda tanya.

Misalnya, kalau contoh URI adalah https://example.org/test/test1?search=test-question#part2, berarti komponen kuerinya adalah search=test-question.

Fragment Component (Komponen Fragmen)

Komponen opsional ini mencakup pengidentifikasi fragmen yang memberikan arah ke resource sekunder. Resource sekunder merupakan bagian lain dari resource utama. Fragmen diawali dengan tanda pagar dan diakhiri dengan bagian akhir URI.

Misalnya, komponen fragmen dari https://example.org/test/test1?search=test-question#part2 adalah part2.

Uniform Resource Locator atau URL adalah pengidentifikasi yang hanya menunjukkan lokasi halaman web. URL merujuk pada alamat web dan kemungkinan aksesnya, seperti HTTP, FTP, dan mailto.

Syntax URL

Setiap URL harus mengikuti syntax URI yang memiliki struktur serupa dengan URI. Di bawah ini adalah contoh syntax URL:

https://www.example.com/forum/questions/?tag=networking&order=newest#top

URL di atas bisa dibagi menjadi komponen-komponen berikut:

Scheme (Skema)

Bagian pertama syntax URL berupa protokol yang digunakan untuk mengambil resource. Skema URL menyediakan jenis aplikasi yang digunakan perangkat Anda untuk membuka URL.

Misalnya, FaceTime menggunakan skema URL facetime:// untuk melakukan panggilan. Protokol lain yang paling sering digunakan untuk scheme URL meliputi:

  • Hypertext transfer protocol (HTTP) – dengan protokol ini, pengguna bisa mengakses data dari halaman web menggunakan link hypertext.
  • Hypertext transfer protocol secure (HTTPS) – melindungi transmisi data antara browser pengguna dan website.
  • File transfer protocol (FTP) – digunakan untuk transfer file di antara perangkat yang berbeda melalui jaringan.

Selanjutnya, beberapa protokol URL menggunakan link mailto untuk mengidentifikasi alamat email atau JDBC untuk menentukan akses database berdasarkan kebutuhan pengguna.

Authority (Otoritas)

Komponen ini diawali dengan dua garis miring, serta berisi 2 sub-komponen yaitu nama domain dan port yang merupakan resource yang akan diakses. Nama domain adalah nama resource yang terdaftar, seperti hostinger.co.id atau google.com.

Tips Berguna

Kalau Anda punya ide menarik untuk membuat nama domain, jangan lupa mengecek ketersediaannya di tool cek domain.

Port adalah nomor spesifik yang mengidentifikasi layanan web mana yang Anda minta di web server. Misalnya, nomor port untuk URL HTTP adalah 80 dan untuk URL HTTPS adalah 443. Tapi, kalau web server menggunakan protokol standar seperti HTTP atau HTTPS, port biasanya dihilangkan dari URL.

Path (Jalur)

Elemen ini mengidentifikasi lokasi spesifik halaman web, postingan, atau file lain yang ingin diakses pengguna dalam nama domain. Path juga berisi ekstensi file aset, seperti gambar dan dokumen.

Namun, tidak semua URL menunjukkan komponen path. Di sejumlah web server modern, Anda mungkin tidak melihat komponen path karena bisa dihilangkan untuk mempersingkat URL.

Beberapa contoh path adalah …/software/htp/index.html atau …/forum/question/.

Query String (String Kueri)

String ini mengirimkan data tentang resource di web server dan diawali dengan tanda tanya. Biasanya, string ini berisi pasangan kunci (key) dan nilai (value) yang dipisahkan oleh tanda ampersan (&).

Contohnya seperti ini: ?tag=networking&order=newest.

Query string menyimpan data karena protokol HTTP bersifat stateless. Artinya, setiap permintaan bersifat independen dan tidak terkait dengan permintaan sebelumnya. Akibatnya, koneksi antara browser dan web server akan otomatis ditutup setelah permintaan klien berakhir.

Selain itu, string kueri dikenal sebagai parameter kueri URL yang bisa digunakan untuk tujuan tertentu, seperti hasil pencarian untuk halaman web. Ini akan membantu pengguna menelusuri konten dari suatu resource. Misalnya, pengguna bisa dengan mudah menemukan informasi tentang produk di toko online.

Fragment Identifier (Pengidentifikasi Fragmen)

Fragment identifier atau anchor biasanya muncul di akhir URL dan diawali dengan tanda pagar. Komponen ini bersifat opsional, berfungsi untuk mengarahkan web browser ke resource sekunder. Anchor merujuk pada bagian tertentu dalam halaman web.

Di halaman HTML, browser akan langsung menuju bagian tertentu yang diberi tag dengan fragmen.

Misalnya, kalau URL-nya adalah https://example.com/results.html#intro, URL ini akan langsung membuka intro yang diberi tag pada halaman bernama results.html.

Kapan Sebaiknya Menggunakan URI?

URI membantu membuat aturan standar penggunaan resource, termasuk mengakses, memperbarui, menemukan, atau mendownloadnya. Dengan kata lain, URI menyediakan cara mudah untuk mengidentifikasi resource internet.

Berikut 3 contoh penggunaan URI:

  • Karya audiovisual – ISAN adalah nomor kode seri yang digunakan untuk mengidentifikasi karya dan versi audiovisual, seperti film, program televisi, atau dokumenter. Dengan skema urn:, URI bisa mengidentifikasi ISAN tanpa protokol atau cara untuk mengaksesnya. Contohnya adalah urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y, yang merujuk pada film Spider-Man tahun 2002. URI mengidentifikasi resource menggunakan nomor audiovisual tanpa menunjukkan di mana pengguna bisa menemukannya.
  • Nomor telepon – URI bisa mengidentifikasi resource menggunakan string panggilan, yang memiliki network termination point (NTP) berisi informasi yang diperlukan untuk merutekan panggilan. Skema tel: hanya berupa GUID (Globally Unique Identifier) dan tidak merujuk pada perangkat fisik apa pun. Misalnya, tel:+1-816-555-6666 menunjukkan GUID sebagai nomor telepon standar di AS.
  • Akses jarak jauh – Telnet adalah protokol jaringan yang digunakan oleh URI untuk menentukan akses ke komputer jarak jauh atau host melalui internet. Contohnya adalah telnet://192.0.2.16:80/. Telnet biasanya digunakan untuk menguji atau mengatasi masalah web server atau email secara remote.

Berikut kelebihan dan kekurangan URI:

Kelebihan:

  • Pengidentifikasi yang tidak ambigu – URI bisa mencegah ambiguitas dengan menyediakan skema unik untuk mengidentifikasi resource dan membedakannya di semantic web. Hal ini membantu RDF (Resource Description Framework) menafsirkan informasi bagi pengguna. Dengan demikian, dokumen web dan resource lainnya jadi tidak tertukar.
  • Keseragaman – URI mengidentifikasi nama dan lokasi resource. Berbagai jenis pengidentifikasi resource pun bisa digunakan dalam konteks yang sama. Misalnya, URL dan URI bisa merujuk ke resource yang sama. Keseragaman merujuk pada sintaksis umum URI yang harus diikuti.
  • Identifikasi resource abstrak dan fisik – Scheme URI bisa menentukan resource apa pun, termasuk objek dunia nyata, seperti nomor telepon, tempat, buku, dan orang. Resource ini tidak hanya berupa halaman web yang bisa diakses melalui internet.
  • Beberapa URI bisa ditautkan ke satu resource – misalnya, data di http://www.example.com/abc/2022/Q1 mungkin juga tersedia di http://www.example.com/abc/Q12022. Hal ini akan membuat client-server lebih mudah merujuk ke resource.

Kekurangan:

  • URI bersifat permanen – setelah dibuat, sebaiknya jangan ubah URI karena bisa merusak reputasi website. Meskipun Anda masih bisa encode ulang URL yang rusak, prosesnya perlu waktu dan upaya yang cukup lama.
  • Tidak kompatibel dengan semua browser – meskipun URI bisa digunakan di banyak browser populer, seperti Google Chrome dan Mozilla Firefox, beberapa browser versi lama seperti Internet Explorer 5, 6, dan 7, atau Safari 5 dan 6 tidak didukung oleh skema URI.

Kapan Sebaiknya Menggunakan URL?

Seperti halnya URI, URL digunakan untuk mengidentifikasi resource. Nah, URI vs URL memiliki sedikit perbedaan dalam hal tujuan dan strukturnya. Ingat, sebagian besar URL menyediakan protokol. Berikut beberapa contoh penggunaan URL:

  • Merujuk pada alamat email – Skema mailto: bisa digunakan dalam URL untuk menentukan alamat email. Skema ini menyediakan hyperlink untuk mengirim email langsung dari halaman HTML. Misalnya, mailto:abc@example.com.
  • Mengambil halaman web – dalam situasi paling umum, URL merujuk pada alamat web, yang memuat protokol, nama domain, dan jalur. Bentuk URL seperti ini dikenal sebagai URL absolut. Misalnya, https://www.example.com/news/business/ menunjukkan alamat dan direktori menuju resource.
  • Melakukan redirect resource – Anda bisa menggunakan URL untuk redirect resource lama ke lokasi baru. Biasanya, ini digunakan untuk memindahkan halaman web. Misalnya, kalau Anda mengubah alamat website dari https://www.blog.example.com menjadi https://www.example.com/blog, Anda bisa menggunakan redirect 301. Dengan begitu, pengunjung website tidak akan mengalami berbagai HTTP status code, seperti halaman error 404 not found.
  • Merujuk pada halaman internal – URL bisa ditampilkan tanpa protokol dan nama domain, yaitu hanya menunjukkan jalur. Ini digunakan untuk menautkan file tertentu dalam domain yang sama, atau disebut URL relatif. Misalnya, kalau URL-nya adalah https://www.example.com/news/business/, berarti URL relatifnya adalah /news/business/.

Setiap URL terdiri dari beberapa komponen yang akan memengaruhi keamanan website dan Search Engine Optimization (SEO). Selanjutnya, kami akan membahas kelebihan dan kekurangan URL.

Kelebihan:

  • Meningkatkan pengalaman pengguna – URL yang terstruktur dengan baik akan membantu pengguna memahami halaman apa yang mereka akses. Misalnya, kalau website www.example.com memiliki tag judul “Resep Puding Cokelat untuk Natal” di halaman webnya, URL Anda bisa menjadi http://example.com/resep/puding-cokelat untuk menggambarkan konten halaman dengan jelas.
  • Meningkatkan peringkat website – selain authority domain, keyword dalam URL bertindak sebagai faktor minor penentu peringkat website. Keyword bisa memengaruhi SERP (Search Engine Results Pages) dalam menganalisis halaman tertentu atau relevansi resource.
  • Mengamankan website Anda – URL HTTPS bisa melindungi website Anda dan privasi pengunjung secara lebih aman daripada HTTP. Sebab, HTTPS dilengkapi dengan sertifikat SSL (Secure Sockets Layer) yang menyediakan koneksi terenkripsi antara web server dan browser web untuk transmisi data.

Kekurangan:

  • Ancaman keamanan – URL yang disingkat dengan tool shortener seperti Bitly, owl.ly, AdF.ly, dan TinyURL bisa membahayakan reputasi website Anda. Banyak hacker menggunakan tool seperti ini untuk menyembunyikan niat jahat mereka dari pengunjung. Contoh URL yang dipersingkat adalah http://bitly.is/example, yang tidak mencantumkan domain website tujuan.
  • Pencurian konten – URL relatif mungkin memicu risiko pencurian konten karena pengunjung website tidak perlu menulis ulang internal link apa pun. Mereka bisa dengan mudah menyalin halaman Anda dan menaruhnya di domain baru menggunakan web scraper.
  • Dead link – ini bisa terjadi kalau Anda menggunakan layanan penyingkat URL. Dead link disebabkan oleh layanan yang mungkin down atau diberhentikan, sehingga link Anda menjadi tidak berfungsi.

Tips Berguna

URL yang bagus harus memiliki bentuk atau struktur yang simpel, jelas, dan ringkas. Dengan begitu, pengguna bisa mendapatkan gambaran tentang konten yang ada di halaman tersebut.

Kesimpulan

Nah, sekarang Anda sudah tahu apa saja yang membedakan URI vs URL. Penting untuk memahami perbedaan URL dan URI serta fungsinya, khususnya bagi Anda yang memiliki website.

Misalnya, Anda bisa membuat REST API dengan struktur URL atau URI yang bisa diprediksi dan hierarkis untuk meningkatkan performa REST API.

Uniform Resource Identifier atau URI adalah string karakter yang umumnya mengidentifikasi resource melalui nama, lokasi, atau nama dan lokasinya di internet. Selain itu, URI bisa membedakan jenis file dan resource lainnya.

Sementara itu, URL atau Uniform Resource Locator adalah string karakter yang menunjukkan alamat resource dan cara mengaksesnya di halaman web. Karena merupakan bagian dari URI, URL memiliki struktur yang serupa dengan URI.

Semoga tutorial ini membantu Anda memahami perbedaan URI vs URL dan kapan saat yang tepat untuk menggunakannya, ya. Kalau ada pertanyaan atau saran, silakan sampaikan di kolom komentar di bawah ini!

Author
Penulis

Fitri Wulandari

Fitri adalah seorang penulis dan penerjemah berbagai topik. Mulai dari konten profesional yang serius, hingga cerita seru yang penuh imajinasi. Ia mengisi waktu luangnya dengan membaca, menggambar, dan membuat daftar rencana.