Lecture 11 client_server_interaction

1




Chapter 9: Clients and
 Servers Interactions
2



   The Client Server Architecture
• Is a network architecture
   – Which separates a client (often an application that
     uses a GUI) from a server. Each instance of the client
     software can send requests to a server.



• Specific Types of servers include:
     • application servers
     • file servers
     • terminal servers
     • mail servers
3



   The Client Server Architecture
• Client/server is network architecture
   – Which separates a client (often an application that uses
     a GUI) from a server. Each instance of the client
     software can send requests to a server.
   –
   – Specific Types of servers include:
      • application servers
      • file servers
      • terminal servers
      • mail servers

   – Properties of a server:
      • Passive (Slave)
      • Waiting for requests
      • On requests serves them and send a reply
4




• Properties of a client:
  – Active (Master)
  – Sending requests
  – Waits until reply arrives
• A popular client in widespread use today is
  the web browser which communicates with
  web servers over the internet to fetch and
  display web page content.
5
                                                              5

       EXTENDING BROWSER
• The designer of a particular browser may not be able to
  sustain the development effort required to support all of the
  possible document formats that the browser might be used
  to view
• In the case of proprietary document formats (e.g., Adobe
  PDF, Real Audio and others), the owners of a format may
  not want to expose its encoding.
• To accommodate these requirements, browsers typically
  incorporate features that allow new functionality to be
  added to them without recompilation. We say that
  applications that can be extended in this manner are
  extensible
  (Helper Applications, Plug-ins and Java Applets)
6
                                                               6


       HELPER APPLICATIONS
• The response to a HTTP request contains MIME headers
  describing the type of document being fetched.
• We simulate the effect of getting the headers we would see
  when fetching the URL
  http://eftmk.kutkm.edu.my/bits2513/lectures/Lecture7.pdf
   – The Content-Type of the document is application/pdf
• A browser can use this type to index into a table and locate
  a helper application that can be used to display the
  contents of the document. This table can be configured by
  the user to associate helper applications with MIME types.
• This provides a simple mechanism that allows the browser
  functionality to be extended by allowing it to invoke external
  applications (Adobe Reader) to display documents.
7
                                                                      7


                         PLUGIN
• A plugin is a piece of code that can be loaded into same
  address space as the browser process.
• Because plugins run in the same address space as the
  browser, they have to be carefully constructed. A faulty
  plugin could corrupt some of the browser’s internal data
  structures. In general, writing plugins requires a great deal
  of care.
• To use plugins, the browser configured with:
   – The pathname of a directory that contains he available plugins
   – A table that describes which plugins to use with which MIME types.
8

   Understanding How Clients and
          Servers Interact
• Client/server is a computational architecture that involves
  client processes requesting service from server processes

• A server can be software application that provides a
  service to other software or the computer on which the
  server software is running.

• A server (software application) must be installed and
  managed by someone with the title of system
  administrator, network administrator or for Web servers-
  Webmaster.
9



               All-in-One Clients
• As the number of applications that use the Internet
  grows, the need for client software on computers to use
  these applications also arises.
• One solution to the growing number of Internet
  applications is an all-in-one client or universal client.
   – can handle several applications and adjust appropriately
   – changing buttons and functions to accommodate each
     application.
• Microsoft Internet Explorer is a good example of an all-
  in-one client.
10




Client            Client
host              host




         Server
         host
11

   Client/Server Applications

Some of the most popular applications on the Internet
follow the client/server design:

– Email clients
– FTP (File transfer) clients
– Web browsers
12




                              “I want to
                              collaborate
                               with my
 “I want to access            colleague”
some information”

                     Client

                                            Server   Peer-to-peer




                      Client/server
13

                  Distinctions

• Client-server
  – Asymmetric relationship
  – Client predominately makes requests, server
    makes replies
• Peer-to-peer
  – Symmetric relationship
14



        Client/Server Sessions
• As shown in Figure 7.1,
  TCP (Transmission
  Control Protocol)
  manages the three-way
  handshake that
  establishes a session to
  be used by application
  protocols, such as HTTP
  or FTP.
15


• Like most application programs, a client and a server use a transport
  protocol to communicate.
• Figure 7.2 illustrates a client and a server using the TCP/IP protocol
  stack.




                  Figure 7.2: A client and a server
16
• The client and server each interact with a protocol in the transport
  layer of the stack. A sufficiently powerful computer can run multiple
  servers and clients at the same time. Such a computer must have
  the necessary hardware resources (e.g. a fast CPU and sufficient
  memory) and have an operating system capable of running multiple
  applications concurrently (e.g. UNIX or Windows).

Figure 7.3 illustrates such a setup.




 • The computer in the middle might be running an FTP server and a
 WWW server. Modern computers are often capable of running many
 servers at the same time.
17



            Tiered Architecture
• Two-tier architecture:
   – A generic Client/Server architecture has two types of
     nodes on the network: clients and servers.

• Problems with a two-tier system:
   – Because the relative power of clients has grown
     considerably, we could shift processing to the client,
     but then maintaining data integrity is difficult
