🌐
REST Fundamentals

REST Kya Hai?

Representational State Transfer
💡 REST ek RESTAURANT MENU SYSTEM hai — HAR DISH (RESOURCE) ka EK FIXED NAME/NUMBER hai (URL), aur TUM, STANDARD ACTIONS (ORDER karna, CANCEL karna, MODIFY karna) SE, USE INTERACT karте ho — WAITER (SERVER) ko, HAR DISH ki INTERNAL RECIPE (IMPLEMENTATION) PATA NAHI hoती, TUMHE SIRF, MENU (API CONTRACT) PATA HOTA hai.

REST (Representational State Transfer), Roy Fielding ki 2000 ki PhD DISSERTATION SE AAYA, EK ARCHITECTURAL STYLE hai, WEB SERVICES banaने ke liye — KOI PROTOCOL YA STANDARD NAHI, EK SET of CONSTRAINTS/PRINCIPLES hai, JO, SCALABLE, MAINTAINABLE APIs DESIGN karne mein, HELP karte hain.

CORE IDEA — HAR CHEEZ, EK "RESOURCE" hai (jaise EK USER, EK ORDER), JISKA EK UNIQUE URI (jaise /users/42) hai. CLIENT, STANDARD HTTP METHODS (GET, POST, PUT, DELETE) SE, IN RESOURCES PAR, OPERATIONS PERFORM karta hai. RESOURCE ki CURRENT STATE, EK "REPRESENTATION" (TYPICALLY JSON) ke ROOP mein, TRANSFER hoती hai.

// Resource-oriented URLs — NOUNS, VERBS NAHI:
GET    /api/users          → saare users
GET    /api/users/42       → ek specific user
POST   /api/users          → naya user banao
PUT    /api/users/42       → user update karo
DELETE /api/users/42       → user delete karo

// GALAT (RESTful NAHI — URL mein VERB):
// GET /api/getUsers
// POST /api/createUser
🌐
REST ek RESTAURANT MENU SYSTEM hai — HAR DISH (RESOURCE) ka EK FIXED NAME/NUMBER hai (URL), aur TUM, STANDARD ACTIONS (ORDER karna, CANCEL karna, MODIFY karna) SE, USE INTERACT karте ho — WAITER (SERVER) ko, HAR DISH ki INTERNAL RECIPE (IMPLEMENTATION) PATA NAHI hoती, TUMHE SIRF, MENU (API CONTRACT) PATA HOTA hai.
1 / 6
⚡ Quick Recap
  • REST = architectural style, protocol NAHI hai
  • Resources, URIs se identify hote hain (nouns, verbs nahi)
  • Standard HTTP methods se, resources par, operations perform hote hain
Is page mein (2 subtopics)

REST, CHHE, ARCHITECTURAL CONSTRAINTS PAR, BASED hai — CLIENT-SERVER, STATELESSNESS, CACHEABILITY, UNIFORM INTERFACE, LAYERED SYSTEM, aur CODE-ON-DEMAND (OPTIONAL). IN CONSTRAINTS ko, FOLLOW karна, EK SYSTEM ko, "RESTful" BANATA hai.

  • Client-Server = concerns, SEPARATE (UI vs DATA STORAGE)
  • Stateless = server, client CONTEXT, STORE NAHI karta
  • Uniform Interface = CONSISTENT, PREDICTABLE, resource interactions

Stateless SERVERS, HORIZONTALLY, EASILY, SCALE hote hain — KISI BHI REQUEST ko, KISI BHI SERVER INSTANCE PAR, ROUTE kiya ja sakta hai (LOAD BALANCER SE), kyunki, KOI "SESSION AFFINITY" ki, ZAROORAT NAHI (SERVER, CLIENT ki, STATE, YAAD NAHI RAKHTA — HAR REQUEST, SELF-CONTAINED hai).

💡Tip: Session-based, TRADITIONAL WEB APPS (JISME, SERVER, "LOGGED-IN" STATE, MEMORY mein, RAKHTA hai) STATEFUL hote hain — REST APIs, INSTEAD, JWT jaise, TOKENS SE, HAR REQUEST ko, SELF-CONTAINED BANATE hain.