← Chapter 10 — Threads, Networking & JDBC

35. Networking Basics

mixed

Description

Networking lets Java programs communicate with other machines and web services. URLs identify resources, while HTTP describes a common request-and-response protocol.

Modern Java provides HttpClient for HTTP requests. Network calls can fail or take time, so production programs need timeouts, validation, and careful error handling.

Subtopics

URL and URI

Description

A URI identifies a resource and a URL provides its location.

Explanation

Java's URI class validates and represents a resource identifier.

Example

java.net.URI uri = java.net.URI.create("https://example.com");

HTTP client

Description

HttpClient sends HTTP requests.

Explanation

A request includes a URI and a response contains status and body.

Example

java.net.http.HttpRequest.newBuilder(uri).GET().build();

Explanation

Never assume a successful response. Check status codes and treat remote data as untrusted input before using it in your program.

Example

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;

public class NetworkDemo {
    public static void main(String[] args) {
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://example.com")).GET().build();
        System.out.println(request.uri());
    }
}

Key points

  • HTTP uses requests and responses.
  • URI represents a resource identifier.
  • Network calls can fail or time out.

Video

Open video

Open reference