Apache Web Server Architecture Chaitanya Kulkarni MSCS 521 23 rd April 2008 4/23/20081Apache Web Server Architecture.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
© 2010, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet 1.
The Apache Web Server  Started in April 1996 as an open source multiplatform web server (Windows, FreeBSD, UNIX, and Linux compatible).  Now the world’s.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Introduction to Web Interface Technology (CSE2030)
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Web Page A page displayed by the browser. Website Collection of multiple web pages Web Browser: A software that displays web pages on client computer.
Linux Operations and Administration
INTRODUCTION TO WEB DATABASE PROGRAMMING
Web Server Configuration Alokes Chattopadhyay Computer & Informatics Centre IIT Kharagpur.
Computer Concepts 2014 Chapter 7 The Web and .
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Applets & Servlets.
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 .
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
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.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
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.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
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.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
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,
1 Apache and... Virtual Hosts ---- aliases mod_rewrite ---- htaccess AFNOG X Cairo, Egypt May 2009 Hervey Allen.
1 Session 1: Introduction to PHP & MySQL iNET Academy Open Source Web Development.
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
IIS and.Net security -Vasudha Bhat. What is IIS? Why do we need IIS? Internet Information Services (IIS) is a Web server, its primary job is to accept.
Web Server.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Unit 1 – Web Concepts Instructor: Brent Presley.
APACHE -By V.Gouthaman. The Apache HTTP Server, commonly referred to as Apache is web server software notable for playing a key role in the initial growth.
By Ruizhe Ma, Avinash Madineni Sidoine Lafleur Kamgang Nov,
BZUPAGES.COM WEB SERVER PRESENTED TO: SIR AHMAD KAREEM.
Introduction. Internet Worldwide collection of computers and computer networks that link people to businesses, governmental agencies, educational institutions,
CGS 3066: Web Programming and Design Spring 2016 Introduction to Server-Side Programming.
APACHE Apache is generally recognized as the world's most popular Web server (HTTP server). Originally designed for Unix servers, the Apache 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.
Chapter 13 Web Application Infrastructure
Applications Active Web Documents Active Web Documents.
WWW and HTTP King Fahd University of Petroleum & Minerals
Netscape Application Server
CISC103 Web Development Basics: Web site:
Warm Handshake with Websites, Servers and Web Servers:
Processes The most important processes used in Web-based systems and their internal organization.
Developing Web-Based Applications
Unit 6-Chapter 2 Struts.
PHP / MySQL Introduction
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Web Page Concept and Design :
Web Servers (IIS and Apache)
Presentation transcript:

Apache Web Server Architecture Chaitanya Kulkarni MSCS rd April /23/20081Apache Web Server Architecture

What is “the web”? A collection of cross-linked “websites” A set of “web” technologies The consistent use of URIs to represent resources HTTP, HTML, and everything built around them Every person's cheap’n’easy client- server computing 4/23/20082Apache Web Server Architecture

What is a Server? A server is a computer or device on a network that manages network resources. Most servers are dedicated. This means that they perform only one task rather than multiple tasks. On multiprocessing operating systems, however, a single computer can execute several programs at once. A server in this case could refer to the program that is managing resources rather than the entire computer. 4/23/20083Apache Web Server Architecture

What is Web Server ? A computer program that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and linked objects (images, etc.). 4/23/20084Apache Web Server Architecture

A brief history of Apache (1) First viable alternative to Netscape Communications Corporation web server It is an open-source software with cross-platform functionality. First version was created by Robert McCool 4/23/20085Apache Web Server Architecture

A brief history of Apache (2) Named Apache because:- Out of respect for the Native American Indian tribe of Apache due to the project's roots as a set of patches to the codebase of NCSA HTTPd making it "a patchy" server. Chief competitors include Microsoft’s IIS and Sun Java Systems Web Server 4/23/20086Apache Web Server Architecture

