Overview of Web Applications & Evolution of Web Architecture

Overview of web application 


Web Application (commonly known as Web Apps) is an application software that runs on the web server and is accessed via the web browser over the internet. Unlike the traditional standalone desktop application, web applications are distributed in nature and multiple users can access its services simultaneously through the web browsers. 

Working of web applications 

The web applications are based on client-server architecture, it involves a series of interactions between client(web browser), web server, application logic and database. 

Step by step working of web applications 

Step1 : Users request 

The user opens the web browser and forms HTTP or HTTPS requests either by entering the web application URL or interacting with components of web pages like(button click etc.)

Step 2: Web Server Process the request

The web servers (apache or nginx) receives the users requests as HTTP/HTTPS request, and send the response based on type of service requested:

  • If the request is for static content like: HTML,CSS or image they are sent directly without any further processing.
  • If the request is for dynamic content, the request is forwarded for further processing by application logic processing server.

Step 3: Application Server Processing 

The application server executes the business logic using the backend framework or programming language. The server is responsible for processing the logic for : Authentication and Authorization, business logic processing etc. The application server also queries the database , if processing of any database related queries are required. 

Step 4: Interaction with database

The application server interacts with the database, if new database records need to be created, records need to be updated or deleted. The result of these operations are sent back to the application server for further processing or response. 

Step 5: Response Generation 

Once the processing of request for dynamic resource is completed, the HTTP response is sent back to the web browser as HTML page or JSON data etc. The web browser now is responsible for rendering the response in user friendly format.


Evolution of Web architecture


The evolution of web architecture describes how web applications and systems have evolved from simple static web pages to modern complex, scalable and intelligent systems. The evolution up to modern web applications is driven by complex business requirements, increased user base, affordable internet access and advancement in software and hardware technologies. Here is the timeline for evolution of web architecture:

 

Static Web Pages (Early 1990s): The first websites consisted of simple, static HTML documents stored on a server. The architecture was a basic client-server model where a browser requested a file and the server returned it. There was little to no user interaction beyond hyperlinks.

Dynamic Web Pages and Multi-Tier Architecture (Late 1990s - 2000s): Technologies like CGI, PHP, and ASP enabled server-side scripting, allowing content to be generated dynamically from databases based on user requests. This led to multi-tier architectures (presentation, application logic, and data layers) which improved organization and maintainability for early e-commerce and content management systems.

AJAX and the Rise of Web 2.0 (Mid-2000s): The introduction of AJAX (Asynchronous JavaScript and XML) allowed web pages to communicate with the server and update parts of the page without a full reload. This was a pivotal shift, enabling rich, interactive applications like Google Maps and Gmail and fostering the "Web 2.0" era of user-generated content and social media.

Single-Page Applications (SPAs) (2010s - Present): SPAs became popular with the advent of powerful JavaScript frameworks like Angular, React, and Vue.js. In this architecture, a single HTML page is loaded, and the application's functionality and content are dynamically managed by client-side JavaScript, providing a fast, app-like user experience.

Microservices and Serverless (Mid-2010s - Present): To manage the complexity and scale of large applications, the monolithic backend was broken down into smaller, autonomous services that communicate via APIs. The serverless architecture further abstracts infrastructure management, allowing developers to focus purely on code (functions) that run on demand in the cloud.

Hybrid and Decentralized Architectures (Present & Future): Modern frameworks now leverage a hybrid approach, combining the benefits of server-side rendering (for performance and SEO) with client-side interactivity. The emerging Web 3.0 paradigm, utilizing blockchain and decentralized networks, aims to shift data ownership and control back to users, moving away from centralized servers.