Presentation on theme: "Web Server Sun Peng What is server - Question First thing first! We need a definition: What is a server? ?"— Presentation transcript:
Web Server Sun Peng
What is server - Question First thing first! We need a definition: What is a server? ?
What is server - Answer (1) A computer software application that carries out some task (i.e. provides a service) on behalf of another piece of software called a client. The physical computer on which such software runs.
What is server - Answer (2) Sometimes this dual usage can lead to confusion, so in the following presentation, the web server means the software, such as the Apache HTTP server, which manages the delivery of web page components in response to requests from web browser clients.
First Web Server (1) In 1989 Tim Berners-Lee proposed to CERN a new project, a hypertext system. Tim Berners-Lee wrote two programs: a www- browser WorldWideWeb and the world's first web server, which ran on NeXTSTEP.
First Web Server (2)
How a web server works Every web server program operates by accepting HTTP requests from the network, and providing an HTTP response to the requester.
HTTP - the language HTTP is the protocol that web servers and browsers used to communicate over the Internet. It is a request and response protocol--the client makes a request and the server responds to it HTTP uses reliable TCP connections, by default on TCP port 80. The first version of HTTP was HTTP/0.9, which was then overridden by HTTP/1.0. The current version is HTTP/1.1.
HTTP Request An HTTP request consists of three components: Method-URI-Protocol/Version Request headers Entity body
HTTP Response an HTTP response also consists of three parts: Protocol-Status code-Description Response headers Entity body
HTTP Response Example HTTP/ OK Server: Microsoft-IIS/4.0 Date: Mon, 3 Jan :13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan :23:42 GMT Content-Length: 112 HTTP Response Example Welcome to Brainy Software
Are you familiar with this page?
The Basic Process
Behind the screen – B&S (1) TThe browser breaks the URL into three parts: The protocol ("http") The server name ("bigbear.icu.ac.kr") The file name ("~iko/index.htm") TThe browser communicates with a name server to translate the server name " bigbear.icu.ac.kr " into an IP Address, which used to connect to the server machine.
Behind the screen – B&S (2) The browser then forms a connection to the server at that IP address on port 80. Following the HTTP protocol, the browser send a GET request to the server, asking for the file "http://bigbear.icu.ac.kr/~iko/index.html."
Behind the screen – B&S (3) TThe server now responds to the browser's requests. It verifies that the given address exists finds the necessary files runs the appropriate scripts exchanges cookies if necessary returns the results back to the browser
Behind the screen – B&S (4) The browser read the HTML tags and formatted the page onto your screen.
Other Duties of Web Server - (1) AA Web server should distinguish various errors and data types. A Web server must designate the proper code for any sort of internal error and send that back to the browser immediately after it occurs. It also has to distinguish between various elements on a Web page (such as.GIFs, JPEGS and audio files) so that the browser knows which files are saved in which format.
Other Duties of Web Server - (2) DDepending on the site's function, a Web server may also have numerous additional tasks to handle, including logging statistics from database, handling security and encryption, serving images for other sites (for banners, …) generating dynamic content, managing e-commerce functions. etc.
Category: Two world CommercialFree
List Free Apache httpd Abyss Web Server X1 Caudium Cherokee HTTP Server Lighttpd Commercial Abyss Web Server X2 BEA WebLogic Zeus Web Server Microsoft Internet Information Services Redhat Stronghold Sun ONE
Which is better? I don’t know. But… Software is like sex. It's better when it's free. By Linus Torvalds, the father of Linux Who said it? Not me…..
It is! Apache is by far the most common software, with over 69% market share according to the June 2005 Netcraft Web Server Survey Microsoft 20.26% Sun 2.85% Zeus 0.90% Source:
Apache Apache is the web server component of the popular web server application stack called LAMP (Linux, Apache, MySQL, PHP/Perl). LAMPLinuxApacheMySQLPHPPerl Apache was built by a group of open-source programmers and is often used because of its outstanding performance, strong security features and the fact that it is free.
Apache – History Before Apache: In February of 1995, the most popular server software is NCSA httpd. Using NCSA httpd 1.3 as a base, a group of programmer continued the development. Apache 1.0 was released on Dec. 1, Apache (alpha) was released on 28,March,2001 Latest stable version: Apache
Apache – Features (1) powerful, flexible, HTTP/1.1 compliant web server implements the latest protocols, including HTTP/1.1 highly configurable and extensible with third-party modules can be customized by writing 'modules' using the Apache module API provides full source code and comes with an unrestrictive license runs on Linux, Windows, Netware 5.x and above, OS/2, and most versions of Unix, etc
Apache – Features (2) iimplements many frequently requested features, including: DBM databases for authentication Customized responses to errors and problems Multiple Directory Index directives Unlimited flexible URL rewriting and aliasing Content negotiation Virtual Hosts Configurable Reliable Piped Logs
Reference RFC 2616—The Request for Comments document that defines the HTTP 1.1 protocol. RFC 2616Request for CommentsHTTP Apache FAQ