URL known as Uniform Resource Locator is simply a string of text that identifies all the resources on the Internet, telling us the address of the resource, how to communicate with it, and retrieve something from it.

Components of a URL
A URL can have many forms. The most general however follows a three-components system as proposed below:
- Protocol: HTTP is the protocol here
- Hostname: Name of the machine on which the resource lives.
- File Name: The pathname to the file on the machine.
- Port Number: Port number to which to connect (typically optional).
URL Class
The URL class is the gateway to any of the resources available on the internet. A Class URL represents a Uniform Resource Locator, which is a pointer to a “resource” on the World Wide Web. A resource can point to a simple file or directory, or it can refer to a more complicated object, such as a query to a database or to a search engine.
Constructors of the URL class
- URL(String address) throws MalformedURLException: It creates a URL object from the specified String.
- URL(String protocol, String host, String file): Creates a URL object from the specified protocol, host, and file name.
- URL(String protocol, String host, int port, String file): Creates a URL object from protocol, host, port, and file name.
- URL(URL context, String spec): Creates a URL object by parsing the given spec in the given context.
- URL(String protocol, String host, int port, String file, URLStreamHandler handler):
Creates a URL object from the specified protocol, host, port number, file, and handler.
- URL(URL context, String spec, URLStreamHandler handler):
Creates a URL by parsing the given spec with the specified handler within a specified context.
Important Methods used in URL class
Method |
Action Performed |
getAuthority() |
Returns the authority part of URL or null if empty |
getDefaultPort() |
Returns the default port used |
getFile() |
Returns the file name. |
getHost() |
Return the hostname of the URL in IPv6 format |
getPath() |
Returns the path of the URL, or null if empty |
getPort() |
Returns the port associated with the protocol specified by the URL |
getProtocol() |
Returns the protocol used by the URL |
getQuery() |
the Returns the query part of URL. A query is a part after the ‘?’ in the URL. Whenever logic is used to display the result, there would be a query field in the URL. It is similar to querying a database. |
getRef() |
Returns the reference of the URL object. Usually, the reference is the part marked by a ‘#’ in the URL. You can see the working example by querying anything on Google and seeing the part after ‘#’ |
toString() |
As in any class, toString() returns the string representation of the given URL object. |
Example:
Java
import java.net.MalformedURLException;
import java.net.URL;
public class GFG {
public static void main(String[] args)
throws MalformedURLException
{
URL url1 = new URL(
+ "WK26I4fT8gfth6CACg#q=geeks+for+geeks+java" );
URL url2 = new URL( "http" , "www.geeksforgeeks.org" ,
"/jvm-works-jvm-architecture/" );
URL url3 = new URL(
+ "q=gnu&rlz=1C1CHZL_enIN71"
+ "4IN715&oq=gnu&aqs=chrome..69i57j6"
+ "9i60l5.653j0j7&sourceid=chrome&ie=UTF"
+ "-8#q=geeks+for+geeks+java" );
System.out.println(url1.toString());
System.out.println(url2.toString());
System.out.println();
System.out.println(
"Different components of the URL3-" );
System.out.println( "Protocol:- "
+ url3.getProtocol());
System.out.println( "Hostname:- " + url3.getHost());
System.out.println( "Default port:- "
+ url3.getDefaultPort());
System.out.println( "Query:- " + url3.getQuery());
System.out.println( "Path:- " + url3.getPath());
System.out.println( "File:- " + url3.getFile());
System.out.println( "Reference:- " + url3.getRef());
}
}
|
Output:
https://www.google.co.in/?gfe_rd=cr&ei=ptYqWK26I4fT8gfth6CACg#q=geeks+for+geeks+java
https://www.geeksforgeeks.org/jvm-works-jvm-architecture/
Different components of the URL3-
Protocol:- https
Hostname:- www.google.co.in
Default port:- 443
Query:- q=gnu&rlz=1C1CHZL_enIN714IN715&oq=gnu&aqs=chrome..69i57j69i60l5.653j0j7&sourceid=chrome&ie=UTF-8
Path:- /search
File:- /search?q=gnu&rlz=1C1CHZL_enIN714IN715&oq=gnu&aqs=chrome..69i57j69i60l5.653j0j7&sourceid=chrome&ie=UTF-8
Reference:- q=geeks+for+geeks+java
If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!