- 2073 Magh · 4+4 marks
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
- The first time, the server sends the object with a header
Last-Modified: Wed, 9 Sep 2020 09:23:24(or anETag). The cache stores the object with this date. - Later, when the user requests it again, the cache sends a GET with
If-Modified-Since: Wed, 9 Sep 2020 09:23:24(orIf-None-Match: <etag>). - If unchanged, the server replies
304 Not Modifiedwith an empty body. The cache uses its local copy. - If changed, the server replies
200 OKwith 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.
- Presentation tier (client): user interface such as a browser or GUI; accepts input and displays results.
- 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).
- 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)
Related questions
- Client/server architecture and FTP operation · Internet and Intranet, chapter 3
- XML and JavaScript for client-side web apps · Internet and Intranet, chapter 6
- HTTP request methods; web server and virtual hosting · Internet and Intranet, chapter 4
- N-tier challenges and tiered ISP backbone · Internet and Intranet, chapter 1
- Web architecture and web-tier components · Web Technology, chapter 2
- Server side languages and multi-tier architecture · Web Technology, chapter 3
- Features of client/server architecture · Computer Networks and Security, chapter 1
- Architecture before specification; client-server · Software Engineering, chapter 3