A Web server is a computer application, plus the corresponding hardware, operating system, and network connections, that delivers Web pages to a requesting user over TCP/IP.
It also supports delivery of other kinds of Internet services, such as news, email, and security. Every Web server has an IP address and possibly a domain name. Additionally, all Web servers adhere to language and protocol standards: HTML and HTTP. These standards enable servers of different design and capacity to work within the larger network that is the Internet.
Any computer can be turned into a Web server by first installing applicable server software and then connecting the machine to the Internet. Existing Web servers are available for a wide range of platforms, including Windows, Macintosh, and Unix. There are also special function Internet servers that do not provide the entire range of services. These special servers include proxy servers, which are used for content load balancing and security; dedicated email servers; and dedicated FTP servers.
Data collection
In addition to hosting and delivering the content of a Web site, Web servers have another important function: They collect insightful data on Web site usage. Here is a list of the specific kind of information they provide:
Information about page usage and performance
The brand and version of the browser being used
The page from which a visitor is coming
Glitches experienced during the visit
All of this information is extremely valuable for three main reasons:
Knowing which browser is the most frequently used can help you optimize your content delivery design.
Knowing a visitor's site of origin can help your marketing department identify and address target markets.
Knowing which pages were visited can help you improve the navigation of your site.
Web server considerations
There are different families of Web servers available. In choosing one, you should consider what role servers play in relation to other
eBusiness tools, particularly application servers, which are discussed elsewhere in this course. In the early days of Web development, many site developers took advantage of low Web server services to directly program custom features into a Web site. For instance, AOL/Netscape Web Servers offered a set of services through its NSAPI[1] programming interface, and Microsoft offered a similar set of services through its ISAPI[2] programming services. However, as ebusiness solutions have become more complex, it has nearly become a standard practice to offload any custom coding to dedicated application servers, thereby limiting Web servers to handling only standard Web server functions. Though the number, configuration, and tuning of Web servers continue to be important design elements in eBusiness solutions, Web servers are typically less involved today in core business logic processing for eBusiness. For these reasons, you may elect to download Apache, a shareware server available through the Internet. The next lesson delves into security issues regarding Web sites.
Apache and Linux
Apache and Linux are often associated with the Internet; in fact both technologies have experienced their market penetration completely (Apache) or largely (Linux) due to the Internet. Both have similar roots, both sprouting from the open source (that is, non-commercial)
software movement. And both have been propelled into the commercial marketplace due to support from huge commercial players. The big
difference, however, is that Linux is an operating system, while Apache is a Web server. Often, Apache is deployed on Linux, and Linux is the
"reference" platform for Apache. A reference platform is the first platform a product targets, and the majority of development and testing of
the product takes place on that reference platform.
Actually, calling Apache a Web server is erroneous. Apache is actually an open (non-commercial) software group whose full name is the Apache
Software Foundation. The Apache Software Foundation creates a non-profit forum for the development of software, and supplies hardware,
infrastructure software, and other resources to support the open, collaborative development of software. Apache is a meritocracy, which in
this case means in order to belong you must contribute. The most famous product to emerge from Apache is their Web server, but the Apache Web server has been ported to a variety of operating systems, not just Linux. The Apache Web server is by far the most widely used Web Server on the Internet, easily eclipsing Microsoft (number two) and Netscape/AOL/iPlanet (number three). The Apache Software Foundation also has other projects underway, such as for the open development of XML tools, and a Java-based application server.
[1]NSAPI (NetScape API): 'A programming interface on Netscape's Web Server. Using NSAPI function calls, Web pages can invoke programs on the server, typically to access data in a database. NSAPI is an alternative to using CGI scripts on Netscape Web servers.
[2]Internet Server API: A programming interface on Internet Information Server (IIS), Microsoft's Web server. Using ISAPI function calls, Web pages can invoke programs that are written as DLLs on the server, typically to access data in a database. IIS comes with a DLL that allows embedded queries to access ODBC-compliant databases. ISAPI is an alternative to using CGI scripts on Microsoft Web servers. The counterpart to ISAPI on the client side is WinInet.