STATIC WEB PAGES
• A static web page displays the same information for all users, from all contexts or subject making
customization impossible.
• Thus, Static web pages are suitable for the contents that never or rarely need to be updated.
Static Websites - Pages
Web Pages exist as individual files
Some file types that may be familiar
MS WORD DOC.doc, .docx
MS EXCEL.xls, xlsx
ADOBE FILES: .pdf, .psd, .ai.
Digital Camera Files jpg, tiff
Examples of typical static web page files
.htm
.html
Pages typically contain text, hyper links, photos, and graphics
Pages may also contain animated or interactive media such as:
Movie Clips (YouTube etc.)
Adobe Flash Presentations
Microsoft Silverlight
Other media types
Static Website Navigation
Pages are associated with each other by a menu of links or "Navigation Menu"
Changes to the main Navigation Menu will require an edit to every web page that contains this menu.
Web development software can automate Navigation Menu maintenance, but pages will still need to be
re-published for changes to take effect.
Static Websites Publishing
Pages are published by uploading files to a Web Hosting Computer
Directly from within the development software
By transferring individual or groups of files with a File Transfer program.
Maintaining a networked folder with the Web Hosting Serve
✔ Static Web Page Files are published by physical transfer from the development PC to a Web Hosting
Computer
Dynamic Website
A server-side dynamic web page is a web page whose construction is controlled by an application server
processing server-side scripts. They can be customised according to the need of the user!
Dynamic Websites
Employ Dynamic pages that exist as files with extensions based on the type of programming used.
.jsp,.cfm, .pl, php, .asp, .aspx
Pages are Dynamic in that they can draw ever changing Content from external information sources
Pages can provide Create, Retrieve, Update, and Delete functions for company records
Pages may not require republishing
Dynamic Websites - Features
Pages are capable of providing interactivity such as:
Forms to request information or submit sales leads
Internal searches within your site
Registration and Login, personal profile maintenance, and authenticated/secure access to protected or
premium content
Dynamic Product Catalogs and online sales (Ecommerce)
Information that is already maintained within company I.T. Systems such as Databases, Spreadsheets,
and text files can be leveraged as Web Content.
Access can be granted to allow customers to maintain their own information.
Dynamic Websites - Content Management Systems
Web Content Management System (WCMS)
A web content management (WCM) system is a CMS designed to simplify the publication of Web
content to Web sites, in particular allowing content creators to submit content without requiring
technical knowledge of HTML or the uploading of files.
Dynamic Websites - CMS Features
When new web pages are added, Page Navigation Menus are maintained automatically
Many Common Interactive and Dynamic Features may be provided such as: forms, articles, blogs,
ecommerce, event calendars, forums, etc.
Pages and sub-pages may be created based on a universal design or template
Pages may have a modular design featuring panels/areas for information of certain types on select
pages
No software installation is necessary, just a web browser.
Difference between static and dynamic website
Static website
It contain fixed no. of pages.
Theme of website and content of webpage are fixed.
Static sites never use database connectivity.
It is highly secure than dynamic sites because it behave as a half duplex approach so only one way
communication is possible i.e.., server to client.
It is directly run on browser and does not require other server application language static website can be
created form html and css.
Dynamic website
it can create webpage dynamically.
Webpage design and content may change on run time
Dynamic sites deal with database and generate the contents dynamically using database quires.
Dynamic website are less secure because it behave as full duplex approach so both side communication
is possible so user can change the server data.
It run the application on server and the output will display on webpage so this is require server
application language like PHP, ASP.NET.JSP etc.
Web Server Definition
■ A Web server is a program that generates and transmits responses to client requests for Web
resources.
Handling a client request consists of several key steps:
➤ Parsing the request message
➤ Checking that the request is authorized
➤ Associating the URL in the request with a file name
➤ Constructing the response message
➤ Transmitting the response message to the requesting client
■ The server can generate the response message in a variety of ways:
➤ The server simply retrieves the file associated with the URL and returns the contents to the client.
➤ The server may invoke a script that communicates with other servers or a back-end database to
construct the response message.
Web Site versus Web Server
■ Web site and Web server are different:
➤ A Web site consists of a collection of Web pages associated with a particular hostname.
➤ A Web server is a program to satisfy client requests for Web resources.
Steps in Handling a Client Request
■ A Web server proceeds through the following steps in handling an HTTP request:
➤ Read and parse the HTTP request message for example GET the resource/foo.htm
➤ Translate the URL to a file name for example the resource be located in the base directory such as
/www, where the URL http://www.bar.com/foo/index.html corresponds to the file of
www/foo/index.html
➤ Determine whether the request is authorized
➤ Generate and transmit the response that includes header to show the status information
Access Control
■ A Web server may limit which users can access certain resources. Access control requires a
combination of authentication and authorization.
➤ Authentication identifies the user who originated the request.
➤ Authorization determines which users have access to a particular resource.
AUTHENTICATION
Most client-server systems authenticate a user by asking for a name and password.
Web server must perform authentication for every request for a resource that has access restrictions.
The server returns an HTTP response that indicates that the request requires authorization.
The response also identifies what kind of authentication is required.
The response also identifies the realm
➤ a string that associates a collection of resources at the server
AUTHORIZATION
To control access to Web resources, the server must employ an authorization policy.
A policy typically expressed in terms of an access control list that enumerates the users who are granted
or denied access to the resources.
In addition to checking the user name, the server may allow or deny access to the resource based on
other information associated with the HTTP request, such as the host name or IP address of the
requesting client.
Authenticating HTTP requests can impose a heavy load on the Web server.
Dynamically Generated Responses
This feature differentiates the Web from earlier file transfer services on the Internet.
Dynamically generated responses are created in a variety of ways:
➤ Server-side include
➤ Server script
Server-Side Include
A server-side include instructs the Web server to customize a static resource based on directives in an
HTML-like file.
Server Script
■ A server script is a separate program that generates the request resource.
■ The program may run as
➤ Part of the server
➤ A separate process
■ The main role of the Web server is
➤ To associate the requested URL with the appropriate script
➤ To pass data to/from the script
■ The main role of the script is
➤ To process the input from the server
➤ To generate the content to the client
Server Script
■ The server can interact with the script in several different ways:
➤ Separate process invoked by the server
➤ Software module in the same process
➤ Persistent process contacted by the server
Passing Data to/from the Script
■ Decoupling the scripts from the Web server requires a well-defined interface for passing data
between the two pieces of software.
■ Common Gateway Interface (CGI) defines interfaces for a variety of operating system platforms.
Creating and Using Cookies
■ Cookies are typically created, used, and modified by scripts invoked to generate dynamic responses,
rather than by the Web server.
■ A script can use a cookie as a user identifier in interacting with a back-end database.
■Storing history information in the cookie may obviate the need to retain information about the user in
a back-end database.
Sharing Information Across Requests
■ A Web server may retain some information to reduce the overhead of handling future requests by:
➤ Sharing HTTP responses across requests
➤ Sharing metadata across requests
■ In server-side caching, data from the disk is cached in main memory at the server.
■A Web server cache can be
➤ Static files
➤ Dynamically generated responses
■ the server would need to ensure that the cached result is consistent with the primary copy of the
information.
Sharing Metadata Across Requests
■ The server could store the information generated in the process such as:
➤ Translation of URL to file name
➤ Control information about the resource
➤ HTTP response headers
■ The server could cache certain information across requests for different resources:
➤ Current date/time
➤ Client name
Server Architecture
■ Some techniques for allocating system resources among competing client requests are :
➤ Event-driven server architecture
➤ Process-driven server architecture
➤ Hybrid server architecture
Event-Driven Server Architecture
■ An event-driven server
➤ Has a single process that alternates between servicing different requests
➤ Allows the server to serialize operations that modify the same data
➤ Performs nonblocking system calls
➤ Not used in Most high-end Web servers
Process-Driven Server Architecture
A process-driven server
➤ Allocates each request to a separate process
>> One master process listens for new connection
>> The master process creates, or forks, a separate process for each new connection
➤ Terminates the process after parsing the client request and transmitting the response
>> To prevent memory leak
➤ Introduces overhead for switching from one process to another
Hybrid Server Architecture
In Hybrid server architectures
➤ The strengths of the event-driven and process- driven models are combined
➤ Each process would become an event-driven server that alternates between a small collection of
requests
➤ A single process has multiple independent threads
➤ Main process instructs a separate helper process to perform time-consuming operations
Server Hosting
• Multiple Web sites on a single machine
Multiple machine for a single Web site