An HTTP server is a server that utilizes the Hyper Text Transfer Protocol (HTTP) to communicate with client computers, typically through an Internet browser. HTTP is the primary protocol used in web sites, and HTTP servers take up the majority of servers on the Internet. Other types of servers are used for more specific uses, such as a file server which uses the File Transfer Protocol (FTP) instead of HTTP.
The use of an HTTP server is most commonly seen when browsing the Internet to a web site, although many internal networks also use HTTP servers. In the typical process of browsing from a client computer, the Universal Resource Locator (URL) is put into the address bar of a browser. It almost always begins with the definition of what protocol will be used to make the request, which is usually the HTTP protocol. Most browsers use this protocol by default, even when it is not specifically entered into the address bar.
After a user has entered a URL, the HTTP server receives the request to view the web page and sends the contents of the web page back to the client, usually in the form of Hyper Text Markup Language (HTML) documents. The HTTP protocol is what is primarily used during this process. Occasionally in secure connections, such as a credit card transaction, the server will use HTTPS protocol, which is the encrypted version of HTTP. Most HTTP servers can use the HTTPS protocol by default.
In addition to providing web pages, HTTP servers can also receive data from clients utilizing HTTP. This is good for situations when input is needed from the HTTP server, such as filling out a form, taking a survey, or uploading a file. It can be even more of an issue when the HTTP server is only on a network, such as in a company or school network, as they often have interactive web pages.
The most popular HTTP server on the Internet is the Apache HTTP server. Apache is considered open-source software, meaning the primary source code that created it is free and can be changed and improved by users. In addition to it being free, it also has the advantage of using scripting. This means that separate scripts can be run separate from the main server software, which allows for a web page to be dynamic and change content rapidly without interfering with the overall performance of the web page. As of early 2011, Apache HTTP servers were used in approximately 60% of all servers on the Internet.