URLConnection
URLConnection is an abstraction that represents a communications link to a resource identified by a URL. In the Java standard library, it is an abstract class in the java.net package that encapsulates the ability to open a connection to a resource and to read from or write to it. Instances are created by calling URL.openConnection(), which returns a URLConnection object (often a concrete subclass such as HttpURLConnection for HTTP resources).
A URLConnection manages details such as request headers and properties, input and output streams, and connection
For HTTP, HttpURLConnection adds HTTP-specific capabilities, including methods to set the request method (GET, POST, etc.),
Usage typically involves creating a URL, opening a connection, configuring preferences, obtaining an InputStream to read
Limitations and notes include that URLConnection provides a general interface, so not all protocols support every