Web servers deliver web pages to clients over the World Wide Web using HTTP. A web server needs permission to read files from the web server directory. Dynamic applications and web sites use server processing for tasks like database management.
The most used web servers are Apache, Nginx, and IIS. One of the most common setups is the LAMP stack, running Linux, Apache, MySQL, and PHP. Here is how to setup a Nginx Web Server.
Dangers
- Web servers are exposed publicly
- They have more permissions
- They have comprisable dynamic capabilities
- Other users can be attacked
- Databases store information
- Shared web servers can be compromised
Sides
Client-Side
Pages are downloaded from the server and interacted with, so the code can be modified client-side without affecting the server.
Server-Side
The server-side computes for the web site.
Common Scripting languages:
- JavaScript
- PHP
- Python
- JAVA
- Perl
- ASP
- Ruby
- Go
Analytics
Analytics calculates and remotely logs interaction data for automation.
Referrers show the previous website and are even in private browsers.