From RFC 3986:
A URI can be further classified as a locator, a name, or both. 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”). The term “Uniform Resource Name” (URN) has been used historically to refer to both URIs under the “urn” scheme [RFC2141], which are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name.
So all URLs are URIs, and all URNs are URIs – but URNs and URLs are different, so you can’t say that all URIs are URLs.
If you haven’t already read Roger Pate’s answer, I’d advise doing so as well.
Related Posts:
- How are parameters sent in an HTTP POST request?
- What’s the point in having “www” in a URL?
- Should a 502 HTTP status code be used if a proxy receives no response at all?
- HTTP Status 504
- What is the difference between POST and GET? [duplicate]
- Do I need Content-Type: application/octet-stream for file download?
- Problem HTTP error 403 in Python 3 Web Scraping
- application/x-www-form-urlencoded or multipart/form-data?
- Problem HTTP error 403 in Python 3 Web Scraping
- application/x-www-form-urlencoded or multipart/form-data?
- Is 418 “I’m a teapot” really an HTTP response code?
- How to define the basic HTTP authentication using cURL correctly?
- How to define the basic HTTP authentication using cURL correctly?
- “Cannot GET /” with Connect on Node.js
- “CAUTION: provisional headers are shown” in Chrome debugger
- What’s the difference between a POST and a PUT HTTP REQUEST?
- How do I send a POST request with PHP?
- Custom Tumblr theme wont save because of non-https urls?
- Why is it said that “HTTP is a stateless protocol”?
- What’s the difference between using application/csv vs text/csv? [duplicate]
- What’s different between URI, request-URI and URL?
- What are all the possible values for HTTP “Content-Type” header?
- Can a URL contain a semicolon and still be valid?
- What is the difference between PUT, POST and PATCH?
- Can we use & in url?
- What’s the difference between “Request Payload” vs “Form Data” as seen in Chrome dev tools Network tab
- Exception in thread “main” java.net.NoRouteToHostException: No route to host
- ndroid 8: Cleartext HTTP traffic not permitted
- Can PHP cURL retrieve response headers AND body in a single request?
- Setting Curl’s Timeout in PHP
- Why am I suddenly getting a “Blocked loading mixed active content” issue in Firefox?
- wget: unable to resolve host address `http’
- Are HTTP headers case-sensitive?
- When looking at the differences between X-Auth-Token vs Authorization headers, which is preferred?
- WordPress HTTP parameter pollution
- Does WordPress send data about your blog to WordPress.org or Automattic?
- Hiding WordPress REST API v2 endpoints from public viewing
- Does WordPress only support HTTP 1.1?
- How do I troubleshoot responses with WP HTTP API?
- Is curl required?
- The resource was preloaded using link preload but not used within a few seconds
- using wp_remote_get to retrieve own url on local host
- Using wp-cron in backpress – problems with wp_remote_post, fsockopen error
- Running index.php from command line & load balancer health checks
- Enable CORS in wordpress
- Change port of wordpress
- How to get value of custom http header?
- Several times request to load plugins when sending one request
- why is $_REQUESt[‘redirect_to’] empty?
- Get “HTTP/1.1 406 Not Acceptable” when accesing my website with Delphi Indy Control
- WordPress HTTP 500 Error “page isn’t working”
- For what is the “.well-known”-folder?
- Human readable format for http headers with tcpdump
- How to make wireshark filter POST-requests only?
- Image file urls still point to http instead of https
- WordPress is removing http:// from my urls
- What does localhost:8080 mean?
- What is the difference between POST and PUT in HTTP?
- How can I programmatically check if a Google User’s profile picture isn’t default?
- What is the difference between POST and PUT in HTTP?
- SOAP vs REST (differences)
- Chrome hangs after certain amount of data transfered – waiting for available socket
- Use of PUT vs PATCH methods in REST API real life scenarios
- How to redirect all HTTP requests to HTTPS
- Download single files from GitHub
- What is fbclid? the new facebook parameter
- Different between ./ , ../ , ../../ , ~/ on file path(URL) in asp.net
- Why Puma listen on ‘tcp://localhost:3000’ instead of ‘http://localhost:3000’
- How to change the URI (URL) for a remote Git repository?
- How to download a file over HTTP?
- HTTPS connections over proxy servers
- How to write URLs in Latex?
- How to download a file over HTTP?
- Possible reason for NGINX 499 error codes
- Get the full URL in PHP
- Axios Delete request with body and headers?
- the use of `%3F` in URL
- forbidden 403 on image URLS
- Get the full URL in PHP
- Get the current URL with JavaScript?
- @ converted to %40 in HTTPPost request
- Get the full URL in PHP
- Encode URL in JavaScript?
- How to use java.net.URLConnection to fire and handle HTTP requests
- How to do a PUT request with cURL?
- What does HTTP/1.1 302 mean exactly?
- Error: No default engine was specified and no extension was provided
- HTTP GET request in JavaScript?
- Significance of port 3000 in Express apps
- PHP + curl, HTTP POST sample code?
- Get the values from the “GET” parameters (JavaScript)
- How do I pull from a Git repository through an HTTP proxy?
- How can I get query string values in JavaScript?
- Response to preflight request doesn’t pass access control check
- What is the difference between URL parameters and query strings?
- Is it possible to get a list of files under a directory of a website? How?
- How to load script with jquery.load()?
- The origin on why ‘%20’ is used as a space in URLs
- what does a .php?id=&value=value means?
- Why does the URL http://a/%%30%30 crash Google Chrome?