web servers (l6)
TRANSCRIPT
1
Web Servers
• How do our requests for resources on the Internet get handled?
• Can they be located anywhere? Global?
2
Web Servers
• Looking at ….– Introduction to web servers– HTTP request types– 3-tier system architecture– Accessing a web server (local and remote)– Web server examples
• Apache• Tomcat• IIS• PWS
3
What is a web server?
• Web server– Specialized software that responds to client
requests by providing resources (web pages, documents, etc..)
– Based on the client/server model– When users enter URL into Web browsers, they
request specific documents from Web server– Maps URL to file on server and returns requested
document to client– Communicates with client using HTTP
• Protocol for transferring requests and files over the Internet
4
HTTP Request Types
• Also known as request methods• Most popular are get and post
– Retrieve and send client form data to Web server– get request
• Sends form content as part of URL• Retrieves appropriate resource from Web server• Limits query to 1024 characters
– post request• Updates contents of Web server (posting new messages to
forum)• Has no limit for length of query• Not part of URL and cannot be seen by user
5
HTTP Request Types
• get and post requests are sent to a server-side form handler
• Client browsers cache (save on disk) Web pages– Allows for quick reloading
– Cache responses to get request– Do not cache responses to post request
6
System Architecture
• A web server forms part of a multi-tier application– Divide functionality into separate tiers
• Logical groupings of functionality• Can reside on same computer or on different
computers
• What does a 3-tier architecture look like?– let’s have a look
7
System Architecture
ApplicationMiddle tier
Information tier
Client tier
Database
8
System Architecture
• Client tier– Referred to as the top tier– Application’s user interface– Users interact with application through user
interface– Interacts with middle tier to make requests and
to retrieve data from information tier– Displays data to user
9
System Architecture
• Information tier– Referred to as data tier or bottom tier– Maintains data for application– Stores data in relational database management
system
• Middle tier– Implements business logic and presentation logic– Controls interactions between application clients
and application data– Acts as intermediary between data in information
tier and application clients
10
System Architecture
• Middle tier, cont.– Controller logic
• Processes client requests from top tier• Retrieves data from database
– Presentation logic• Processes data from information tier• Presents content to client
– Business logic• Enforces business rules
– Dictates how clients can access application data and how applications process data
• Ensures data validity before updating database
11
Accessing Web Server
• Requesting documents– Must know machine name on which Web server
resides– Through local Web servers or remote Web servers– Through domain name or Internet Protocol (IP)
address
• Local Web server– Resides on users’ machines– Requests documents in two ways
• Machine name• localhost
– Host name that references local machine
12
Accessing Web Server
• Remote Web server– Resides on different machines– Accessing resources on remote web server
requires• Domain name
– Represents group of hosts on Internet– Combines with how name (www) and top-level domain to from
fully qualified host name
• Fully qualified host name– Provides user friendly way to identify site on Internet
• IP address– Unique address for locating computers on Internet
• DNS (see notes)
13
Examples of Web Servers
• Apache (Apache group)
• Tomcat (Apache group)• IIS (Microsoft Internet Information
Services)• PWS (Microsoft Personal Web Server)
14
Apache web server
• Apache– Maintained by Apache Software Foundation– Currently most popular Web server
• Stable
• Efficient• Portable
• (got it’s name from the original developers who called it ‘a patchy server’)
15
Apache web server
• Open source– Freely distributed on the Internet– Huge amount of end-user support– Has earned the reputation of being one of the
most reliable web server available
• Uses server modules to add functionality to the core HTTP server– i.e. extra services that it can provide (e.g.
security authentication)
16
Apache web server
• To launch Apache, successively select – Start, Programs, Apache httpd Server, Control
Apache Server and Start
17
Tomcat web server
• Tomcat– Similar to Apache and also maintained by
Apache Software Foundation– Fast becoming a popular Web server– Built in Servlet container (engine)– Requires no add-ons to support Servlets
18
Tomcat web server
• To launch Tomcat, successively select – Start, Programs, Apache Tomcat 4.x and Start
Tomcat
19
Internet Information Services (IIS) web server
• Developed by Microsoft
• IIS 5.0– Enterprise-level Web server– Included with Windows 2000
– Allows computer to serve documents
• Uses an Internet Services Manager to administrate– see diagram
20
Internet Information Services (IIS) web server
Internet Services Manager dialog.
21
Personal Web Server (PWS)
• PWS developed by Microsoft• PWS
– Scaled-down version of IIS– Intended for personal computers (PC)– Ideal for educational institutions, small
businesses and individuals– Does not require PC to be used exclusively as
Web server– A Personal Web Manager is used to
administrate it
22
Personal Web Server
Personal Web Manager dialog.
23
References
• Check out– http://www.apache.org
• Apache and Tomcat documentation• Apache and Tomcat are free to download and install
– http://www.microsoft.com• IIS and PWS documentation
24
Summary
• We have looked at:– Introduction to web servers
– HTTP request types– 3-tier system architecture– Accessing a web server (local and remote)– Web server examples