Starting with JDK1.5, the java.net package makes a very useful distinction between the Uniform Resource Locator (Uniform Resource Locator URL) and the Uniform Resource Identifier (Uniform Resource identifier URI).
A URI is a purely syntactic structure that specifies various parts of a string that identifies a Web resource. A URL is a special case of a URI that contains enough information to locate a Web resource. Other URIs, such as mailto:[email protected] do not belong to the locator because no resources can be located based on that identifier.
In the Java class Library, the URI class does not contain any method of accessing the resource, its only function is parsing. Instead, the URL class can open a stream that reaches the resource. So the URL class can only work on patterns that the Java class Library knows how to handle, such as http:,https:,ftp:, the local file system (Files:), and the Jar file (jar:).
So what's the difference between a URI and a URL?
Uri-universal Resource identifier Generic resource identifier
Every resource available on the Web, such as HTML documents, images, video clips, programs, etc., is a URI to locate.
URIs are generally made up of three parts
① naming mechanism for accessing resources
② host name of the storage resource
The name of the ③ resource itself, represented by a path, with emphasis on resources.
Url-uniform Resource Location Uniform Resource Locator
URLs are strings used on the Internet to describe information resources, mainly used in various WWW client programs and server programs, especially the famous mosaic.
URLs can be used in a unified format to describe various information resources, including files, server addresses and directories.
URLs are generally made up of three parts
① Protocol (or service mode)
② Host IP address (sometimes including port number) for this resource
③ the specific address of the host resource. such as directory and file name, etc.
What is the difference between a URI and a URL