0% found this document useful (0 votes)
5 views9 pages

Unit 1

The document outlines the evolution of web applications from static HTML pages in the early 1990s to modern web applications utilizing frameworks and cloud technologies. It details key developments in web interfaces, including the introduction of dynamic content, server-side scripting, state management, client-side scripting, AJAX, and the distinction between web and cloud applications. Additionally, it highlights the associated risks and security considerations that have emerged throughout these advancements.

Uploaded by

p.ezhil2284
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views9 pages

Unit 1

The document outlines the evolution of web applications from static HTML pages in the early 1990s to modern web applications utilizing frameworks and cloud technologies. It details key developments in web interfaces, including the introduction of dynamic content, server-side scripting, state management, client-side scripting, AJAX, and the distinction between web and cloud applications. Additionally, it highlights the associated risks and security considerations that have emerged throughout these advancements.

Uploaded by

p.ezhil2284
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

History of web applications interface

Early Web (Static Content)

 Timeframe: Early to mid-1990s


 Interface: Simple HTML pages served over HTTP
 Behavior:
o Pages were static — content didn’t change unless the HTML file on the server
was modified.
o No real interaction or logic; users could only request and view content.

o No user state — every request was treated as isolated and unrelated to previous
ones.

⚙️2. Dynamic Content with CGI

 Timeframe: Mid to late 1990s


 Interface: Introduction of server-side scripts via CGI (Common Gateway Interface)
 Behavior:
o Pages became dynamically generated based on user input or other data.

o Scripts (Perl, Shell, etc.) were executed on the server to return custom responses.

o User interaction was still limited, but more logic and personalization became
possible.

🧩 3. Server-Side Technologies (PHP, ASP, JSP)

 Timeframe: Late 1990s to early 2000s


 Interface: Server-side scripting languages allowed for more complex logic
 Behavior:
o Pages could interact with databases (e.g., via SQL queries) to fetch or modify
data.
o Web applications started resembling traditional desktop applications in terms of
functionality.
o Enabled login systems, shopping carts, forums, etc.
🍪 4. Introduction of State: Cookies and Sessions

 HTTP is stateless by design, but applications needed to maintain state (e.g., login
sessions).
 Cookies, hidden form fields, and URL parameters were introduced to manage state
between requests.
 This introduced new attack surfaces (e.g., session hijacking, parameter tampering).

🧠 5. Client-Side Scripting (JavaScript) and DOM

 JavaScript became widely adopted for client-side interactivity.


 Dynamic Document Object Model (DOM) manipulation allowed pages to update content
without reloading.
 Opened the door to cross-site scripting (XSS) and other browser-based attacks.

🔁 6. AJAX and Rich Interfaces

 AJAX (Asynchronous JavaScript and XML) allowed partial page updates and
smoother user experiences.
 Web apps started behaving like desktop apps, e.g., Gmail, Google Maps.
 Introduced complex client-server interactions, making apps harder to secure.

🔐 7. Modern Web Applications

 Use of frameworks (React, Angular, Vue), APIs (REST, GraphQL), and Single Page
Applications (SPAs).
 Security shifted to both client and server side.
 Attack surface now includes Web APIs, mobile clients, JavaScript-heavy logic, etc.

Summary Table:

Era Interface Type Key Tech Risks Introduced


Early Web Static HTML HTML, HTTP Info disclosure
Era Interface Type Key Tech Risks Introduced
CGI Era Dynamic pages CGI scripts Injection flaws
Server-Side Logic Interactive apps PHP, ASP Auth flaws, SQLi
Stateful Web Sessions Cookies, tokens Session hijacking
Client-Side Scripting Interactive UI JavaScript XSS
Rich Interfaces AJAX/SPAs JSON, XML, APIs CSRF, API abuse
Modern Web App-like experience React, REST Complex attacks

1. Early Web (Static Content)

Timeframe: Early to mid-1990s


Interface: Simple HTML pages served over HTTP

Behavior:

 Pages were static — content didn’t change unless the HTML file on the server was
modified.
 No real interaction or logic; users could only request and view content.

 No user state — every request was treated as isolated and unrelated to previous ones.

📌 Example:
A basic personal homepage hosted on GeoCities:
http://www.geocities.com/user123/home.html
This page simply displayed hard-coded text and images using plain HTML.

⚙️2. Dynamic Content with CGI

Timeframe: Mid to late 1990s


Interface: Introduction of server-side scripts via CGI (Common Gateway Interface)

Behavior:

 Pages became dynamically generated based on user input or other data.


 Scripts (Perl, Shell, etc.) were executed on the server to return custom responses.
 User interaction was still limited, but more logic and personalization became possible.

📌 Example:
A CGI guestbook using Perl:
http://example.com/cgi-bin/guestbook.pl?name=Alice
The server runs a Perl script that appends “Alice” to a guestbook file and displays it.

🧩 3. Server-Side Technologies (PHP, ASP, JSP)

Timeframe: Late 1990s to early 2000s


Interface: Server-side scripting languages allowed for more complex logic

Behavior:

 Pages could interact with databases (e.g., via SQL queries) to fetch or modify data.
 Web applications started resembling traditional desktop applications in terms of
functionality.

 Enabled login systems, shopping carts, forums, etc.