18



                 Three-tier client/server
                        Local-area network
                                             Application
                                             logic




Presentation

Note: many clients per              Shared
application server, several         data
application servers per data
server
19
                                       19


3-TIER ARCHITECTURE
   C lient tie r




   M id dle tier      App lic a tion




 Inform ation tie r
                      Da ta ba se
20




      3-TIER ARCHITECTURE
• Information tier
   – Referred to as data tier or bottom tier
   – Maintains data for application
   – Stores data in relational database management system
• Middle tier
   – Implements business logic and presentation logic
   – Controls interactions between application clients and
     application data
   – Acts as intermediary between data in information tier
     and application clients
21



       3-TIER ARCHITECTURE
• Client tier
   – Referred to as top tier
   – Application’s user interface
   – Users interact with application through user interface
   – Interacts with middle tier to make requests and to
     retrieve data from information tier
   – Displays data to user
22



                    Servers
•   Web Server
•   DNS Server
•   DHCP Server
•   WINS Server
•   RAS Server
•   Printer Server
•   Domain Controller Server
23

          Web Server (cont)
• Running program
• Stores set of Web documents
• Responds to request from browser by sending
  copy of document
24



      Basic Common Features
A Web server programs may differ in detail among them,
But they all share some basic common features:

• HTTP responses to HTTP requests:
   – every Web server program operates by accepting HTTP requests from
     the network and providing an HTTP response to the requester.
   – The HTTP response typically consists of an HTML document, but can
     also be a raw text file, an image, or some other type of document.
   – if something bad is found in client request or while trying to serve the
     request,
       • a Web server has to send an error response which may include some
         custom HTML or text messages to better explain the problem to end users.
• Logging:
   – usually Web servers have also the capability of logging some detailed
     information about client requests and server responses to log files.
   – this allows the Webmaster to collect statistics by running log analyzers
     on log files.
25


                               Extra features
•   Configurability of available features by configuration files or even by an external
    user interface.

•   Authentication - optional authorization request (request of user name and
    password) before allowing access to some or all kind of resources.

•   Handling of static content and dynamic content

•   Module support, in order to allow the extension of server capabilities by adding or
    modifying software modules which are linked to the server software or that are
    dynamically loaded (on demand) by the core server.

•   HTTPS - support (by SSL or TLS) in order to allow secure (encrypted) connections to
    the server on the standard port 443 instead of usual port 80.
•   Content compression (i.e. by gzip encoding) to reduce the size of the responses (to
    lower bandwidth usage, etc.).

•   Virtual Host to serve many web sites using one IP address

•   Large file support to be able to serve files whose size is greater than 2 GB on 32 bit
    OS

•   Bandwidth throttling - limit the speed of responses in order to not saturate the
    network and to be able to serve more clients.
26

    Exploring the Features and
    Functions of Web Servers
Some popular Web servers which it is free for download
include the following:

– Apache Web Server

– Microsoft Internet Information Services (IIS)

– Tomcat

– Netscape Enterprise Server (NES)
27

  Ability to Support Virtual Servers
           and Virtual Hosts
• A Web server should be able to support virtual servers
  and virtual hosting.

• Most virtual hosts handle multiple domain names on the
  same server by having the Uniform Resource Locator
  (URL) serve as a path to a file.

• Figure 7.5 illustrates the difference between virtual
  servers and virtual hosting.
28

Ability to Support Virtual Servers
 and Virtual Hosts (Continued)
29



          Access Control Method
Based on the user’s IP address or user ID
1.   access control allows the Web server to limit to which
     files a user can read or write. User Ids are associated
     with passwords to verify a user’s identity.
2.   It can changing the port at which a server is listening.
     –   Port 80 is the default port for Web servers.
     –   Apache Web Server controls access to its
         resources via a process known as authentication,
         which requires a user to enter a valid user ID and
         password to access a Web site.
30



Access Control (Continued)
31



          Encrypting Protocols
• A secure protocol used by Web servers is SSL (Secure
  Sockets Layer).


• When you see a URL with https: at the beginning instead
  of http:, you know that this Web server is using the SSL
  protocol for security.
32



           Database Interfaces
• Before selecting a Web server or a virtual hosting
  service, find out what databases the server supports and
  what tools can exchange information with the database.


• Popular databases are MS Access, MySQL, Oracle, and
  SQL Server.
33



  Ability to Monitor Performance
• Microsoft IIS uses Performance Monitor, a program that
  comes with Windows Server 2003 and Windows 2000
  Server, to monitor performance.


• Other utility programs are Microsoft Web Capacity
  Analysis Tool (WCAT) and Server Check Pro by
  NetMechanic.
34



         Web Server Protocols
• HTTP and TCP/IP are the two main protocols used with
  Web servers.

• HTTP methods used for browser requests are GET,
  POST, HEAD, PUT, and DELETE.

• The most frequently used method is GET, which
  requests files from the Web server.

• A dialog is a series of commands from the sender to the
  receiver and replies from the receiver to the sender.
35




