Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Client Server Features

By Exforsys | on June 24, 2007 |
Client Server

Client Server Features

Web Server Introduction

Web servers are the machines or programs from which requests are made and fulfilled over the Internet. They provide one of the endpoints in communication when users request an online service.

Clients or users request data through their web browsers. These requests are delivered to the server in HTTP (HyperText Transfer Protocol). The server then searches the World Wide Web for results based on browser specifications and returns its responses in HTML (Hypertext Markup Language), also formatted according to HTTP. This is the basic language used to write web pages. It allows for hypertext features, such as linking to other web pages, images, or other media (video, audio).

The two features common to all web servers are HTTP and logging. HTTP provides the protocol according to which requests are processed and responses are retrieved and formatted. These responses usually are delivered in the form of HTML documents. Logging is the recording and storing of information about client requests and server responses. This recorded data is stored in log files. These files can provide an audit trail to uncover the source of an error. They can also be analyzed to better understand and predict client and server behavior.

This article will describe some of the more practical web server features. It will also discuss performance parameters and server load limits. Finally, it will discuss some of the causes of server overload, how to detect it and how to prevent it.

Common Practical Features

Some of the practical features employed by many web servers include the following: configurability; authentication; inclusion of programs that handle and generate dynamic content; module support; HTTPS support; content compression; virtual hosts; large file support; and bandwidth throttling.

Configurability refers to “the ability of a system to be adapted to new requirements and operating environments without change to the fundamental structure of the software.” (Ian Sommerville, 2006) This implies the ability for a system or program to rearrange or customize attributes and features depending on user requests and, in this case, HTML commands. Many web servers contain configuration files or external user interfaces to enhance adaptability. Configuration files are read at startup by operating systems and applications to define user environment. External user interfaces provide the combination of tools through which users interact with the server. These include screen design, menus, and command language. External user interfaces can also increase a server’s configurability.

Servers also use a variety of authentication techniques to control access to web resources. These techniques include login requests that verify the user’s identity through the use of a registered username and password. These servers include authorization components as part of their operating system. Authorization, like authentication, permits users access to the server’s data and devices that will fulfill requests.

