SlideShare a Scribd company logo
Apache Web Server Architecture Chaitanya Kulkarni [email_address] MSCS 521  23 rd  April 2008 4/23/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache 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 1.3 - making it "a patchy" server. Chief competitors include Microsoft’s IIS and Sun Java Systems Web Server 4/23/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache Web Server Architecture
Picture Depicting the Core Component 4/23/2008 Apache 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/2008 Apache Web Server Architecture
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. How Requests are Handled?(2)  4/23/2008 Apache Web Server Architecture
Architecture of an Apache Module Picture Depicting Apache Module Architecture. 4/23/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache Web Server Architecture
Picture depicting concurrency in Apache. 4/23/2008 Apache Web Server Architecture
Configure Apache Web Server The configuration details are given at  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/2008 Apache 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/2008 Apache 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/2008 Apache 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/2008 Apache Web Server Architecture
Reference material Apache License http://en.wikipedia.org/wiki/Apache_License  Apache Server Architecture http://www.cs.ucsb.edu/~tve/cs290i-sp01/papers/Concept_Apache_Arch.htm 4/23/2008 Apache 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/2008 Apache Web Server Architecture

More Related Content

What's hot (20)

PPSX
HTTP Presentation
Lana Dujanovic
 
PPT
Apache ppt
Sanmuga Nathan
 
PDF
Tailwind CSS - KanpurJS
Naveen Kharwar
 
PPT
Dns ppt
Bizuworkk Jemaneh
 
PDF
Configuring the Apache Web Server
webhostingguy
 
PPTX
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
PMC WEB
 
PPTX
Linux standard file system
Taaanu01
 
PPT
Web servers – features, installation and configuration
webhostingguy
 
PPSX
Web server
Nirav Daraniya
 
PPTX
HTTP
vaibhavrai1993
 
PDF
CCNA Notes
Naqeeb Ullah Kakar
 
PDF
Web hosting presentations by hostindia.net
Hostin Services Pvt Ltd
 
PPT
Bypass file upload restrictions
Mukesh k.r
 
PPSX
Lesson 6: Dynamic Host Configuration Protocol A
Mahmmoud Mahdi
 
PPS
Linux05 DHCP Server
Jainul Musani
 
PPTX
Web server
Ankit Raj
 
PPTX
Http
Luavis Kang
 
PPTX
Server Side Programming
Milan Thapa
 
PPTX
HTTP
altaykarakus
 
PPT
File inclusion attack(nop thay)
phanleson
 
HTTP Presentation
Lana Dujanovic
 
Apache ppt
Sanmuga Nathan
 
Tailwind CSS - KanpurJS
Naveen Kharwar
 
Configuring the Apache Web Server
webhostingguy
 
GIỚI THIỆU CÁC DẠNG MÁY CHỦ SERVER
PMC WEB
 
Linux standard file system
Taaanu01
 
Web servers – features, installation and configuration
webhostingguy
 
Web server
Nirav Daraniya
 
CCNA Notes
Naqeeb Ullah Kakar
 
Web hosting presentations by hostindia.net
Hostin Services Pvt Ltd
 
Bypass file upload restrictions
Mukesh k.r
 
Lesson 6: Dynamic Host Configuration Protocol A
Mahmmoud Mahdi
 
Linux05 DHCP Server
Jainul Musani
 
Web server
Ankit Raj
 
Server Side Programming
Milan Thapa
 
File inclusion attack(nop thay)
phanleson
 

Viewers also liked (20)

PPTX
Web (HTTP) request to response life cycle
Gopakumar Kunduveetil
 
PDF
Penetration testing
Ammar WK
 
PPT
Smarty sharing-2
Ondo Simanjuntak
 
KEY
Geek Moot '09 -- Smarty 101
Ted Kulp
 
KEY
Cmsms, open source & business model
Jean-Christophe Cuvelier
 
PDF
세션 하이재킹
Yu Yongwoo
 
PPT
Hacking A Web Site And Secure Web Server Techniques Used
Siddharth Bhattacharya
 
PPTX
Telecommunication system
Jamilah Abbas
 
PPT
Web Server Technologies I: HTTP & Getting Started
Port80 Software
 
PPTX
Testing RESTful web services with REST Assured
Bas Dijkstra
 
PPT
Web Cookies
apwebco
 