COMMON HTTP REQUEST TYPES
• Also known as request methods
• Most popular are get and post
   – Retrieve and send client form data to Web server
   – get request
      • Sends form content as part of URL
      • Retrieves appropriate resource from Web server
      • Limits query to 1024 characters
   – post request
      • Updates contents of Web server (posting new messages to
        forum)
      • Has no limit for length of query
      • Not part of URL and cannot be seen by user
36



                       IIS
• Internet Information Services is a set of
  Internet-based services for servers using
  Microsoft Windows.

• It is the world's second most popular web server
  in terms of overall websites behind the Apache
  HTTP Server

• The servers currently include FTP, SMTP, NNTP
  and HTTP/HTTPS.
1 de 36

Recomendados

L21 scalability por
L21 scalabilityL21 scalability
L21 scalabilityÓlafur Andri Ragnarsson
757 visualizações77 slides
Overview usage of ProudNet por
Overview usage of ProudNetOverview usage of ProudNet
Overview usage of ProudNetHyun-jik Bae
1K visualizações12 slides
L12 Session State and Distributation Strategies por
L12 Session State and Distributation StrategiesL12 Session State and Distributation Strategies
L12 Session State and Distributation StrategiesÓlafur Andri Ragnarsson
1.2K visualizações63 slides
saito_porcupine por
saito_porcupinesaito_porcupine
saito_porcupinewebuploader
648 visualizações24 slides
NServiceBus - introduction to a message based distributed architecture por
NServiceBus - introduction to a message based distributed architectureNServiceBus - introduction to a message based distributed architecture
NServiceBus - introduction to a message based distributed architectureMauro Servienti
1.4K visualizações34 slides
Apache ActiveMQ - Enterprise messaging in action por
Apache ActiveMQ - Enterprise messaging in actionApache ActiveMQ - Enterprise messaging in action
Apache ActiveMQ - Enterprise messaging in actiondejanb
9.5K visualizações49 slides

Mais conteúdo relacionado

Mais procurados

Introduction to NServiceBus por
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBusAdam Fyles
1.5K visualizações25 slides
What to consider when monitoring microservices por
What to consider when monitoring microservicesWhat to consider when monitoring microservices
What to consider when monitoring microservicesParticular Software
321 visualizações27 slides
Client server technology por
Client server technologyClient server technology
Client server technologyAnwar Kamal
6.9K visualizações229 slides
Chef conf-2015-chef-patterns-at-bloomberg-scale por
Chef conf-2015-chef-patterns-at-bloomberg-scaleChef conf-2015-chef-patterns-at-bloomberg-scale
Chef conf-2015-chef-patterns-at-bloomberg-scaleBiju Nair
127 visualizações39 slides
Scalable Web Architecture and Distributed Systems por
Scalable Web Architecture and Distributed SystemsScalable Web Architecture and Distributed Systems
Scalable Web Architecture and Distributed Systemshyun soomyung
13K visualizações48 slides
Do we need JMS in 21st century? por
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?Mikalai Alimenkou
11.9K visualizações57 slides

Mais procurados(20)

Introduction to NServiceBus por Adam Fyles
Introduction to NServiceBusIntroduction to NServiceBus
Introduction to NServiceBus
Adam Fyles1.5K visualizações
What to consider when monitoring microservices por Particular Software
What to consider when monitoring microservicesWhat to consider when monitoring microservices
What to consider when monitoring microservices
Particular Software321 visualizações
Client server technology por Anwar Kamal
Client server technologyClient server technology
Client server technology
Anwar Kamal6.9K visualizações
Chef conf-2015-chef-patterns-at-bloomberg-scale por Biju Nair
Chef conf-2015-chef-patterns-at-bloomberg-scaleChef conf-2015-chef-patterns-at-bloomberg-scale
Chef conf-2015-chef-patterns-at-bloomberg-scale
Biju Nair127 visualizações
Scalable Web Architecture and Distributed Systems por hyun soomyung
Scalable Web Architecture and Distributed SystemsScalable Web Architecture and Distributed Systems
Scalable Web Architecture and Distributed Systems
hyun soomyung13K visualizações
Do we need JMS in 21st century? por Mikalai Alimenkou
Do we need JMS in 21st century?Do we need JMS in 21st century?
Do we need JMS in 21st century?
Mikalai Alimenkou11.9K visualizações
ScalabilityAvailability por webuploader
ScalabilityAvailabilityScalabilityAvailability
ScalabilityAvailability
webuploader721 visualizações
XMPP Academy #1 por Mickaël Rémond
XMPP Academy #1XMPP Academy #1
XMPP Academy #1
Mickaël Rémond2K visualizações
NServiceBus - building a distributed system based on a messaging infrastructure por Mauro Servienti
NServiceBus - building a distributed system based on a messaging infrastructureNServiceBus - building a distributed system based on a messaging infrastructure
NServiceBus - building a distributed system based on a messaging infrastructure
Mauro Servienti1.1K visualizações
Writing Scalable Software in Java por Ruben Badaró
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in Java
Ruben Badaró13K visualizações
Choosing the right high availability strategy por MariaDB plc
Choosing the right high availability strategyChoosing the right high availability strategy
Choosing the right high availability strategy
MariaDB plc156 visualizações
client server protocol por bmuhire
client server protocolclient server protocol
client server protocol
bmuhire1.9K visualizações
8 application servers_v2 por ashish61_scs
8 application servers_v28 application servers_v2
8 application servers_v2
ashish61_scs1.1K visualizações
Codero Managed Hosting por Codero
Codero Managed HostingCodero Managed Hosting
Codero Managed Hosting
Codero143 visualizações
IBM MQ Disaster Recovery por MarkTaylorIBM
IBM MQ Disaster RecoveryIBM MQ Disaster Recovery
IBM MQ Disaster Recovery
MarkTaylorIBM8.7K visualizações
Client Server Architecture por suks_87
Client Server ArchitectureClient Server Architecture
Client Server Architecture
suks_8781.3K visualizações
Messaging With Apache ActiveMQ por Bruce Snyder
Messaging With Apache ActiveMQMessaging With Apache ActiveMQ
Messaging With Apache ActiveMQ
Bruce Snyder8.5K visualizações
Enterprise Messaging With ActiveMQ and Spring JMS por Bruce Snyder
Enterprise Messaging With ActiveMQ and Spring JMSEnterprise Messaging With ActiveMQ and Spring JMS
Enterprise Messaging With ActiveMQ and Spring JMS
Bruce Snyder12.2K visualizações
A Comprehensive Guide for DNS Cluster Configurations por HTS Hosting
A Comprehensive Guide for DNS Cluster ConfigurationsA Comprehensive Guide for DNS Cluster Configurations
A Comprehensive Guide for DNS Cluster Configurations
HTS Hosting58 visualizações