📌 Example:
A PHP-based login form:
http://example.com/login.php
User submits credentials, which are validated via a SQL query:

php
CopyEdit
SELECT * FROM users WHERE username='$user' AND password='$pass';

🍪 4. Introduction of State: Cookies and Sessions

HTTP is stateless by design, but applications needed to maintain state (e.g., login sessions).

 Cookies, hidden form fields, and URL parameters were introduced to manage state
between requests.
 This introduced new attack surfaces (e.g., session hijacking, parameter tampering).

📌 Example:
An e-commerce site that uses a session cookie to track the user's cart:

http
CopyEdit
GET /cart.php
Cookie: session_id=xyz789
The session_id keeps the cart contents persistent between visits.

🧠 5. Client-Side Scripting (JavaScript) and DOM

JavaScript became widely adopted for client-side interactivity.

 Dynamic Document Object Model (DOM) manipulation allowed pages to update content
without reloading.
 Opened the door to cross-site scripting (XSS) and other browser-based attacks.

📌 Example:
A form that uses JavaScript to validate user input before submission:

html
CopyEdit
<script>
if (!email.includes("@")) alert("Invalid email address");
</script>

Sites that reflect user input directly without sanitization become XSS targets:

php-template
CopyEdit
http://example.com/search?q=<script>alert('XSS')</script>

🔁 6. AJAX and Rich Interfaces

AJAX (Asynchronous JavaScript and XML) allowed partial page updates and smoother
user experiences.

 Web apps started behaving like desktop apps, e.g., Gmail, Google Maps.
 Introduced complex client-server interactions, making apps harder to secure.

📌 Example:
Gmail dynamically loads new messages with AJAX:

http
CopyEdit
GET /mail/inbox?last_id=345
Accept: application/json

The page updates new messages without refreshing, using JavaScript to inject the content.
🔐 7. Modern Web Applications

Use of frameworks (React, Angular, Vue), APIs (REST, GraphQL), and Single Page
Applications (SPAs).

 Security shifted to both client and server side.


 Attack surface now includes Web APIs, mobile clients, JavaScript-heavy logic, etc.

📌 Example:
A React app that loads user data from a REST API:

js
CopyEdit
fetch("https://api.example.com/user", {
headers: { "Authorization": "Bearer jwt.token.here" }
});

Data is rendered on the fly using React components; user state is often stored in localStorage.

📊 Summary Table:
Risks
Era Interface Type Key Tech Example
Introduced

Early Web Static HTML HTML, HTTP Info disclosure Geocities homepage

CGI Era Dynamic pages CGI scripts Injection flaws Guestbook with query param in URL

Auth flaws,
Server-Side Logic Interactive apps PHP, ASP Login form using direct SQL queries
SQLi

Cookies, Session
Stateful Web Sessions Shopping cart via session_id cookie
tokens hijacking

Client-Side Input validation or unsanitized input


Interactive UI JavaScript XSS
Scripting reflected back

JSON, XML, CSRF, API Gmail-style dynamic mail loading via


Rich Interfaces AJAX/SPAs
APIs abuse AJAX

App-like Complex React app fetching data from secured


Modern Web React, REST
experience attacks API
The terms web application and cloud application are often used interchangeably, but they have
key differences. Here's a breakdown:

🔹 Web Application

A web application is a software application that runs on a web server and is accessed through a
web browser over the internet or an intranet.

✅ Key Features:

 Runs in a web browser (e.g., Chrome, Firefox).


 Requires an internet connection (though offline-capable apps exist).

 Hosted on a centralized server.

 Examples: Gmail, Facebook, Trello (initial versions), online banking portals.

📌 Technologies Used:

 Frontend: HTML, CSS, JavaScript.


 Backend: PHP, Python, Java, Node.js, etc.

 Usually hosted on a traditional web hosting platform.

🔹 Cloud Application

A cloud application is a type of web application that leverages cloud computing—it uses cloud
infrastructure and services for storage, processing, scaling, and deployment.

✅ Key Features:

 Built to take advantage of cloud platforms like AWS, Azure, or Google Cloud.
 Highly scalable and resilient.
 Often supports distributed architectures (e.g., microservices, containers).

 Can have offline functionality (e.g., via local caching or service workers).

 Examples: Dropbox, Google Docs, Salesforce.

📌 Technologies Used:

 Uses cloud-native tools: Kubernetes, Docker, serverless functions, cloud databases (e.g.,
DynamoDB, BigQuery).

 Can integrate with SaaS, PaaS, or IaaS.

🔄 Comparison Table

Feature Web Application Cloud Application

Hosting Centralized web server Cloud infrastructure (AWS, Azure)

Scalability Limited Highly scalable

Offline Access Usually requires internet May support offline via cloud sync

Architecture Monolithic or MVC Often microservices, distributed

Cost Model Fixed hosting costs Pay-as-you-go (usage-based)

Examples Instagram Web, Reddit Zoom, Google Drive, Salesforce

🟢 In Summary:

 All cloud apps are web apps, but not all web apps are cloud apps.

 Cloud applications are more modern, scalable, and integrated with cloud services, while
traditional web apps are simpler and hosted on standard web servers.
Security fundamentals

You might also like