web server
A web server is software and hardware that uses HTTP (Hypertext Transfer Protocol) and
other protocols to respond to client requests made over the World Wide Web. The main job
of a web server is to display website content through storing, processing and delivering
webpages to users. Besides HTTP, web servers also support SMTP (Simple Mail Transfer
Protocol) and FTP (File Transfer Protocol), used for email, file transfer and storage.
Web server hardware is connected to the internet and allows data to be exchanged with
other connected devices, while web server software controls how a user accesses hosted
files. The web server process is an example of the client/server model. All computers that
host websites must have web server software.
Web servers are used in web hosting, or the hosting of data for websites and web-based
applications -- or web applications.
How do web servers work?
Web server software is accessed through the domain names of websites and ensures the
delivery of the site's content to the requesting user. The software side is also comprised of
several components, with at least an HTTP server. The HTTP server is able to understand
HTTP and URLs. As hardware, a web server is a computer that stores web server software
and other files related to a website, such as HTML documents, images and JavaScript files.
When a web browser, like Google Chrome or Firefox, needs a file that's hosted on a web
server, the browser will request the file by HTTP. When the request is received by the web
server, the HTTP server will accept the request, find the content and send it back to the
browser through HTTP.
Examples of web server uses
sending and receiving emails;
downloading requests for File Transfer Protocol (FTP) files; and
building and publishing webpages.
Dynamic vs. static web servers
A web server can be used to serve either static or dynamic content. Static refers to the
content being shown as is, while dynamic content can be updated and changed. A static
web server will consist of a computer and HTTP software. It is considered static because
the sever will send hosted files as is to a browser.
Dynamic web browsers will consist of a web server and other software such as an
application server and database. It is considered dynamic because the application server
can be used to update any hosted files before they are sent to a browser. The web server
can generate content when it is requested from the database. Though this process is more
flexible, it is also more complicated.
Common and top web server software on the market
Apache HTTP Server. Developed by Apache Software Foundation, it is a free
and open source web server for Windows, Mac OS X, Unix, Linux, Solaris and
other operating systems; it needs the Apache license.
Microsoft Internet Information Services (IIS). Developed by Microsoft for
Microsoft platforms; it is not open sourced, but widely used.
Nginx. A popular open source web server for administrators because of its
light resource utilization and scalability. It can handle many concurrent sessions
due to its event-driven architecture. Nginx also can be used as a proxy
server and load balancer.
Lighttpd. A free web server that comes with the FreeBSD operating system. It is
seen as fast and secure, while consuming less CPU power.
Sun Java System Web Server. A free web server from Sun Microsystems that
can run on Windows, Linux and Unix. It is well-equipped to handle medium to
large websites.