Destaque

서버 성능에 대한 정의와 이해 por
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해중선 곽
52.5K visualizações38 slides
Windows 8 Consumer Preview por
Windows 8 Consumer PreviewWindows 8 Consumer Preview
Windows 8 Consumer PreviewRence Montanes
715 visualizações40 slides
Computer Network por
Computer NetworkComputer Network
Computer NetworkeShikshak
663 visualizações11 slides
Network Client Server por
Network Client ServerNetwork Client Server
Network Client ServereShikshak
687 visualizações13 slides
Cilent to server network plan por
Cilent to server network planCilent to server network plan
Cilent to server network planRicky Asher
444 visualizações20 slides
Networking and Computer Troubleshooting por
Networking and Computer TroubleshootingNetworking and Computer Troubleshooting
Networking and Computer TroubleshootingRence Montanes
785 visualizações47 slides

Destaque(15)

서버 성능에 대한 정의와 이해 por 중선 곽
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
중선 곽52.5K visualizações
Windows 8 Consumer Preview por Rence Montanes
Windows 8 Consumer PreviewWindows 8 Consumer Preview
Windows 8 Consumer Preview
Rence Montanes715 visualizações
Computer Network por eShikshak
Computer NetworkComputer Network
Computer Network
eShikshak663 visualizações
Network Client Server por eShikshak
Network Client ServerNetwork Client Server
Network Client Server
eShikshak687 visualizações
Cilent to server network plan por Ricky Asher
Cilent to server network planCilent to server network plan
Cilent to server network plan
Ricky Asher444 visualizações
Networking and Computer Troubleshooting por Rence Montanes
Networking and Computer TroubleshootingNetworking and Computer Troubleshooting
Networking and Computer Troubleshooting
Rence Montanes785 visualizações
Career paths in information technology por Rence Montanes
Career paths in information technologyCareer paths in information technology
Career paths in information technology
Rence Montanes3.8K visualizações
Client Server Network By Usman Ihsan por Subhan_Virk_UAF
Client Server Network By Usman IhsanClient Server Network By Usman Ihsan
Client Server Network By Usman Ihsan
Subhan_Virk_UAF1.7K visualizações
Client Server Architecture por Rence Montanes
Client Server ArchitectureClient Server Architecture
Client Server Architecture
Rence Montanes7.2K visualizações
Client Server Architecture por Ashir Mubeen
Client Server ArchitectureClient Server Architecture
Client Server Architecture
Ashir Mubeen2K visualizações
Client server architecture por Whitireia New Zealand
Client server architectureClient server architecture
Client server architecture
Whitireia New Zealand 28.9K visualizações
CBSE XII Communication And Network Concepts por Guru Ji
CBSE XII Communication And Network ConceptsCBSE XII Communication And Network Concepts
CBSE XII Communication And Network Concepts
Guru Ji172.2K visualizações
Client server technology main por Anwar Kamal
Client server technology mainClient server technology main
Client server technology main
Anwar Kamal5K visualizações
Introduction to computer network por Ashita Agrawal
Introduction to computer networkIntroduction to computer network
Introduction to computer network
Ashita Agrawal226.2K visualizações

Similar a Lecture 11 client_server_interaction

