Unit IV
Unit IV
Request
Analyzer
Operating System
Access
Control
Request
Response Reception
BROWSER
Resource
Client Machine Handler
WEB SERVER
Transaction
Log
Server Machine
A reference architecture for browsers
Request
Formatter
Request
Analyzer
Access
Request Control
User Network
Response
Interface Interface
WEB SERVER
Server Machine
Response Response
WEB BROWSER
Renderer Analyzer
Client Machine
CGI
Request
Access
Request
Control
Operating System
Response Reception
BROWSER
Resource
Handler
Client Machine
Transaction CGI
WEBLog
SERVER Interface
CGI
Server Machine Process
CGI advantages / disadvantages
• Simple, implemented on all well-known Web servers out-of-the-box.
• Combined with scripting languages are a portable solution.
• Not process efficient.
• HTML generation from within code, not providing separation
between the HTML designers and programmers.
Scalable CGI
Request
Request Access
Response Reception Control
Operating System
BROWSER
Server Machine
Scalable CGI advantages / disadvantages
• FastCGI is the most well-known implementation.
• Performance is very good, still better than more recent technologies.
• The usability disadvantages of CGI still apply, programmers are
responsible for everything and must know details of HTTP.
Web server APIs
Request
Analyzer
Operating System
Access
Control
Request
Response Reception
BROWSER
Resource
Client Machine Handler
Extension
WEB SERVER
Transaction
Log
Server Machine
Web Server APIs
• NSAPI, ISAPI, Apache API.
• Very efficient since compiled extension modules
run within the Web server’s address space…
• …but also dangerous since a bug in an extension
module can crash the Web server.
• Not commonly used for applications, but for
performance reasons, most server-side
technologies that support dynamic content are
based on Web server extension modules.
Browser extension interfaces
Request
Formatter
Request
Analyzer
Access
Request Control
User Network
Response
Interface Interface
Response Response
WEB BROWSER
Renderer Analyzer
Client Machine
Browser Extension Interfaces
• CCI (obsolete)
• Plug-ins
• Client-side scripting (JavaScript, DOM)
• Java applets
• ActiveX
• Flash
• Rich internet applications (RIA)
• Attempts to break free from page-centered interactivity
constraints.
Interpreted Template-based Scripting
Operating System
Response Reception
BROWSER
Resource
Client Machine Handler
ASP
Interpreter
(asp.dll)
WEB SERVER
Transaction
Log
ASP
Templates COM Objects
Server Machine
Scaling Up
• Middleware
• Reliability
• Throughput
• Integration
• Security
• Development
• Application servers and components
• Java
• Servlets
• JSP
• J2EE
• .NET
Client Machine Server Machine
Request
Analyzer
Access
Request Control
Response
BROWSER
WEB SERVER
WEB CONTAINER
Response
BROWSER
WEB SERVER
.NET
Active
ASP.NET Web Forms Framework
.NET Framework
Directory ADO.NET
Enterprise
(AD)
Services
.NET SERVER
Web programming vs. regular programming
View Access
Model
(JSP or other (EJB or JavaBeans)
type of template)
Web server Database
Browser
server
Server machine
App server
Database
Browser
Web server server
Server machine
• Companies
• Now offer software to limit amount of spam
• Content-filtering techniques
• Black list spam filter
• Looks for known spammer From addresses in incoming
messages
• White list spam filter
• Examines From addresses and compares them to list of known
good sender addresses
• Challenge-response
• Compares all incoming messages to a white list
• Companies
• Now offer software to limit amount of spam
• Content-filtering techniques
• Black list spam filter
• Looks for known spammer From addresses in incoming
messages
• White list spam filter
• Examines From addresses and compares them to list of known
good sender addresses
• Challenge-response
• Compares all incoming messages to a white list
• NetMechanic
• Offers variety of link-checking, HTML troubleshooting,
site-monitoring, and other programs
• Load-balancing switch
• Piece of network hardware that monitors the
workloads of servers attached to it