What’s The Difference Between URLs and URIs? Vyom Srivastava February 2, 2023 When you work with websites, online content, or any other resource that is accessible online, it helps to understand the different identifiers and how they work. These identifiers enable users to find and access the content they are looking for. And in the world of web APIs, the paths to resources become an important element of the development process. There are many different identifiers used in the world of web technology, but two key ones you need to know when working with websites and web-based data include URIs and URLs. These identifiers have slightly different meanings, but both are applicable to certain situations. Below, we’ll take a look at what each one means and how they work. What Is a URI? A URI is a Uniform Resource Identifier. It’s a string of characters that identifies a resource. For a URI to be valid, it has to include the type of resource, the name of the resource, and a network identifier. The type tells us what kind of resource it is. The name of the resource is the actual name of the resource. And lastly, the network identifier is typically the hostname and port number of the server that hosts the resource. This is important because it helps computers find and access the host server hosting the resource. Example URI: urn:isbn:0405999832 What Is a URL? A URL is a Uniform Resource Locator. It’s a string of characters that acts as a network address for locating a resource on the web. It’s important to note that the URL is different from the resource. The URL identifies the network location of the resource, whereas the resource is the actual content that is hosted on the website. A URL is typically used to access content hosted on a web server. For example, when you type in the URL of a website, like the Google website, you are using the URL to access the content that is hosted on the Google website. Example URL: https://nordicapis.com/ How Are URIs and URLs Different? A URI identifies a resource, which can be accessed in a number of different ways depending on the network. A URL, on the other hand, gives you the network address of the resource. In the early days of the internet, the only identifiers were URIs. These were often very long and unwieldy strings of characters that described what the resource was and where it was located. However, it was challenging to remember these identifiers since they were so long and complicated. To solve this problem, the URL was created. The URL is a much simpler identifier that describes the location of the resource. Now, the URL is a network address, and the URI is a description of the resource. It’s important to note that a URL is not always a URI. There are times when a URL is used when a URI is unavailable. This is common in situations where you are accessing a resource on a website. In this instance, the website’s URI might be used as the URL. Further Questions About URLs and URIs How does the API’s schema affect the resulting endpoint design? When designing your API, you need to make sure you design the URI structure. If you don’t design the URI structure, you will be using the URL, not the URI. The URI design is important because it affects how the API is implemented. And the way you structure your URI design can affect the design of the URL structure. It’s important to design your API with the URI in mind. You can also use path parameters to create a reusable design that can be used for multiple resources. Example: curl -d 'identifier=2212&name=geekyhumans' http://localhost:8000/rest-api/foos/ Why is the distinction between URLs and URIs important for web API developers to grasp? There are a few reasons why the distinction between URLs and URIs is important for web API developers to grasp. First, as the web evolves and standards change, it helps to distinguish between the two so that you can keep your API designs up-to-date. Secondly, URIs can be more flexible than URLs, so understanding the difference can help make your API more user-friendly. Finally, some web browsers and other software applications handle URIs differently than URLs, so understanding the distinction can help you avoid potential compatibility issues. What are API consumers calling when they access an API — the URL or URI? What is behind the URL/URI? When a user is accessing an API, they are either using the URL or the URI. This depends on what the API is and how it’s hosted. If the API is hosted on a website, then the API consumers are using the URL to access it. If the API is hosted on a different server, then the API consumers might have to use the URI to access it. Behind the URL and URI, there are resources. The URI points to a resource and the URL points to a network address. The URL and URI differ only in that the URI is an identifier that tells you the resource type and the resource name, while the URL is a network address that describes the location of the resource. Final Words Knowing the difference between a URI and a URL and how they are used is important if you work with websites and APIs. The URL is used when someone is visiting a website or accessing static content on a website. The URI is used when someone is accessing an API, and it is hosted on a different server. Whether someone is accessing the API using the URL or the URI, behind the scenes, there are resources.