Web-Server & It's Architecture.pptx por
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxAlokKumar250045
13 visualizações22 slides
Part 1 network computing por
Part 1 network computingPart 1 network computing
Part 1 network computingLinh Nguyen
497 visualizações114 slides
server-131210061249-phpapp02.pdf por
server-131210061249-phpapp02.pdfserver-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdfKowsalyaJayakumar2
18 visualizações13 slides
Basic Server PPT (THDC) por
Basic Server PPT (THDC)Basic Server PPT (THDC)
Basic Server PPT (THDC)Vineet Pokhriyal
41K visualizações13 slides
Clients and Servers.ppt por
Clients and Servers.pptClients and Servers.ppt
Clients and Servers.pptMohammed Ilyas
7 visualizações47 slides
Modern API's.pptx por
Modern API's.pptxModern API's.pptx
Modern API's.pptxAugustinaAdjei1
24 visualizações10 slides

Similar a Lecture 11 client_server_interaction(20)

Web-Server & It's Architecture.pptx por AlokKumar250045
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
AlokKumar25004513 visualizações
Part 1 network computing por Linh Nguyen
Part 1 network computingPart 1 network computing
Part 1 network computing
Linh Nguyen497 visualizações
server-131210061249-phpapp02.pdf por KowsalyaJayakumar2
server-131210061249-phpapp02.pdfserver-131210061249-phpapp02.pdf
server-131210061249-phpapp02.pdf
KowsalyaJayakumar218 visualizações
Basic Server PPT (THDC) por Vineet Pokhriyal
Basic Server PPT (THDC)Basic Server PPT (THDC)
Basic Server PPT (THDC)
Vineet Pokhriyal41K visualizações
Clients and Servers.ppt por Mohammed Ilyas
Clients and Servers.pptClients and Servers.ppt
Clients and Servers.ppt
Mohammed Ilyas7 visualizações
Modern API's.pptx por AugustinaAdjei1
Modern API's.pptxModern API's.pptx
Modern API's.pptx
AugustinaAdjei124 visualizações
Web Fendamentals por Hiren Mistry
Web FendamentalsWeb Fendamentals
Web Fendamentals
Hiren Mistry539 visualizações
Peoplesoft PIA architecture por Amit rai Raaz
Peoplesoft PIA architecturePeoplesoft PIA architecture
Peoplesoft PIA architecture
Amit rai Raaz7.4K visualizações
WEB-DBMS A quick reference por Marc Dy
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
Marc Dy4.5K visualizações
1-1.pdf por ssusera99a83
1-1.pdf1-1.pdf
1-1.pdf
ssusera99a834 visualizações
4. system models por AbDul ThaYyal
4. system models4. system models
4. system models
AbDul ThaYyal32.2K visualizações
Client server architecture por RituBhargava7
Client server architectureClient server architecture
Client server architecture
RituBhargava76.8K visualizações
Data center proposal por Muhammad Ahad
Data center proposalData center proposal
Data center proposal
Muhammad Ahad11.1K visualizações
Cloud description por thanuambika
Cloud descriptionCloud description
Cloud description
thanuambika840 visualizações
C/S archtecture including basic networking por abhinav2727
C/S archtecture including basic networkingC/S archtecture including basic networking
C/S archtecture including basic networking
abhinav2727576 visualizações
Introduction to the client server computing By Attaullah Hazrat por Attaullah Hazrat
Introduction to the client server computing By Attaullah HazratIntroduction to the client server computing By Attaullah Hazrat
Introduction to the client server computing By Attaullah Hazrat
Attaullah Hazrat1.9K visualizações
COMPUTER NW2 (1).pptx por JVenkateshGoud
COMPUTER NW2 (1).pptxCOMPUTER NW2 (1).pptx
COMPUTER NW2 (1).pptx
JVenkateshGoud3 visualizações
Client-Server Model por HTS Hosting
Client-Server ModelClient-Server Model
Client-Server Model
HTS Hosting208 visualizações
Servlet programming por Mallikarjuna G D
Servlet programmingServlet programming
Servlet programming
Mallikarjuna G D152 visualizações

Mais de Serious_SamSoul

Lecture 13 -_e-commmerce_e-banking_and_advanced_tech por
Lecture 13 -_e-commmerce_e-banking_and_advanced_techLecture 13 -_e-commmerce_e-banking_and_advanced_tech
Lecture 13 -_e-commmerce_e-banking_and_advanced_techSerious_SamSoul
1.7K visualizações40 slides
Lecture 12 -_internet_security por
Lecture 12 -_internet_securityLecture 12 -_internet_security
Lecture 12 -_internet_securitySerious_SamSoul
988 visualizações52 slides
Lecture 9 electronic_mail_representation_and_transfer por
Lecture 9 electronic_mail_representation_and_transferLecture 9 electronic_mail_representation_and_transfer
Lecture 9 electronic_mail_representation_and_transferSerious_SamSoul
4.2K visualizações44 slides
Lecture 7 -_ftp,_tftp,_telnet_and_ssh por
Lecture 7 -_ftp,_tftp,_telnet_and_sshLecture 7 -_ftp,_tftp,_telnet_and_ssh
Lecture 7 -_ftp,_tftp,_telnet_and_sshSerious_SamSoul
2.8K visualizações48 slides
Lecture 6 -_presentation_layer por
Lecture 6 -_presentation_layerLecture 6 -_presentation_layer
Lecture 6 -_presentation_layerSerious_SamSoul
8.6K visualizações54 slides
Lecture 5 internet-protocol_assignments por
Lecture 5 internet-protocol_assignmentsLecture 5 internet-protocol_assignments
Lecture 5 internet-protocol_assignmentsSerious_SamSoul
2K visualizações33 slides

