A web server is computer software and underlying hardware that accepts requests via HTTP, the network protocol created to distribute web pages, or its secure variant HTTPS.
Basic common features[edit]
Although web server programs differ in how they are implemented, most of them offer the following basic common features.
- HTTP: support for one or more versions of HTTP protocol in order to send versions of HTTP responses compatible with versions of client HTTP requests, e.g. HTTP/1.0, HTTP/1.1 plus, if available, HTTP/2, HTTP/3;
- Logging: usually web servers have also the capability of logging some information, about client requests and server responses, to log files for security and statistical purposes.
A few other popular features (only a very short selection) are:
- Authentication, optional support for authorization request (request of user name and password) before allowing access to some or all kind of website resources.
- Large file support, to be able to serve files whose size is greater than 2 GB on 32 bit OS.
- Bandwidth throttling, to limit the speed of content responses in order to not saturate the network and to be able to serve more clients.
- Virtual hosting, to be able to serve many websites (domain names) using only one IP address.