PDF
Nmap scripting engine
n|u - The Open Security Community
 
PPTX
Cookie and session
Aashish Ghale
 
PPSX
Sessions and cookies
www.netgains.org
 
PDF
Web Server Hardening
n|u - The Open Security Community
 
PPT
Mvc architecture
Surbhi Panhalkar
 
PPT
Cookies and sessions
Lena Petsenchuk
 
PPTX
REST & RESTful Web Services
Halil Burak Cetinkaya
 
PDF
Hacking With Nmap - Scanning Techniques
amiable_indian
 
PDF
Basics of telecommunication and networking
Milan Padariya
 
Web (HTTP) request to response life cycle
Gopakumar Kunduveetil
 
Penetration testing
Ammar WK
 
Smarty sharing-2
Ondo Simanjuntak
 
Geek Moot '09 -- Smarty 101
Ted Kulp
 
Cmsms, open source & business model
Jean-Christophe Cuvelier
 
세션 하이재킹
Yu Yongwoo
 
Hacking A Web Site And Secure Web Server Techniques Used
Siddharth Bhattacharya
 
Telecommunication system
Jamilah Abbas
 
Web Server Technologies I: HTTP & Getting Started
Port80 Software
 
Testing RESTful web services with REST Assured
Bas Dijkstra
 
Web Cookies
apwebco
 
Nmap scripting engine
n|u - The Open Security Community
 
Cookie and session
Aashish Ghale
 
Sessions and cookies
www.netgains.org
 
Web Server Hardening
n|u - The Open Security Community
 
Mvc architecture
Surbhi Panhalkar
 
Cookies and sessions
Lena Petsenchuk
 
REST & RESTful Web Services
Halil Burak Cetinkaya
 
Hacking With Nmap - Scanning Techniques
amiable_indian
 
Basics of telecommunication and networking
Milan Padariya
 
Ad

Similar to Apache Web Server Architecture Chaitanya Kulkarni (20)

PPT
Apache web-server-architecture
IvanGeorgeArouje
 
PPT
5-WebServers.ppt
webhostingguy
 
PDF
Introduction to Apache Web Services using latex
Manash Kumar Mondal
 
PPT
5-WebServers.ppt
webhostingguy
 
PPT
By: Luis A. Colón Anthony Trivino
webhostingguy
 
PPT
Ch 22: Web Hosting and Internet Servers
webhostingguy
 
PPTX
Web Server And Database Server
Mahbubur Rahman
 
PPT
Apache
jtpond
 
ODP
Apache ppt
Reka
 
ODP
Babitha.4appach
banubabitha
 
ODP
Babitha.4appach
banubabitha
 
ODP
Web Server-Side Programming Techniques
guest8899ec02
 
PPT
Spider Course Day 1
Harishankaran K
 
ODP
web server
nava rathna
 
PDF
Apache linuxsadsfdsfsdfdsfsdfsdfdsfsdfs.pdf
MoSalah33
 
PDF
Ajp notes-chapter-06
Ankit Dubey
 
DOC
Unit5 servlets
Praveen Yadav
 
ODP
Apache
rajikaa
 
ODP
Apache ppt
poornima sugumaran
 
PPT
21 Www Web Services
royans
 
Apache web-server-architecture
IvanGeorgeArouje
 
5-WebServers.ppt
webhostingguy
 
Introduction to Apache Web Services using latex
Manash Kumar Mondal
 
5-WebServers.ppt
webhostingguy
 
By: Luis A. Colón Anthony Trivino
webhostingguy
 
Ch 22: Web Hosting and Internet Servers
webhostingguy
 
Web Server And Database Server
Mahbubur Rahman
 
Apache
jtpond
 
Apache ppt
Reka
 
Babitha.4appach
banubabitha
 
Babitha.4appach
banubabitha
 
Web Server-Side Programming Techniques
guest8899ec02
 
Spider Course Day 1
Harishankaran K
 
web server
nava rathna
 
Apache linuxsadsfdsfsdfdsfsdfsdfdsfsdfs.pdf
MoSalah33
 
Ajp notes-chapter-06
Ankit Dubey
 
Unit5 servlets
Praveen Yadav
 
Apache
rajikaa
 
Apache ppt
poornima sugumaran
 
21 Www Web Services
royans
 
Ad

More from webhostingguy (20)

PPT
File Upload
webhostingguy
 