Mais de Serious_SamSoul(11)

Lecture 13 -_e-commmerce_e-banking_and_advanced_tech por Serious_SamSoul
Lecture 13 -_e-commmerce_e-banking_and_advanced_techLecture 13 -_e-commmerce_e-banking_and_advanced_tech
Lecture 13 -_e-commmerce_e-banking_and_advanced_tech
Serious_SamSoul1.7K visualizações
Lecture 12 -_internet_security por Serious_SamSoul
Lecture 12 -_internet_securityLecture 12 -_internet_security
Lecture 12 -_internet_security
Serious_SamSoul988 visualizações
Lecture 9 electronic_mail_representation_and_transfer por Serious_SamSoul
Lecture 9 electronic_mail_representation_and_transferLecture 9 electronic_mail_representation_and_transfer
Lecture 9 electronic_mail_representation_and_transfer
Serious_SamSoul4.2K visualizações
Lecture 7 -_ftp,_tftp,_telnet_and_ssh por Serious_SamSoul
Lecture 7 -_ftp,_tftp,_telnet_and_sshLecture 7 -_ftp,_tftp,_telnet_and_ssh
Lecture 7 -_ftp,_tftp,_telnet_and_ssh
Serious_SamSoul2.8K visualizações
Lecture 6 -_presentation_layer por Serious_SamSoul
Lecture 6 -_presentation_layerLecture 6 -_presentation_layer
Lecture 6 -_presentation_layer
Serious_SamSoul8.6K visualizações
Lecture 5 internet-protocol_assignments por Serious_SamSoul
Lecture 5 internet-protocol_assignmentsLecture 5 internet-protocol_assignments
Lecture 5 internet-protocol_assignments
Serious_SamSoul2K visualizações
Lecture 4 -_internet_infrastructure_2_updated_2011 por Serious_SamSoul
Lecture 4 -_internet_infrastructure_2_updated_2011Lecture 4 -_internet_infrastructure_2_updated_2011
Lecture 4 -_internet_infrastructure_2_updated_2011
Serious_SamSoul508 visualizações
Lecture 3 -_internet_infrastructure_updated_2011 por Serious_SamSoul
Lecture 3 -_internet_infrastructure_updated_2011Lecture 3 -_internet_infrastructure_updated_2011
Lecture 3 -_internet_infrastructure_updated_2011
Serious_SamSoul833 visualizações
Lecture 2 -_understanding_networks_with_presenter_notes por Serious_SamSoul
Lecture 2 -_understanding_networks_with_presenter_notesLecture 2 -_understanding_networks_with_presenter_notes
Lecture 2 -_understanding_networks_with_presenter_notes
Serious_SamSoul671 visualizações
Lecture 1 -_overview_of_the_internet-1- por Serious_SamSoul
Lecture 1 -_overview_of_the_internet-1-Lecture 1 -_overview_of_the_internet-1-
Lecture 1 -_overview_of_the_internet-1-
Serious_SamSoul701 visualizações
Lecture 1 -_overview_of_the_internet-1- por Serious_SamSoul
Lecture 1 -_overview_of_the_internet-1-Lecture 1 -_overview_of_the_internet-1-
Lecture 1 -_overview_of_the_internet-1-
Serious_SamSoul377 visualizações

Último

Business Analyst Series 2023 - Week 4 Session 7 por
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7DianaGray10
139 visualizações31 slides
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueShapeBlue
203 visualizações54 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... por
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
194 visualizações62 slides
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... por
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...ShapeBlue
106 visualizações12 slides
State of the Union - Rohit Yadav - Apache CloudStack por
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStackShapeBlue
297 visualizações53 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T por
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
152 visualizações34 slides

Último(20)

Business Analyst Series 2023 - Week 4 Session 7 por DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray10139 visualizações
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 visualizações
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... por ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 visualizações
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... por ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 visualizações
State of the Union - Rohit Yadav - Apache CloudStack por ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 visualizações
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T por ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 visualizações
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 visualizações
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT por ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue206 visualizações
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... por The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
The Digital Insurer90 visualizações
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... por ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue126 visualizações
Initiating and Advancing Your Strategic GIS Governance Strategy por Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software176 visualizações
Kyo - Functional Scala 2023.pdf por Flavio W. Brasil
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdf
Flavio W. Brasil457 visualizações
Future of AR - Facebook Presentation por Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty64 visualizações
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... por ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue119 visualizações
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... por ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue161 visualizações
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... por ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue186 visualizações
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 visualizações
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 visualizações
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 visualizações
Why and How CloudStack at weSystems - Stephan Bienek - weSystems por ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue238 visualizações