A brief history of Apache (3) Apache is used by giants like:- Google Web Servers Wikimedia The Apache License allows for the distribution of both open and closed source derivations of the source code. The name Apache is a registered trademark. 4/23/20087Apache Web Server Architecture

Apache Server Architecture(1) Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. 4/23/20088Apache Web Server Architecture

Apache Server Architecture(2) Popular compression methods on Apache include the external extension module, mod_gzip, implemented to help with reduction of the size (weight) of web pages served over HTTP. The core of a Apache Server implements the basic functionality of the server. In addition it implements a number of utility functions 4/23/20089Apache Web Server Architecture

Core Component (1) Following are the components of the Apache core: http_protocol.c http_main.c http_request.c http_core.c 4/23/200810Apache Web Server Architecture

Picture Depicting the Core Component 4/23/200811Apache Web Server Architecture

How Requests are Handled?(1) URI to filename translation. Check access based on host address, and other available information Get an user id from the HTTP request and validate it Authorize the user 4/23/200812Apache Web Server Architecture

How Requests are Handled?(2) Determine the MIME type of the requested object (the content type, the encoding and the language). Fix-ups (for example replace aliases by the actual path). Send the actual data back to the client. Log the request. 4/23/200813Apache Web Server Architecture

Architecture of an Apache Module Picture Depicting Apache Module Architecture. 4/23/200814Apache Web Server Architecture

The concept of a Handler A handler is for Apache the action that must be performed in some phase of servicing the request They are defined by modules. A module might specify handlers for one, many or none of the phases of the request 4/23/200815Apache Web Server Architecture

Persistent Server Processes ‘Persistent Server Processes’ is a concept that explains the implementation of Concurrency in Apache. To handle large incoming requests to website TCP/IP servers fork a new child to handle new incoming request from clients. However in the situation of a busy web site the overhead of forking a huge number of children will simply suffocate the machine. 4/23/200816Apache Web Server Architecture

Persistent Server Processes contd.. To solve this problem Apache uses Persistent Server Process. It forks a fixed number of children, right from the beginning. The children service incoming requests independently (different address spaces). It is interesting that Apache server can dynamically control the number of children it forks (i.e. increasing or decreasing it), based on current load. 4/23/200817Apache Web Server Architecture

Picture depicting concurrency in Apache. 4/23/200818Apache Web Server Architecture

Configure Apache Web Server The configuration details are given at this site. this site We have to first configure the DNS. Then configure the following file /etc/httpd/conf/httpd.conf. The root directory of Web server is /etc/httpd, which is divided into three parts. 4/23/200819Apache Web Server Architecture

Configure Apache Web Server contd.. The three parts are: /etc/httpd/conf (where configuration files stays) /etc/httpd/logs (where the logs of Web server and site accessing stay) /etc/httpd/modules (where the module stays, which enables the server side programmer to do programming in the languages supported by Web server) 4/23/200820Apache Web Server Architecture

Apache Usage. Apache is primarily used to serve both static content and dynamic Web pages on the World Wide Web. Many web applications are designed expecting the environment and features that Apache provides. Apache is the web server component of the popular LAMP web server application stack, alongside MySQL, and the PHP/Perl/Python programming languages. 4/23/200821Apache Web Server Architecture

Apache License The Apache License is a free License authored by Apache Software Foundation or ASF. It allows use of the source code for the development of free and open-source software as well as free software. It is compatible only with the version 3 of GNU Public License or GPL. 4/23/200822Apache Web Server Architecture

Reference material Apache License Apache Server Architecture sp01/papers/Concept_Apache_Arch.htm 4/23/200823Apache Web Server Architecture

Concluding remarks Apache Web Server has a modular architecture. The core provides the basic functionality and separate set of supporting modules for handling HTTP requests. Implicit Invocation is the architectural style. Concurrency exists only between persistent identical processes that service incoming HTTP requests on the same port. Functionality is easily changed by writing new or editing existing modules. 4/23/200824Apache Web Server Architecture