Skip to main content

Conditional GET; 3-tier architecture components

Short answer

A conditional GET uses If-Modified-Since or If-None-Match to check freshness; the server returns 304 Not Modified if unchanged, saving bandwidth and time. The 3-tier architecture separates presentation (client), application logic (middle tier), and data (database) for scalability and security.

Explain the role of conditional GET in web browsing? What are the essential components of 3-tier client/server architecture?

Conditional GET

A conditional GET lets a cache (browser or proxy) check whether its stored copy of an object is still current, so the server need not resend the object if it has not changed.

Operation

  1. The first time, the server sends the object with a header Last-Modified: Wed, 9 Sep 2020 09:23:24 (or an ETag). The cache stores the object with this date.
  2. Later, when the user requests it again, the cache sends a GET with If-Modified-Since: Wed, 9 Sep 2020 09:23:24 (or If-None-Match: <etag>).
  3. If unchanged, the server replies 304 Not Modified with an empty body. The cache uses its local copy.
  4. If changed, the server replies 200 OK with the new object.
 Cache                               Server
   |-- GET obj, If-Modified-Since -->|
   |<-- 304 Not Modified (no body) --|   (unchanged)
   |<-- 200 OK + new object ---------|   (changed)

Role: saves bandwidth and server load, reduces response time, and still guarantees the user gets an up-to-date page.

Components of 3-tier client/server architecture

The application is divided into three logical layers, which may run on different machines.

  1. Presentation tier (client): user interface such as a browser or GUI; accepts input and displays results.
  2. Application / business logic tier (middle tier): web/application server that processes requests, applies business rules and talks to the database (PHP, Java servlets, ASP.NET).
  3. Data tier (database server): stores and manages data (MySQL, Oracle); handles queries and transactions.
 [Browser] <--HTTP--> [App/Web server] <--SQL--> [Database]
 Presentation         Logic                      Data

Advantages: better scalability, easier maintenance, security (clients never reach the database directly), and independent upgrading of each tier.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Internet and Intranet chapter 4 questions →