A web server is hardware or software through which a computer can host a website. A server can be hosted in kernel mode or user mode; kernel mode has the web server run on top of the operating system, while user mode (downloaded just like another app or program) is slower and less effective. Just one example of a well-known web server is Apache, which runs well on a variety of popular operating systems.
Web servers communicate with clients (those who are accessing their hosted websites) through the Transmission Control Protocol and Internet Protocol. Typically web servers are programmed to allow a certain amount of traffic, or a certain number of requests, for a period of time. This is set to protect the server from being overloaded, which in some cases can temporarily make it inoperable.
Though this can happen naturally if too many users make an HTTP request at one time, it’s also a form of attacking a web server. Distributed denial of service (DDoS) attacks use multiple requests from different IP addresses to completely overwhelm a server. Once the server goes down and web traffic is blocked, the website can lose money.
HyperText Transfer Protocol (HTTP)
HTTP is the standard protocol through which web servers and clients communicate and send and receive web requests. Hypertext allows words, images, and other forms of visible communication to be linked together with an Internet database. For instance, a computer user uses a browser to look up (request) a website. The database sends that data to the browser where it is interpreted using HTTP. The text used in the protocol connects logically to the web page markup text (HTML, for example), since both are hypertext. HTML code corresponds to whatever is visible to users on the web page.
HTTPS (HyperText Transfer Protocol Secure) adds encryption to HTTP for added security. It’s strongly recommended for all websites at this point.
DNS and IP addresses
Web servers connect with clients using IP addresses from both sides. Data packets move from one IP address (the client’s) to another (the server’s). IP addresses are in numerical format, which is how computers communicate, but are difficult for humans to remember and comprehend. The Domain Name System (DNS) makes it much easier for people to access different websites. A domain name is assigned to each website’s IP address (for example, webopedia.com). When a client types the domain name, DNS servers retrieve the corresponding IP address so that the client and web server can connect and communicate.