The Client Server Architecture
The Internet revolves around the
client-server architecture. Your computer runs software called the client
and it interacts with another software known as the server located at a
remote computer. The client is usually a browser such as Internet Explorer,
Netscape Navigator
or Mozilla. Browsers interact with the server using a set of
instructions called protocols. These protocols help in the accurate transfer of data
through requests from a browser and responses from the server. There are many
protocols available on the Internet. The World Wide Web, which is a part of the Internet, brings all these
protocols under one roof. You can, thus, use HTTP, FTP, Telnet, email etc. from
one platform - your web browser.
Some
common Internet protocols
- HTTP (HyperText transfer Protocol): used on the World Wide Web (WWW) for transfering web pages and files contained in web pages such as images.
- FTP (File Transfer protocol): employed for transfering files from one machine to the other.
- SMTP (Simple Mail Transport Protocol): used for email.
- Telnet Protocol: Used to open telnet sessions.
The web employs a connection-less
protocol, which means that after every client-server interaction the
connection between the two is lost.
Let us now examine the client-server inter-communication with three models.
Let us now examine the client-server inter-communication with three models.
Model
#1 of the client-server architecture - Static HTML pages
The client (browser) requests for an
HTML file stored on the remote machine through the server software. The server
locates this file and passes it to the client. The client then displays this
file on your machine. In this case, the HTML page is static. Static pages do
not change until the developer modifies them.
Model
#2 of the client-server architecture - CGI Scripts
The scenario is slightly different
for CGI applications. Here the server has to do more work since CGI programs
consume the server machine's processing power.
Let us suppose you come across a searchable form on a web page that runs a CGI program. Let us also suppose you type in the word 'computers' as the search query. Your browser sends your request to the server. The server checks the headers and locates the necessary CGI program and passes it the data from the request including your search query "computers". The CGI program processes this data and returns the results to the server. The server then sends this formatted in HTML to your browser which in turn displays the HTML page.
Let us suppose you come across a searchable form on a web page that runs a CGI program. Let us also suppose you type in the word 'computers' as the search query. Your browser sends your request to the server. The server checks the headers and locates the necessary CGI program and passes it the data from the request including your search query "computers". The CGI program processes this data and returns the results to the server. The server then sends this formatted in HTML to your browser which in turn displays the HTML page.
Thus the CGI program generates a
dynamic HTML page. The contents of the dynamic page depend on the query passed
to the CGI program.
Model
#3 of the client-server architecture - Server side scripting technologies
The third case also involves dynamic
response generated by the use of server side technologies. There are many
server side technologies today.
Active Server Pages (ASP): A Microsoft technology. ASP pages typically have the extension .asp.
PHP: Hypertext Preprocessor (PHP): An open source technology. PHP pages typically have .php, .phtml or .php3 file name extensions.
Java Server Pages: .jsp pages contain Java code.
Server Side Includes (SSI): Involves the embedding of small code snippets inside the HTML page. An SSI page typically has .shtml as its file extension.
Active Server Pages (ASP): A Microsoft technology. ASP pages typically have the extension .asp.
PHP: Hypertext Preprocessor (PHP): An open source technology. PHP pages typically have .php, .phtml or .php3 file name extensions.
Java Server Pages: .jsp pages contain Java code.
Server Side Includes (SSI): Involves the embedding of small code snippets inside the HTML page. An SSI page typically has .shtml as its file extension.
With these server technologies it
has become easier to maintain Web pages especially helpful for a large web
site. The developer needs to embed the server-side language code inside the
HTML page. This code is passed to the appropriate interpreter which processes
these instructions and generates the final HTML displayed by the browser. Note,
the embedded server-script code is not visible to the client (even if you check
the source of the page) as the server sends ONLY the HTML code.
Let's look at PHP as an example. A
request sent for a PHP page from a client is passed to the PHP interpreter by
the server along with various program variables. The interpreter then processes
the PHP code and generates a dynamic HTML output. This is sent to the server
which in turn redirects it to the client. The browser is not aware of the
functioning of the server. It just receives the HTML code, which it
appropriately formats and displays on your computer.
Comments
Post a Comment