Lecture 11 client_server_interaction

  • 1. 1 Chapter 9: Clients and Servers Interactions
  • 2. 2 The Client Server Architecture • Is a network architecture – Which separates a client (often an application that uses a GUI) from a server. Each instance of the client software can send requests to a server. • Specific Types of servers include: • application servers • file servers • terminal servers • mail servers
  • 3. 3 The Client Server Architecture • Client/server is network architecture – Which separates a client (often an application that uses a GUI) from a server. Each instance of the client software can send requests to a server. – – Specific Types of servers include: • application servers • file servers • terminal servers • mail servers – Properties of a server: • Passive (Slave) • Waiting for requests • On requests serves them and send a reply
  • 4. 4 • Properties of a client: – Active (Master) – Sending requests – Waits until reply arrives • A popular client in widespread use today is the web browser which communicates with web servers over the internet to fetch and display web page content.
  • 5. 5 5 EXTENDING BROWSER • The designer of a particular browser may not be able to sustain the development effort required to support all of the possible document formats that the browser might be used to view • In the case of proprietary document formats (e.g., Adobe PDF, Real Audio and others), the owners of a format may not want to expose its encoding. • To accommodate these requirements, browsers typically incorporate features that allow new functionality to be added to them without recompilation. We say that applications that can be extended in this manner are extensible (Helper Applications, Plug-ins and Java Applets)
  • 6. 6 6 HELPER APPLICATIONS • The response to a HTTP request contains MIME headers describing the type of document being fetched. • We simulate the effect of getting the headers we would see when fetching the URL http://eftmk.kutkm.edu.my/bits2513/lectures/Lecture7.pdf – The Content-Type of the document is application/pdf • A browser can use this type to index into a table and locate a helper application that can be used to display the contents of the document. This table can be configured by the user to associate helper applications with MIME types. • This provides a simple mechanism that allows the browser functionality to be extended by allowing it to invoke external applications (Adobe Reader) to display documents.
  • 7. 7 7 PLUGIN • A plugin is a piece of code that can be loaded into same address space as the browser process. • Because plugins run in the same address space as the browser, they have to be carefully constructed. A faulty plugin could corrupt some of the browser’s internal data structures. In general, writing plugins requires a great deal of care. • To use plugins, the browser configured with: – The pathname of a directory that contains he available plugins – A table that describes which plugins to use with which MIME types.
  • 8. 8 Understanding How Clients and Servers Interact • Client/server is a computational architecture that involves client processes requesting service from server processes • A server can be software application that provides a service to other software or the computer on which the server software is running. • A server (software application) must be installed and managed by someone with the title of system administrator, network administrator or for Web servers- Webmaster.
  • 9. 9 All-in-One Clients • As the number of applications that use the Internet grows, the need for client software on computers to use these applications also arises. • One solution to the growing number of Internet applications is an all-in-one client or universal client. – can handle several applications and adjust appropriately – changing buttons and functions to accommodate each application. • Microsoft Internet Explorer is a good example of an all- in-one client.
  • 10. 10 Client Client host host Server host
  • 11. 11 Client/Server Applications Some of the most popular applications on the Internet follow the client/server design: – Email clients – FTP (File transfer) clients – Web browsers
  • 12. 12 “I want to collaborate with my “I want to access colleague” some information” Client Server Peer-to-peer Client/server
  • 13. 13 Distinctions • Client-server – Asymmetric relationship – Client predominately makes requests, server makes replies • Peer-to-peer – Symmetric relationship
  • 14. 14 Client/Server Sessions • As shown in Figure 7.1, TCP (Transmission Control Protocol) manages the three-way handshake that establishes a session to be used by application protocols, such as HTTP or FTP.
  • 15. 15 • Like most application programs, a client and a server use a transport protocol to communicate. • Figure 7.2 illustrates a client and a server using the TCP/IP protocol stack. Figure 7.2: A client and a server
  • 16. 16 • The client and server each interact with a protocol in the transport layer of the stack. A sufficiently powerful computer can run multiple servers and clients at the same time. Such a computer must have the necessary hardware resources (e.g. a fast CPU and sufficient memory) and have an operating system capable of running multiple applications concurrently (e.g. UNIX or Windows). Figure 7.3 illustrates such a setup. • The computer in the middle might be running an FTP server and a WWW server. Modern computers are often capable of running many servers at the same time.
  • 17. 17 Tiered Architecture • Two-tier architecture: – A generic Client/Server architecture has two types of nodes on the network: clients and servers. • Problems with a two-tier system: – Because the relative power of clients has grown considerably, we could shift processing to the client, but then maintaining data integrity is difficult
  • 18. 18 Three-tier client/server Local-area network Application logic Presentation Note: many clients per Shared application server, several data application servers per data server
  • 19. 19 19 3-TIER ARCHITECTURE C lient tie r M id dle tier App lic a tion Inform ation tie r Da ta ba se
  • 20. 20 3-TIER ARCHITECTURE • Information tier – Referred to as data tier or bottom tier – Maintains data for application – Stores data in relational database management system • Middle tier – Implements business logic and presentation logic – Controls interactions between application clients and application data – Acts as intermediary between data in information tier and application clients
  • 21. 21 3-TIER ARCHITECTURE • Client tier – Referred to as top tier – Application’s user interface – Users interact with application through user interface – Interacts with middle tier to make requests and to retrieve data from information tier – Displays data to user
  • 22. 22 Servers • Web Server • DNS Server • DHCP Server • WINS Server • RAS Server • Printer Server • Domain Controller Server
  • 23. 23 Web Server (cont) • Running program • Stores set of Web documents • Responds to request from browser by sending copy of document
  • 24. 24 Basic Common Features A Web server programs may differ in detail among them, But they all share some basic common features: • HTTP responses to HTTP requests: – every Web server program operates by accepting HTTP requests from the network and providing an HTTP response to the requester. – The HTTP response typically consists of an HTML document, but can also be a raw text file, an image, or some other type of document. – if something bad is found in client request or while trying to serve the request, • a Web server has to send an error response which may include some custom HTML or text messages to better explain the problem to end users. • Logging: – usually Web servers have also the capability of logging some detailed information about client requests and server responses to log files. – this allows the Webmaster to collect statistics by running log analyzers on log files.
  • 25. 25 Extra features • Configurability of available features by configuration files or even by an external user interface. • Authentication - optional authorization request (request of user name and password) before allowing access to some or all kind of resources. • Handling of static content and dynamic content • Module support, in order to allow the extension of server capabilities by adding or modifying software modules which are linked to the server software or that are dynamically loaded (on demand) by the core server. • HTTPS - support (by SSL or TLS) in order to allow secure (encrypted) connections to the server on the standard port 443 instead of usual port 80. • Content compression (i.e. by gzip encoding) to reduce the size of the responses (to lower bandwidth usage, etc.). • Virtual Host to serve many web sites using one IP address • Large file support to be able to serve files whose size is greater than 2 GB on 32 bit OS • Bandwidth throttling - limit the speed of responses in order to not saturate the network and to be able to serve more clients.
  • 26. 26 Exploring the Features and Functions of Web Servers Some popular Web servers which it is free for download include the following: – Apache Web Server – Microsoft Internet Information Services (IIS) – Tomcat – Netscape Enterprise Server (NES)
  • 27. 27 Ability to Support Virtual Servers and Virtual Hosts • A Web server should be able to support virtual servers and virtual hosting. • Most virtual hosts handle multiple domain names on the same server by having the Uniform Resource Locator (URL) serve as a path to a file. • Figure 7.5 illustrates the difference between virtual servers and virtual hosting.
  • 28. 28 Ability to Support Virtual Servers and Virtual Hosts (Continued)
  • 29. 29 Access Control Method Based on the user’s IP address or user ID 1. access control allows the Web server to limit to which files a user can read or write. User Ids are associated with passwords to verify a user’s identity. 2. It can changing the port at which a server is listening. – Port 80 is the default port for Web servers. – Apache Web Server controls access to its resources via a process known as authentication, which requires a user to enter a valid user ID and password to access a Web site.
  • 31. 31 Encrypting Protocols • A secure protocol used by Web servers is SSL (Secure Sockets Layer). • When you see a URL with https: at the beginning instead of http:, you know that this Web server is using the SSL protocol for security.
  • 32. 32 Database Interfaces • Before selecting a Web server or a virtual hosting service, find out what databases the server supports and what tools can exchange information with the database. • Popular databases are MS Access, MySQL, Oracle, and SQL Server.
  • 33. 33 Ability to Monitor Performance • Microsoft IIS uses Performance Monitor, a program that comes with Windows Server 2003 and Windows 2000 Server, to monitor performance. • Other utility programs are Microsoft Web Capacity Analysis Tool (WCAT) and Server Check Pro by NetMechanic.
  • 34. 34 Web Server Protocols • HTTP and TCP/IP are the two main protocols used with Web servers. • HTTP methods used for browser requests are GET, POST, HEAD, PUT, and DELETE. • The most frequently used method is GET, which requests files from the Web server. • A dialog is a series of commands from the sender to the receiver and replies from the receiver to the sender.
  • 35. 35 COMMON HTTP REQUEST TYPES • Also known as request methods • Most popular are get and post – Retrieve and send client form data to Web server – get request • Sends form content as part of URL • Retrieves appropriate resource from Web server • Limits query to 1024 characters – post request • Updates contents of Web server (posting new messages to forum) • Has no limit for length of query • Not part of URL and cannot be seen by user
  • 36. 36 IIS • Internet Information Services is a set of Internet-based services for servers using Microsoft Windows. • It is the world's second most popular web server in terms of overall websites behind the Apache HTTP Server • The servers currently include FTP, SMTP, NNTP and HTTP/HTTPS.