A web server is a computer program A computer program is a sequence of instructions written to perform a specified task for a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute the instructions. The same program in its human- that delivers (serves) content, such as web pages A web page or webpage is a document or resource of information that is suitable for the World Wide Web and can be accessed through a web browser and displayed on a monitor or mobile device, using the Hypertext Transfer Protocol The Hypertext Transfer Protocol is an Application Layer protocol for distributed, collaborative, hypermedia information systems (HTTP), over the World Wide Web The World Wide Web, abbreviated as WWW and commonly known as the Web, is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them by using hyperlinks. Using concepts from earlier hypertext systems, British. The term web server can also refer to the computer A computer is a programmable machine that receives input, stores and manipulates data//information, and provides output in a useful format or virtual machine In computing, hardware virtualization is a virtualization of computers or operating systems. It hides the physical characteristics of a computing platform from users, instead showing another abstract computing platform running the program. In large commercial deployments, a server computer In computing, a server is any combination of hardware or software designed to provide services to clients. When used alone, the term typically refers to a computer which may be running a server operating system, but is also used to refer to any software or dedicated hardware capable of providing services running a web server can be rack-mounted A 19-inch rack is a standardized frame or enclosure for mounting multiple equipment modules. Each module has a front panel that is 19 inches wide, including edges or ears that protrude on each side which allow the module to be fastened to the rack frame with screws with other servers to operate a web farm A server farm or server cluster, also called a data center, is a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine. Server farms often have backup servers, which can take over the function of primary servers in the event of a primary server failure.
Contents |
Overview
The primary function of a web server is to deliver web pages to clients A client is an application or system that accesses a remote service on another computer system, known as a server, by way of a network. The term was first applied to devices that were not capable of running their own stand-alone programs, but could interact with remote computers via a network. These dumb terminals were clients of the time-sharing. This means delivery of HTML documents HTML, which stands for HyperText Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It allows images and objects to be embedded and can be used to create interactive forms and any additional content that may be included by a document, such as images An image is an artifact, for example a two-dimensional picture, that has a similar appearance to some subject—usually a physical object or a person, style sheets Web style sheets are a form of separation of presentation and content for web design in which the markup of a webpage contains the page's semantic content and structure, but does not define its visual layout (style). Instead, the style is defined in an external stylesheet file using a style sheet language such as CSS or XSL. This design approach and JavaScripts JavaScript is an implementation of the ECMAScript language standard and is typically used to enable programmatic access to computational objects within a host environment. It can be characterized as a prototype-based object-oriented scripting language that is dynamic, weakly typed and has first-class functions. It is also considered a functional.
A client, commonly a web browser A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to or web crawler A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner or in an orderly fashion. Other terms for Web crawlers are ants, automatic indexers, bots, or Web spiders, Web robots, or—especially in the FOAF community—Web scutters, initiates communication by making a request for a specific resource using HTTP and the server responds with the content of that resource, or an error message if unable to do so. The resource is typically a real file on the server's secondary memory, but this is not necessarily the case and depends on how the web server is implemented Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.
While the primary function is to serve content, a full implementation of HTTP also includes a way of receiving content from clients. This feature is used for submitting web forms A webform on a web page allows a user to enter data that is sent to a server for processing. Webforms resemble paper forms because internet users fill out the forms using checkboxes, radio buttons, or text fields. For example, webforms can be used to enter shipping or credit card data to order a product or can be used to retrieve data, including uploading In computer networks, to download means to receive data to a local system from a remote system, or to initiate such a data transfer. Examples of a remote system from which a download might be performed include a webserver, FTP server, email server, or other similar systems. A download can mean either any file that is offered for downloading or of files.
Many generic web servers also support server-side scripting Server-side scripting is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic web pages. It is usually used to provide interactive web sites that interface to databases or other data stores. This is different from client-side scripting where scripts are run by the viewing, e.g., Apache HTTP Server The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million web site milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server ( and PHP PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. As a general-purpose. This means that the behaviour of the web server can be scripted A scripting language, script language or extension language is a programming language that allows control of one or more software applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the end-user. Scripts are often in separate files, while the actual server software remains unchanged. Usually, this functionality is used to create HTML documents on-the-fly as opposed to return fixed documents. This is referred to as dynamic A dynamic web page is a hypertext document rendered to a World Wide Web user presenting content that has been customized or actualized for each individual viewing or rendition or that continually updates information as the page is displayed to the user. It is difficult to be precise about "dynamic web page beginnings" or chronology, and static A static web page is a web page that is delivered to the user exactly as stored, in contrast to dynamic web pages which are generated by a web application content respectively. The former is primarily used for retrieving and/or modifying information in databases A database consists of an organized collection of data for one or more uses, typically in digital form. One way of classifying databases involves the type of their contents, for example: bibliographic, document-text, statistical. Digital databases are managed using database management systems, which store database contents, allowing data creation. The latter is, however, typically much faster and easily cached In computer science, a cache is a component that improves performance by transparently storing data such that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the.
Web servers are not always used for serving the world wide web The World Wide Web, abbreviated as WWW and commonly known as the Web, is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them by using hyperlinks. Using concepts from earlier hypertext systems, British, rather they can also be found embedded An embedded system is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer , is designed to be flexible and to meet a wide in devices such as printers In computing, a printer is a peripheral which produces a hard copy of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most newer printers, a USB cable to a computer which serves as a document, routers A router is a device that interconnects two or more computer networks, and selectively interchanges packets of data between them. Each data packet contains address information that a router can use to determine if the source and destination are on the same network, or if the data packet must be transferred from one network to another. Where, webcams A webcam is a video capture device connected to a computer or computer network, often using a USB port or, if connected to a network, ethernet or Wi-Fi and serving only a local network A local area network is a computer network covering a small physical area, like a home, office, or small groups of buildings, such as a school, or an airport. The defining characteristics of LANs, in contrast to wide area networks (WANs), include their usually higher data-transfer rates, smaller geographic area, and lack of a need for leased. The web server may then be used as a part of a system for monitoring and/or administrating the device in question. This usually means that no additional software has to be installed on the client computer, since only a web browser is required (which by now is included with most operating systems An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some).
History of web servers
The world's first web server.In 1989 Tim Berners-Lee Sir Timothy John "Tim" Berners-Lee, OM, KBE, FRS, FREng, FRSA , is a British engineer and computer scientist and MIT professor credited with inventing the World Wide Web, making the first proposal for it in March 1989. On 25 December 1990, with the help of Robert Cailliau and a young student at CERN, he implemented the first successful proposed to his employer CERN The European Organization for Nuclear Research , known as CERN (see History), pronounced /ˈsɜrn/ (French pronunciation: [sɛʁn]), is the world's largest particle physics laboratory, situated in the northwest suburbs of Geneva on the Franco–Swiss border (46°14′3″N 6°3′19″E / 46.23417°N 6.05528°E), established in 1954. The (European Organization for Nuclear Research) a new project, which had the goal of easing the exchange of information between scientists by using a hypertext Hypertext is text displayed on a computer or other electronic device with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices. Hypertext is the underlying concept defining the structure of the system. As a result of the implementation of this project, in 1990 Berners-Lee wrote two programs:
- a browser A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users to easily navigate their browsers to called WorldWideWeb WorldWideWeb, later renamed to Nexus to avoid confusion about the software and the World Wide Web, was the first web browser. When it was written, WorldWideWeb was the only way to view the Web;
- the world's first web server, later known as CERN httpd CERN httpd was a web server (HTTP) daemon originally developed at CERN from 1990 onwards by Tim Berners-Lee and others. It was the first ever web server software, which ran on NeXTSTEP NeXTSTEP is the object-oriented, multitasking operating system developed by NeXT Computer to run on its range of proprietary workstation computers, such as the NeXTcube, and later, other computer architectures.
Between 1991 and 1994 the simplicity and effectiveness of early technologies used to surf and exchange data through the World Wide Web helped to port them to many different operating systems and spread their use among lots of different social groups of people, first in scientific organizations, then in universities and finally in industry.
In 1994 Tim Berners-Lee decided to constitute the World Wide Web Consortium The World Wide Web Consortium is the main international standards organization for the World Wide Web (abbreviated WWW or W3) (W3C) to regulate the further development of the many technologies involved (HTTP, HTML, etc.) through a standardization process.
Common features
- Virtual hosting Virtual hosting is a method for hosting multiple domain names on a computer using a single IP address. This allows one machine to share its resources, such as memory and processor cycles, to use its resources more efficiently to serve many Web sites using one IP address An Internet Protocol address is a numerical label that is assigned to devices participating in a computer network, that uses the Internet Protocol for communication between its nodes. An IP address serves two principal functions: host or network interface identification and location addressing. Its role has been characterized as follows: "A.
- Large file support Large file support, often abbreviated to LFS, is the term frequently applied to the ability to create files larger than 2 GiB on 32-bit operating systems to be able to serve files whose size is greater than 2 GB on 32 bit OS An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some.
- Bandwidth throttling Bandwidth throttling is a method of ensuring a bandwidth intensive device, such as a server, will limit the quantity of data it transmits and/or accepts within a specified period of time. For website servers and web applications, bandwidth throttling helps limit network congestion and server crashes, whereas for ISP's, bandwidth throttling can be to limit the speed of responses in order to not saturate the network and to be able to serve more clients.
- Server-side scripting Server-side scripting is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic web pages. It is usually used to provide interactive web sites that interface to databases or other data stores. This is different from client-side scripting where scripts are run by the viewing to generate dynamic Web pages A dynamic web page is a hypertext document rendered to a World Wide Web user presenting content that has been customized or actualized for each individual viewing or rendition or that continually updates information as the page is displayed to the user. It is difficult to be precise about "dynamic web page beginnings" or chronology,, but still keeping Web server and Web site implementations separate from each other.
Path translation
Web servers are able to map the path component of a Uniform Resource Locator In computing, a Uniform Resource Locator is a Uniform Resource Identifier (URI) that specifies where an identified resource is available and the mechanism for retrieving it. In popular usage and in many technical documents and verbal discussions it is often incorrectly used as a synonym for URI,. The best-known example of a URL is the " (URL) into:
- a local file system resource (for static requests);
- an internal or external program name (for dynamic requests).
For a static request the URL path specified by the client is relative to the Web server's root directory.
Consider the following URL as it would be requested by a client:
http://www.example.com/path/file.html
The client's user agent will translate it into a connection to www.example.com with the following HTTP 1.1 request:
GET /path/file.html HTTP/1.1 Host: www.example.com
The Web server on www.example.com will append the given path to the path of its root directory. On Unix machines, this is commonly /var/www. The result is the local file system resource:
/var/www/path/file.html
The Web server will then read the file, if it exists, and send a response to the client's Web browser. The response will describe the content of the file and contain the file itself.
Load limits
A Web server (program) has defined load limits, because it can handle only a limited number of concurrent client connections (usually between 2 and 80,000, by default between 500 and 1,000) per IP address (and TCP port) and it can serve only a certain maximum number of requests per second depending on:
- its own settings;
- the HTTP request type;
- content origin (static or dynamic);
- the fact that the served content is or is not cached;
- the hardware and software limits of the OS where it is working.
When a Web server is near to or over its limits, it becomes unresponsive.
Kernel-mode and user-mode Web servers
A Web server can be either implemented into the OS kernel, or in user space (like other regular applications).
An in-kernel Web server (like TUX on GNU/Linux or Microsoft IIS on Windows) will usually work faster, because, as part of the system, it can directly use all the hardware resources it needs, such as non-paged memory, CPU time-slices, network adapters, or buffers.
Web servers that run in user-mode have to ask the system the permission to use more memory or more CPU resources. Not only do these requests to the kernel take time, but they are not always satisfied because the system reserves resources for its own usage and has the responsibility to share hardware resources with all the other running applications.
Also, applications cannot access the system's internal buffers, which causes useless buffer copies that create another handicap for user-mode web servers. As a consequence, the only way for a user-mode web server to match kernel-mode performance is to raise the quality of its code to much higher standards, similar to that of the code used in web servers that run in the kernel. This is a significant issue under Windows, where the user-mode overhead is about six times greater than that under Linux.[1]
Overload causes
At any time Web servers can be overloaded because of:
- Too much legitimate Web traffic. Thousands or even millions of clients connecting to the Web site in a short interval, e.g., Slashdot effect;
- DDoS. Distributed Denial of Service attacks;
- Computer worms that sometimes cause abnormal traffic because of millions of infected computers (not coordinated among them);
- XSS viruses can cause high traffic because of millions of infected browsers and/or Web servers;
- Internet Web robots. Traffic not filtered/limited on large Web sites with very few resources (bandwidth, etc.);
- Internet (network) slowdowns, so that client requests are served more slowly and the number of connections increases so much that server limits are reached;
- Web servers (computers) partial unavailability. This can happen because of required or urgent maintenance or upgrade, hardware or software failures, back-end (e.g., DB) failures, etc.; in these cases the remaining Web servers get too much traffic and become overloaded.
Overload symptoms
The symptoms of an overloaded Web server are:
- requests are served with (possibly long) delays (from 1 second to a few hundred seconds);
- 500, 502, 503, 504 HTTP errors are returned to clients (sometimes also unrelated 404 error or even 408 error may be returned);
- TCP connections are refused or reset (interrupted) before any content is sent to clients;
- in very rare cases, only partial contents are sent (but this behavior may well be considered a bug, even if it usually depends on unavailable system resources).
Anti-overload techniques
To partially overcome above load limits and to prevent overload, most popular Web sites use common techniques like:
- managing network traffic, by using:
- Firewalls to block unwanted traffic coming from bad IP sources or having bad patterns;
- HTTP traffic managers to drop, redirect or rewrite requests having bad HTTP patterns;
- Bandwidth management and traffic shaping, in order to smooth down peaks in network usage;
- deploying Web cache techniques;
- using different domain names to serve different (static and dynamic) content by separate Web servers, i.e.:
-
http://images.example.com
-
http://www.example.com
-
- using different domain names and/or computers to separate big files from small and medium sized files; the idea is to be able to fully cache small and medium sized files and to efficiently serve big or huge (over 10 - 1000 MB) files by using different settings;
- using many Web servers (programs) per computer, each one bound to its own network card and IP address;
- using many Web servers (computers) that are grouped together so that they act or are seen as one big Web server, see also: Load balancer;
- adding more hardware resources (i.e. RAM, disks) to each computer;
- tuning OS parameters for hardware capabilities and usage;
- using more efficient computer programs for Web servers, etc.;
- using other workarounds, especially if dynamic content is involved.
Market structure
Market share of major Web servers For more details on HTTP server programs, see Category:Web server software.Given below is a list of top web server software vendors published in a Netcraft survey in January 2010.
| Vendor | Product | Web Sites Hosted (millions) | Percent |
|---|---|---|---|
| Apache | Apache | 111 | 54% |
| Microsoft | IIS | 50 | 24% |
| Igor Sysoev | nginx | 16 | 8% |
| GWS | 15 | 7% | |
| lighttpd | lighttpd | 1 | 0.46% |
See also
- Application server
- Comparison of web server software
- Comparison of lightweight web servers
- HTTP compression
- Open source web application
- SSI, CGI, SCGI, FastCGI, PHP, Java Servlet, JavaServer Pages, ASP, ASP .NET, Server API
- Virtual hosting
- Web hosting service
- Web service
References
External links
- World Web Server Usage Statistics
- RFC 2616, the Request for Comments document that defines the HTTP 1.1 protocol.
- C64WEB.COM — Commodore 64 running as a Web server using Contiki
|
||||||||||||||
Categories: Servers | Web server software | Website management | Web development
|
Wed, 07 Jul 2010 17:40:11 GMT+00:00
Computerworld Last Thursday, researcher Soroush Dalili published information about a vulnerability in Internet Information Services (IIS), Microsoft's Web server software ... The unthinkable The NarcoSphere Microsoft: Windows 7 makes 64-bit headway cnet windows 8: What I'd Like to See PC World ChannelWeb - Ars Technica - The H
360px x 553px | 23.60kB
[source page]
Kingdom Heart Birth by Sleep is an upcoming game by SquareEnix SquareEnix is famous for Dragon Quest and Final Fantasy titles and is often known by the name of these two games They are so
Admin
Wed, 23 Jun 2010 15:01:11 GM
Best Quality: www.youtube.com How Yo Create a Home . server. How To Make a Home . Server. 1. Setup Your Router (D-Link Exemple) to Read en.wikipedia.org 2. Setup.
Q. I want to know what you need to run a web server or website off of a computer and how to set one up. I don't wnat anything extreme just a basic web or website (I don't know proper terminology) server.
Asked by Matt - Fri Mar 9 00:08:07 2007 - - 4 Answers - 0 Comments
A. Any computer, add more hard drives for space, server software, and max out the RAM that the motherboard will support! If you talk performance, it is still the same things just more of it. Better server = larger case that supports over eight hard drives, motherboard that supports dual/quad/2 or 4 CPUs. Redundant power supply. Cooling fans to keep inside of case cool. Your software: Operating System = Server Software, Web creation software, application software, router, two network cards, Back up server - so, where do you want to go, it is up to your pocket book. Go to www,Microsoft.com the training site. Computer Help Page vista upgrade or Requirements visit our… [cont.]
Answered by LOW - Fri Mar 9 01:49:00 2007


