Web server is a program that provides static contents like HTML documents by receiving HTTP request from the web browser (client).
Static contents mean that no matter what parameters or users will be, the response always includes the same contents.
- Receives HTTP request from the client
- For static contents, the server can provides static contents (html, jpeg, css, etc.)
- For dynamic contents, the server delivers dynamic contents request to Web Application Server (WAS), and pass results from the WAS.
Web application server is a program that is implemented for providing dynamic contents which require various logic processes or DB queries.
Dynamic contents can be varied from the input parameters or users
- directly receive HTTP request from the client
- provide static contents (html, jpeg, css, etc.)
- provide dynamic contents by processing various logics and DB query
- We may need WS because we can separate the roles between WS (for static contents) and WAS (for dynamic contents).
- If we use multiple WAS, then WS can be a load balancer to distribute the request calls from the client.
- WS can regularly check the WAS health (check if response comes correctly)
- We can use reverse proxy from WS to secure the data from the WAS.
- Apache HTTP server
- Sun Java System Web Server