Architecture of the web
Client Serverretrieved or generated web page
Activities on the Client
Client
•Generate a request•Manage loading of web content•Translates Web Pages into DOM•Render HTML, CSS, Images•Renders SVG Graphics•interpret JavaScript, VBScript•Manipulate the DOM using JavaScript, VBScript•Stores Cookies, Bookmarks, History, Form Data and local datastores using a database (SQLite)•AJAX requests using JavaScript, VBScript•Maintains “sandbox” security (SOP, CORS)•Interprets XML+XSLT•A container for video and audio codecs•A container for Java Applets
Activities On The Server
Server
•Listens for Requests•Loads modules in mods-enabled•Translates directory refs in sites-enabled (root directory for system and per-user web accounts)•Moves uploaded files into /tmp•Passes QUERY_STRING, par
Sends the output of the following •Requests files from the OS•Returns error page if the file is not found•Requests execution of CGI scripts by the OS•Interprets PHP•Logs web page access and errors•Requests JSP (Java) execution from a secondary server
Activities On The Server
The Server DOES NOT talk directly to an SQL Database Engine!!!
Communication with a database is done either through the PHP-MYQL library or through a library in some other server based language such as Java, Python, Ruby, PERL or some variation of C. All of the above can also talk to the OS to read and write files. The database does not have to be resident on the same machine
CSS, Script, Images or other included files in a web page are loaded by the Client, NOT the server.
Apache or IIS Server
mod-php5
mod-ruby
mod-cgi
jsp redirect
Operating System: port 80
n-Tier Client/Server
Apache or IIS Server
mod-php5
mod-ruby
mod-cgi
jsp redirect
Operating System: port 80
Database Server
Request
Response
Local DatabaseJSP Server
Interaction with the File System
Apache or IIS Server
mod-php5
Request for file
File or Error code
Request for Error Page
request fo
r inclu
de
or data file handle
File
hand
le
Request
Response
PHP FilePHP Output
Interaction with the Database
Apache or IIS Server
mod-php5
library
function ca
ll
Result Set, r
ecord count o
r errr
or code
Request with form data
Response
Client
Library function call (Java, VB) using sockets for communication
Result Set, record count or errror code