Basic HTTP authentication works by sending the Base64-encoded username and password as a pair in the HTTP authorization header. The username and password must be sent for every HTTP request made by the client. A typical HTTP basic authentication transaction can be depicted with the following sequence diagram. In this example, the client is trying to access a protected RESTful web service endpoint (/webresources/departments) to retrieve the department details:
![](https://static.packt-cdn.com/products/9781788294041/graphics/assets/2cabd5f1-cc0a-4883-a3bc-b127a0dd5ae2.png)
The preceding diagram represents an entire transaction. A client begins by requesting the URI, /webresources/departments. Because the resource is secured using HTTP basic authentication and the client does not provide the required authorization credentials, the server replies with a 401 HTTP response. The client receives the response, scans through it, and prepares a new request with the necessary...