Web servers must also be able to handle both static and dynamic content. Static content is easily accessible since it resides as files in the server’s file system. Dynamic content, however, is more complicated. Dynamic content is generated by scripts or APIs called upon by the server to execute requests. Scripts are interpreted programs or sequences of instructions that are carried out by another computer. Scripts are used by web servers to handle the input in form fields or other services processed by the server. APIs or application programming interfaces are source code interfaces used to support the request for service made by another program. Dynamic web pages increase interactivity and can customize responses based on user-defined conditions and contexts. Server-side scripting is one of the ways to generate dynamic content. These responses are tailored by HTML commands, URL constraints, and the type of browser making the request. Some of the most popular server-side scripted interfaces/pages include the following: JSP (JavaScript Pages); PHP; ASP (Active Server Pages were developed by Microsoft. It must be written in an active scripting language like VBScript or Visual Basic Scripting Edition or PerlScript); ASP.NET (also developed by Microsoft for the .NET platform); and Server API (Server Application Programming Interfaces, which assign direct module interfaces to web server applications, like Apache HTTP Server or iPlanet. These interfaces generate HTML documents and interpret and process code embedded in HTML.

Web servers must also provide module support. Modules are smaller parts of a program that carry out specific tasks. Programs are made up of individual modules that are then linked. Each module contains one or more routines that perform a specific task. Module support allows for the expansion of server capacities by allowing the addition or modification of modules linked to the server software. This support also allows modules to be loaded dynamically based on user specifications by the core server.

Servers also often provide HTTS support. HTTS refers to a secure Internet connection. Using HTTS in the URL indicates HTTP use with a different default TCP (Transmission Control Protocol) port. This default port (443 instead of the standard port 80) functions like a regular port, that is, in networks it refers to a specific endpoint of a connection. Port numbers designate function. For example, port 80 is used for HTTP traffic. HTTS uses a different port (443) and a layer of encryption and authentication between the HTTP and TCP. This is used for secure transactions like payment transactions.

Content compression is employed by web servers to reduce the size of responses, thereby reducing bandwidth usage. Data compression stores more data in fewer bits by encoding it. This encoding is achieved by creating abbreviated syntax that is understood by both the browser and the server. Compression is achieved through, for example, ‘gzip’ encoding. Gzip is free software used for file compression.

Virtual hosting is a shared web hosting service. Web hosting services allow individuals or organizations, such as government or corporate ones, to make their web sites accessible through the World Wide Web. These provide space on a server owned by a company and provide data centers that provide Internet connectivity. It is a method by which web servers host more than one domain name on the same computer at the same IP address, making it more economical.

Some of the other features a web server might contain are large file support and bandwidth throttling. Large file support means that the server must be able to deliver files bigger than 2Gb on 32 bit operating system. Bandwidth throttling limits the amount of data that can be transmitted over a certain amount of time. This improves quality of service by preventing server crashes and stabilizing the transfer of data.

Client Server Performance Parameters

Web server programs are supposed to serve multiple requests simultaneously on various TCP/IP connections. Client loads vary and so do requests per client. Taking that into consideration, the performance parameters of web servers include the following: number and type of requests per second; latency time, measuring in milliseconds how long it takes to complete each new connection or request; throughput or the amount of data transmitted in response to a request measured in bytes per second. This depends on, among other things, file size and available network bandwidth. Performance is also determined by concurrency levels or the ability for the server to provide access to specific files, in this case, those that make up web pages, to multiple users simultaneously. Finally, the server model, whether client-side or server-side, used to execute web server programs establishes scalability. Scalability is a system property that refers to a system or network’s ability to manage increasing workloads well and the ability to expand gracefully.

Load Limits : Causes and How to Avoid Overload

Web servers have load limits because they can only support a fixed number of clients making requests at the same time from the same IP address and IP port. They can only process a certain number of requests per second and when the system becomes overloaded, it becomes unresponsive. Load limits are determined by the server’s settings, whether the content retrieved is static or dynamic, HTTP request types, and whether the content is cached or not. Cached content is easier to access than original data. Cached content is the duplicate of original data that is stored elsewhere, but might be difficult or time consuming to retrieve. It reduces the need to re-compute original data that is frequently accessed. This reduces the load and increases the server’s speed.

Overload can be caused by a variety of factors, from too much traffic at one point in time, to computer worms generating excessive traffic. However, the partial unavailability of poorly maintained servers in need of upgrade or maintenance is another cause of overload.

In order to prevent overload network traffic must be managed through a variety of methods. Web sites protect themselves through the use of firewalls. Firewalls are security devices used to block traffic and set up connections only within the parameters of the company’s or individual’s IT security policy. They shield against bad IP sources or bad IP patterns. HTTP request managers redirect or re-write requests with bad HTTP patterns. Bandwidth management and traffic shaping helps stabilize network usage. Bandwidth management measures and controls the amount of data or traffic, for example, that takes place on a network link. Overloading links or even filling them to capacity affects performance and causes network congestion. Traffic shaping helps control traffic to optimize server performance as defined by low latency (speed) and low bandwidth use (more economical). By classifying requests and enforcing policies, traffic shaping mechanisms reduce network congestion and improve quality of service (QoS).

« « Data Warehouses Non Technical Issues
Supply Chain Management : Inventory » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 394 Followers
  • Popular
  • Recent
  • .NET Client-Server Technology

    July 15, 2007 - 0 Comment
  • Ajax and Web Applications

    August 22, 2007 - 0 Comment
  • Client-Server Technology : Thin Clients

    July 18, 2007 - 0 Comment
  • Client-Server Security

    July 20, 2007 - 0 Comment
  • Client-Server Trends for 2007

    July 28, 2007 - 0 Comment
  • What are Web Servers?

    June 18, 2007 - 0 Comment
  • Virtualization and Client-Server Technology

    August 1, 2007 - 0 Comment
  • Client Server Models in Business Environment

    June 27, 2007 - 0 Comment
  • Client-Server Testing Technology

    August 6, 2007 - 0 Comment
  • Client Server Architecture

    June 30, 2007 - 0 Comment
  • Ajax and Web Applications

    August 22, 2007 - 0 Comment
  • Java and Client Server Models

    August 22, 2007 - 0 Comment
  • Web Services and Client Server Technology

    August 20, 2007 - 0 Comment
  • Object-Oriented Client-Server Internet

    August 20, 2007 - 0 Comment
  • N-Tier Client-Server Architecture

    August 15, 2007 - 0 Comment
  • Peer-to-Peer and Client-Queue-Client Architecture

    August 15, 2007 - 0 Comment
  • Client-Server Testing Technology

    August 6, 2007 - 0 Comment
  • Virtualization and Client-Server Technology

    August 1, 2007 - 0 Comment
  • Client-Server Trends for 2007

    July 28, 2007 - 0 Comment
  • Client-Server Security

    July 20, 2007 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Ajax and Web Applications
  • Java and Client Server Models
  • Web Services and Client Server Technology
  • Object-Oriented Client-Server Internet
  • N-Tier Client-Server Architecture

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT