DT211/3 Internet Development Application Web Servers.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

DT228/3 Web Development WWW and Client server model.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 21 – Web Servers (IIS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 21 – Web Servers (IIS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Server-Side vs. Client-Side Scripting Languages
The Web The World Wide Web What does it do?.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
DT211/3 Internet Development Application Internet Development Application.
Introduction to Web Interface Technology (CSE2030)
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Definitions, Definitions, Definitions Lead to Understanding.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
 2008 Pearson Education, Inc. All rights reserved Web Servers (IIS and Apache)
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
17 Web Servers (Apache and IIS)
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
1 Web Servers (IIS and Apache) Outline 9.1 Introduction 9.2 HTTP Request Types 9.3 System Architecture 9.4 Client-Side Scripting versus Server-Side Scripting.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Web Server A software program or server computer equipped to offer World Wide Web access. Web servers allow you to serve content over the Internet using.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Bookstore Web Application Introducing Visual Web Developer 2008 Express and the.
Human-Computer Interface Course 5. ISPs and Internet connection.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Chapter 1: Introduction to Web
FTP (File Transfer Protocol) & Telnet
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 21 - Web Servers (IIS, PWS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3.
M1G Introduction to Database Development 6. Building Applications.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
 2004 Prentice Hall, Inc. All rights reserved. 1 Segment – 6 Web Server & database.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
1 Welcome to CSC 301 Web Programming Charles Frank.
NETWORK HARDWARE AND SOFTWARE MR ROSS UNIT 3 IT APPLICATIONS.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
 2008 Pearson Education, Inc. All rights reserved. Chapter 17 Web Servers (Apache and IIS) Internet & World Wide Web How to Program, 5/e.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Web Server.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
Introduction and Principles Web Server Scripting.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
WEB SERVER SOFTWARE FEATURE SETS
JavaScript and Ajax (Internet Background) Week 1 Web site:
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Web Server Administration Chapter 6 Configuring a Web Server.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Web and Proxy Server.
Web Technology Seminar
Technologies and Applications
JavaScript and Ajax (Internet Background)
Web Development Web Servers.
CNIT 131 Internet Basics & Beginning HTML
PHP / MySQL Introduction
IS333D: MULTI-TIER APPLICATION DEVELOPMENT
Web Servers (IIS and Apache)
Web Application Development Using PHP
Presentation transcript:

DT211/3 Internet Development Application Web Servers

Introduction Web Browse r Client Web Server A web server is specialised software that responds to client (I.e. web browser) requests Every web site requires a web server to process client requests and ‘serve up’ the pages Web servers used to service Internet, intranets and extranets Note that web server in this context is software. Server machine is also referred to as the web server.

System architecture A web server is part of a multi-tier application (also called n-tier application Functionality is divided into separate tiers or groupings Tiers can be on same computer or on separate computers Web applications are often three tiered: Information tier (also called data tier) Middle tier Client tier (user interface tier)

Common web system architecture Web Browse r Application tier Database Client tier Middle tier Information tier Application User interface. The client interacts with the middle tier to make requests and to retrieve data from the information tier Controls the interactions between the application clients and application data. Enforces business rules. implements presentation logic. Web server typically supports this tier. Maintains data for the application. Data typically stores in a relational database management system (RDBMS)

Hyper Text Transfer Protocol Resources: Databases Application e.g. “Get me a webpage” “Post this data to the server” Request e.g. “here’s the web page” Response Basic function of web server is to act as HTTP server Web servers communicate with clients using a Response-Request protocol: HTTP Web Browse r Client Web Server

A request is generated by a client (by browser software) - Most common requests are “Get” and “Post” Request reaches the appropriate web-server Request is processed by the web-server A response is formulated by the web server and sent back to the client (e.g. web page contents) Client-Server model and HTTP

HTTP is the de facto standard for transferring World Wide Web documents Usually to port 80 HTTP messages (requests and responses) between client and server are human readable

Request –Get resource –Type of browser –Name of host –etc First line is request-line. Contains the nature of the Request e.g. –GET: Get a file from the server –POST: Post data to the server –PUT: Store some resource Http: Requests from client

Http: Requests from client: HTML Examples Word to look up: HTML code for a form Indicates a post request Data in form is posted to the server

Http: Requests from client: HTML Examples Word to look up: HTML code for a form Indicates a get request Not usually used for forms Sends any parameters in the query string as etc

Http: Response from web server Response –200 = Status code All’s well –Type of server –Other contents etc HTTP/ OK Date: Thu, 22 July :40:55 GMT Server: Apache (Unix) PHP/3.0.6 Last-Modified: Mon, 19 July :03:22 GMT Content-Type: text/html Content-Length:

HTTP Response Status Codes 1XX: Provide information to the client 2XX: Correct response has occurred. 3XX: Browser must carry out some further action in order for the request to be successful. For example, the code 301 indicates that the resource that was requested has been permanently moved to another location. 4XX: Something has gone wrong; for example, the most frequent status code that is returned is 404 which indicates that the resource that has been requested cannot be found. 5XX: Server has experienced a problem. For example, the status code 503 indicates that the service requested has not been able to be carried out.

Accessing web servers Must know host name on which web server resides Remote web servers accessed using URL: OR IP address Local web servers (on same machine) accessed using machine name or localhost Protocol Domain name Page name

web server functionality HTTP Server (at a minimum) But usually includes many other functions such as: File Transfer Protocol (FTP) server Simple Mail Transfer Protocol (SMTP) server (for ) Web development and publishing functionality Support for specific server side technologies e.g. JSP, SSIs Security features And more

Leading web servers Server VendorComment IIS (Internet Information Server) MicrosoftBundled with Windows operating system. Supports Active Server Pages ApacheFreewareFree. Most used web server. Netscape Free. High performance. Compatible with Unix or Windows OSs

Leading web servers Server VendorComment DominoIBMSupports multiple operating systems. About $500 ONE webserver SUNCost about $1500. Supports multiple operating systems. Plus hundreds more…. E.g. Blazix See Sambar FreewareFree Zeus About $1,500

Market Share for Web Servers DeveloperJuly 2005PercentAugust 2005PercentChange Apache Microsoft Sun Zeus Source: 70 million domains surveyed

Market Share for Web Servers DeveloperAugust 2006PercentSeptember 2006PercentChange Apache Microsoft Zeus Sun Source: 96 million domains surveyed

Web server market share top 1000 companies Source: May 2005http:// Survey of top 1000 companies Conclusions?

Comparisons Source: serverwatch.com Server PerformanceReliability IIS 9 9 Ease of UseSupport 88 Apache Netscape Sambar (features)features

Selecting a web server Various criteria Performance e.g. how many client requests per second can be processed? Load balancing? Ease of Use How easy to set up, administer, learn? Support What support is provided by the vendor? Reliability How robust is the web server? How liable to crash? How easily recovered?

Selecting a web server (cont.) Functionality server side techologies supported? (as add-ons? – e.g. TomCat for Apache) e.g. ASP? JSP? CGI? etc Logging Proxy server Price How must does it cost to buy and maintain? Operating system What operating system(s) does the web server support? Security What security functionality is offered? e.g. SSL? See for examples of assessments

Proxy servers Proxy server: specific purpose web server: In an enterprise that uses the Internet, the proxy server is like a “buffer” between user computers’ and the Internet. The proxy server sits between the users’ workstations and the Internet so that the enterprise can ensure security and improved performance. It intercepts all requests to the real server to see if it can fulfill the requests itself. If not, it forwards the request to the real server.

Proxy Servers Improved performance -  caching reduces external requests (View/Refresh forces external request) Security  filters requests/ firewall

Web servers More details on examples of web servers IIS Apache Blazix

Internet Information Server IIS – supplied by Microsoft Enterprise level web server Popular with large corporations Must run on Windows operating system Usually associated with web applications built using Active Server Pages Also supports CGI and Server side includes Scaled down version of IIS is called Personal Web Server (PWS) – good for small businesses, individuals

Apache web server Most popular web server (almost 70% of all web sites use it – Apache.org July 2005 ) Freeware. Frequent updates. Maintained by the Apache Software Foundation - Website Welcome! - The Apache Software Foundation.htm Welcome! - The Apache Software Foundation.htm Runs on Unix, Linux and Windows operating systems Supports a range of server-side technologies, but can require additional software installation To support Java server pages, need Tomcat with Apache

Blazix web server Lightweight web server (about 1.5M) Supports java technologies (JSP, servlets etc Similar to Tomcat in configuration and interface see directories.. Freeware Limited support Available at

Question Development selecting a new web server: Currently using websites built in JSP, running on Blazix web server, running on Linux servers. The number of users is trebling every two months and they now want to upgrade to an industry standard web server. Their parent company uses Internet Information Server and would like them to use IIS Considerations? Issues?