PDF
Running and Developing Tests with the Apache::Test Framework
webhostingguy
 
PDF
MySQL and memcached Guide
webhostingguy
 
PPT
Novell® iChain® 2.3
webhostingguy
 
PDF
Load-balancing web servers Load-balancing web servers
webhostingguy
 
PDF
SQL Server 2008 Consolidation
webhostingguy
 
PDF
What is mod_perl?
webhostingguy
 
PDF
What is mod_perl?
webhostingguy
 
PDF
Master Service Agreement
webhostingguy
 
PPT
Notes8
webhostingguy
 
PPT
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
 
PDF
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
webhostingguy
 
PPT
Managing Diverse IT Infrastructure
webhostingguy
 
PPT
Web design for business.ppt
webhostingguy
 
PPS
IT Power Management Strategy
webhostingguy
 
PPS
Excel and SQL Quick Tricks for Merchandisers
webhostingguy
 
PPT
OLUG_xen.ppt
webhostingguy
 
PPT
Parallels Hosting Products
webhostingguy
 
PPT
Microsoft PowerPoint presentation 2.175 Mb
webhostingguy
 
PDF
Reseller's Guide
webhostingguy
 
File Upload
webhostingguy
 
Running and Developing Tests with the Apache::Test Framework
webhostingguy
 
MySQL and memcached Guide
webhostingguy
 
Novell® iChain® 2.3
webhostingguy
 
Load-balancing web servers Load-balancing web servers
webhostingguy
 
SQL Server 2008 Consolidation
webhostingguy
 
What is mod_perl?
webhostingguy
 
What is mod_perl?
webhostingguy
 
Master Service Agreement
webhostingguy
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
webhostingguy
 
Managing Diverse IT Infrastructure
webhostingguy
 
Web design for business.ppt
webhostingguy
 
IT Power Management Strategy
webhostingguy
 
Excel and SQL Quick Tricks for Merchandisers
webhostingguy
 
OLUG_xen.ppt
webhostingguy
 
Parallels Hosting Products
webhostingguy
 
Microsoft PowerPoint presentation 2.175 Mb
webhostingguy
 
Reseller's Guide
webhostingguy
 

Apache Web Server Architecture Chaitanya Kulkarni

  • 1. Apache Web Server Architecture Chaitanya Kulkarni [email_address] MSCS 521 23 rd April 2008 4/23/2008 Apache Web Server Architecture
  • 2. 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/2008 Apache Web Server Architecture
  • 3. 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/2008 Apache Web Server Architecture
  • 4. 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/2008 Apache Web Server Architecture
  • 5. 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/2008 Apache Web Server Architecture
  • 6. 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 1.3 - making it "a patchy" server. Chief competitors include Microsoft’s IIS and Sun Java Systems Web Server 4/23/2008 Apache Web Server Architecture
  • 7. 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/2008 Apache Web Server Architecture
  • 8. 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/2008 Apache Web Server Architecture
  • 9. 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/2008 Apache Web Server Architecture
  • 10. 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/2008 Apache Web Server Architecture
  • 11. Picture Depicting the Core Component 4/23/2008 Apache Web Server Architecture
  • 12. 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/2008 Apache Web Server Architecture
  • 13. 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. How Requests are Handled?(2) 4/23/2008 Apache Web Server Architecture
  • 14. Architecture of an Apache Module Picture Depicting Apache Module Architecture. 4/23/2008 Apache Web Server Architecture
  • 15. 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/2008 Apache Web Server Architecture
  • 16. 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/2008 Apache Web Server Architecture
  • 17. 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/2008 Apache Web Server Architecture
  • 18. Picture depicting concurrency in Apache. 4/23/2008 Apache Web Server Architecture
  • 19. Configure Apache Web Server The configuration details are given at 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/2008 Apache Web Server Architecture
  • 20. 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/2008 Apache Web Server Architecture
  • 21. 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/2008 Apache Web Server Architecture
  • 22. 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/2008 Apache Web Server Architecture
  • 23. Reference material Apache License http://en.wikipedia.org/wiki/Apache_License Apache Server Architecture http://www.cs.ucsb.edu/~tve/cs290i-sp01/papers/Concept_Apache_Arch.htm 4/23/2008 Apache Web Server Architecture
  • 24. 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/2008 Apache Web Server Architecture