Validation Controls Dr. Awad Khalil Computer Science & Engineering Department AUC
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
-
Upload
gerard-lawson -
Category
Documents
-
view
216 -
download
0
Transcript of 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
![Page 1: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/1.jpg)
1
Web Server Concepts
Dr. Awad Khalil
Computer Science Department
AUC
![Page 2: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/2.jpg)
2
Web Servers (IIS, PWS and Apache)
Outline1. Introduction2. HTTP Request Types3. System Architecture4. Client-Side Scripting versus Server-Side Scripting5. Accessing Web Servers6. Microsoft Internet Information Services (IIS)7. Microsoft Personal Web Server (PWS)8. Apache Web Server9. Requesting Documents
XHTML ASP Perl Python PHP
![Page 3: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/3.jpg)
3
Introduction
• Web server– Specialized software that responds to client requests by
providing resources
– 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
• Introduce three Web servers (Fig.1)– Internet Information Services (IIS), Personal Web Server
(PWS) and Apache Web Server
![Page 4: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/4.jpg)
4
Introduction
IIS PWS Apache
Company Microsoft Corporation
Microsoft Corporation
Apache Software Foundation
Version 5.1 4.0 1.3.20
Released 2/17/00 12/4/97 5/21/01
Platforms Windows 2000 Windows XP
Windows 95/98/ Millennium Edition (Me)/NT
UNIX, Windows NT/2000, experimentally supports Windows 95/98
Brief description
The most popular Web server for Windows 2000 & XP
A basic Web server for publishing personal Web pages.
Currently the most popular Web server.
Price Included with Windows 2000 & XP
Freeware. Packaged with Microsoft IIS in NT 4.0 Option Pack. Also included in Windows 98.
Freeware.
Fig. 1 Web servers discussed in this chapter.
![Page 5: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/5.jpg)
5
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
![Page 6: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/6.jpg)
6
HTTP Request Types (Cont’d)
• Posts data to server-side form handler • Browsers cache (save on disk) Web pages
– Allows for quick reloading
– Cache responses to get request
– Do not cache responses to post request
![Page 7: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/7.jpg)
7
System Architecture
• Web server part of multi-tier application– Divide functionality into separate tiers
• Logical groupings of functionality
• Can reside on same computer or on different computers
• Following diagrams illustrates 3-tier application
![Page 8: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/8.jpg)
8
System Architecture (Cont’d)
ApplicationMiddle tier
Information tie r
C lient tie r
Database
Fig. 2 Three-tier application model.
![Page 9: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/9.jpg)
9
System Architecture (Cont’d)
• 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
![Page 10: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/10.jpg)
10
System Architecture (Cont’d)
• 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
![Page 11: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/11.jpg)
11
System Architecture (Cont’d)
• Client tier– Referred to as 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
![Page 12: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/12.jpg)
12
Client-Side Scripting versus Server-Side Scripting
• Client-side scripting– Validates user input
– Accesses the browser
– Enhances Web pages with ActiveX® controls, applets, etc.
– Manipulates browser documents
• Client-side validation– Reduces number of requests that need to be passed to server
• Client-side scripting limitations– Browser dependency
– Viewable to users through View Source command
• JavaScript most popular client-side script
![Page 13: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/13.jpg)
13
Client-Side Scripting versus Server-Side Scripting (Cont’d)
• Server-side scripts– Provides programmers greater flexibility
– Generates custom responses for clients
– Contains greater programmatic capabilities than client-side equivalents
– Has access to server-side software that extend server functionality
![Page 14: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/14.jpg)
14
Accessing Web Servers
• 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
![Page 15: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/15.jpg)
15
Accessing Web Servers (Cont’d)
• Remote Web server– Resides on different machines
• Domain name– Represents group of hosts on Internet
– Combines with how name (www) and top-level domain to from fully qualified host name
• Top-level domain (TLD)– Describes type of organization that owns domain name
• .com or .org
• Fully qualified host name– Provides user friendly way to identify site on Internet
![Page 16: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/16.jpg)
16
Accessing Web Servers (Cont’d)
• IP address– Unique address for locating computers on Internet
• Domain name server (DNS)– Maintains database of host names and corresponding IP
addresses
– Translates fully qualified host name to IP address• Known as DNS lookup
![Page 17: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/17.jpg)
17
Microsoft Internet Information Services (IIS)
• IIS 5.1– Enterprise-level Web server
– Included with Windows 2000 & Windows XP
– Allows computer to serve documents
• Internet Services Manager (Fig. 3)– Open Control Panel, double click Administrative Tools
icon, then double click Internet Services Manager icon
– Administration program for IIS
– Place documents to be requested in default directory or virtual directory
• Default: C:\Inetpub\Wwwroot• Virtual: alias for existing directory on local machine
![Page 18: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/18.jpg)
18
Microsoft Internet Information Services (IIS)
Fig. 3 Internet Services Manager dialog.
![Page 19: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/19.jpg)
19
Microsoft Internet Information Services (IIS)
• Default FTP Site and Default Web Site– Permit transferring documents between computer and server
– HTTP used frequently to request documents
• Default SMTP Virtual Server– Allows for creation of mail server
• Create virtual directory in Default Web Site– Most Web documents reside in Webpub directory
• Right click Webpub, select New, then Virtual Directory• Initiates Virtual Directory Creation Wizard (Fig. 4)
– Guides user through virtual directory creation process
![Page 20: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/20.jpg)
20
Microsoft Internet Information Services (IIS)
Fig. 4 Virtual Directory Creation Wizard welcome dialog.
![Page 21: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/21.jpg)
21
Microsoft Internet Information Services (IIS)
• Virtual Directory Alias (Fig. 5)– Enter name for virtual directory
• Name should not conflict with an existing virtual directory
• Web Site Content Directory (Fig. 6)– Enter path of directory containing Web documents
• Access Permissions (Fig. 7)– Presents security level choices
– Select access level appropriate for Web document
![Page 22: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/22.jpg)
22
Microsoft Internet Information Services (IIS)
Fig. 5 Virtual Directory Alias dialog.
![Page 23: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/23.jpg)
23
Microsoft Internet Information Services (IIS)
Fig. 6 Web Site Content Directory dialog.
![Page 24: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/24.jpg)
24
Microsoft Internet Information Services (IIS)
• Access Permissions (Fig. 7)– Presents security level choices
– Select access level appropriate for Web document
– Read allows users to read and download files
– Run Scripts allows scripts to run in directory
– Execute allows applications to run in directory
– Write allows Web page to accept user input
– Browse allows users to navigate between documents
– Read and Run Scripts selected by default
![Page 25: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/25.jpg)
25
Microsoft Internet Information Services (IIS)
Fig. 7 Access Permissions dialog.
![Page 26: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/26.jpg)
26
Microsoft Personal Web Server (PWS)
• 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
• Personal Web Manager (Fig. 8)– Administration program for PWS
– Place documents to be requested in default directory or virtual directory
• Default: C:\Inetpub\Wwwroot• Virtual: alias for existing directory on local machine
![Page 27: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/27.jpg)
27
Microsoft Personal Web Server (PWS)
Fig. 8 Personal Web Manager dialog.
![Page 28: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/28.jpg)
28
Microsoft Personal Web Server (PWS)
• Edit Directory (Fig. 9)– Directory field
• Enter directory path that contains Web documents
– Alias field• Enter name to virtual directory
– Access section• Select security level for virtual directory
• Read allows users to read and download files
• Execute allows applications to run in directory
• Scripts allows scripts to run in directory
• Read and Scripts selected by default
![Page 29: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/29.jpg)
29
Microsoft Personal Web Server (PWS)
Fig. 9 Creating a virtual directory in PWS in Edit Directory.
![Page 30: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/30.jpg)
30
Apache Web Server
• Apache– Maintained by Apache Software Foundation
– Currently most popular Web server• Stable
• Efficient
• Portable
– Successively select Start, Programs, Apache httpd Server, Control Apache Server and Start (Fig. 10)
![Page 31: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/31.jpg)
31
Apache Web Server
Fig. 10 Starting the Apache Web server. (Courtesy of The Apache Software Foundation.)
![Page 32: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/32.jpg)
32
Requesting Documents
• Demonstrate requesting five different documents– XHTML, Active Server Pages (ASP), Perl, Python and PHP
– Discuss serving these documents using IIS, PWS and Apache
![Page 33: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/33.jpg)
33
XHTML
• IIS, PWS and Apache support XHTML• IIS or PWS
– Copy test.html into directory that references virtual directory
– Launch Internet Explorer and enter XHTML document’s location in Address field (Figs. 11 and 12)
• Apache– Copy test.html to htdocs directory (default directory)
– Launch Internet Explorer and enter XHTML document’s location in Address field (Fig. 13)
![Page 34: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/34.jpg)
34
XHTML
Fig. 21.11 Requesting test.html from IIS.
Fig. 12 Requesting test.html from PWS.
Notice different URL’s in Address fieldlocalhost references local machineFor IIS, we created virtual directory in Webpub directory
![Page 35: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/35.jpg)
35
XHTML
Fig. .13 Requesting test.html from Apache.
Since htdocs is the default directory, we do not need to enter directory name in URL
![Page 36: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/36.jpg)
36
ASP
• IIS and PWS support ASP documents• IIS and PWS
– Copy test.asp into directory that references virtual directory
– Launch Internet Explorer and enter ASP document’s locations in Address field (Figs. 14 and 15)
• Apache – Does not support ASP documents
![Page 37: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/37.jpg)
37
ASP
Fig. 14 Requesting test.asp from IIS.
Fig. 15 Requesting test.asp from PWS.
![Page 38: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/38.jpg)
38
Perl
• IIS, PWS and Apache support Perl documents• IIS and PWS
– Copy test.pl into directory that references virtual directory
– Launch Internet Explorer and enter Perl document’s location in Address field (Figs. 16 and 17)
• Apache– Copy test.pl to cgi-bin directory
• Perl documents must reside in this directory
– Launch Internet Explorer and enter Perl document’s location in Address field (Fig. 18)
![Page 39: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/39.jpg)
39
Perl
Fig. 16 Requesting test.pl from IIS.
Fig. 17 Requesting test.pl from PWS.
![Page 40: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/40.jpg)
40
Perl
Fig. 18 Requesting test.pl from Apache.
cgi-bin is required in URL; it is not default directory
![Page 41: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/41.jpg)
41
Python
• IIS, PWS and Apache support Python documents• IIS and PWS
– Copy test.py into directory that references virtual directory
– Launch Internet Explorer and enter Python document’s location in Address field (Figs. 19 and 20)
• Apache– Copy test.py to cgi-bin directory
• Python documents must reside in this directory
– Launch Internet Explorer and enter Python document’s location in Address field (Fig. 21)
![Page 42: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/42.jpg)
42
Python
Fig. 19 Requesting test.py from IIS.
Fig. 20 Requesting test.py from PWS.
![Page 43: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/43.jpg)
43
Python
Fig. 21 Requesting test.py from Apache.
![Page 44: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/44.jpg)
44
PHP
• IIS, PWS and Apache support PHP documents• IIS and PWS
– Copy test.php into directory that references virtual directory
– Launch Internet Explorer and enter PHP document’s location in Address field (Figs. 22 and 23)
• Apache– Copy test.php to htdocs directory
– Launch Internet Explorer and enter PHP document’s location in Address field (Fig. 24)
![Page 45: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/45.jpg)
45
PHP
Fig. 22 Requesting test.php from IIS.
Fig. 23 Requesting test.php from PWS.
![Page 46: 1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.](https://reader035.fdocuments.in/reader035/viewer/2022062717/56649e265503460f94b15478/html5/thumbnails/46.jpg)
46
PHP
Fig. 24 Requesting test.php from Apache.