A HTTP client is typically a software or process that sends HTTP requests to HTTP servers for resources.
When a HTTP server is contactable, the client will receive a HTTP response from the server for a HTTP request. Given that response, the client may then decide on any further actions.
For example, a web browser is a type of HTTP client that communicate with HTTP servers on behalf of a human user. Given that an URL is supplied by a user, a web browser will attempt to send a HTTP request to the server referenced by the URL. When the URL points to a HTML document, the browser will interpret the contents to create a display on screen. Within the HTML document, there could be:
- CSS, instructions to display elements on screen
When the above contents are represented by URLs, the browser will then attempt to send more HTTP requests in order to download them. After getting all the resources specified by a HTML document, the browser display the entire web page to the user.
Another type of HTTP client includes software libraries that facilitate sending HTTP requests and receiving HTTP responses.