1.1 Client Server Architecture
1.1 Client Server Architecture
Enrique Barra
Contents
Internet origin
The Web
Internet
Evolution
URLs
3 layer architecture
2
Internet origin
Internet starts with Arpanet on January 1983
Internet connects computers to the net using the TCP/IP
protocol stack
TCP/IP supports client-server apps with sockets interface
First Internet apps are:
– telnet (virtual terminal), ftp (file transfer), email, …
3
The Web
Tim Berners Lee proposes in 1989 a new application: The
World Wide Web or “The Web”
4
The Web
Tim Berners Lee developed/joined three essential technologies:
5
Internet
Client Server
Socket Socket Socket
interface port interface port interface
IP IP
IP Address IP Address
Net / Internet
The Web
Client Server
Web Web Server
Browser HTTP Protocol (static)
Socket
Web page port interface port Web page
repository
TCP UDP TCP/IP Protocol TCP UDP
IP IP
IP Address IP Address
Net / Internet
The initial Web
Static Web Server
– Program that server files requested by clients
Web Client
– Program that requests the web pages to a server and presents them to
the user
– The URL identifies the Web resource.
– For example: http://example.es/dir/cal.html
• http: protocol to access the server (HTTP GET)
• example.es: server address that hosts the page
• /dir/cal.html: file path (web page) in the server directory
8
example.es
server
HTTP request
cal.htm
http://example.es/dir/cal.htm
public
9
Evolution of the Web
Decentralized architecture based on the client-server model
– Webapps, desktop apps, smartphones apps, …
– Cloud services
– Intranets
– P2P apps
– Etc.
10
URL y URIs
URIs (Uniform Resource Identifiers)
– is a compact sequence of characters that identifies an abstract or physical
resource
– A URI can be further classified as a locator (URL), a name (URN), or both
– Example URIS: tel:+1-816-555-1212 or mailto:[email protected]
scheme:[//authority]path[?query][#fragment]
authority = [userinfo@]host[:port]
2. http://example.es:8080/dir/page.html
– Similar URL but in this case the server is listening on the port 8080 and not in the
80 (default)
3. http://example.es/dir/page.html#p3
– Similar URL but with a fragment or anchor that identifies the element with id=‘p3’
in page.html
4. http://example.es/registro?id=23&name=Enrique
– URL that sends two params in the query (param id and name)
5. ftp://[email protected]/dir/page.html
– URL of a web resource associated with the enrique user at the server example.es
3 layer architecture or 3 tier architecture
Three-tier architecture is a client–server software
architecture pattern developed and maintained as
independent modules, most often on separate platforms
– Presentation tier: visualization layer with the user interface
– Application tier/logic tier: logic layer with the rules to attend
requests, performs detailed processing
– Data tier: data layer to store the data
DB
Client
Server
DB
14
Client Server Architecture
Enrique Barra