Server શું છે? એપ બનાવનારાઓ માટે સરળ માર્ગદર્શિકા
Server એ કમ્પ્યુટર છે — અથવા તેના પર ચાલતો પ્રોગ્રામ — જે વિનંતીઓની રાહ જુએ છે અને તેમનો જવાબ આપે છે. જ્યારે તમે વેબસાઇટ ખોલો છો, ત્યારે તમારો બ્રાઉઝર (client) ઇન્ટરનેટ પર વિનંતી મોકલે છે, અને ક્યાંક રહેલો server પેજ, images અથવા ડેટા પાછો મોકલે છે. ઈમેલથી ઓનલાઇન બેંકિંગ સુધી, તમે વાપરતી દરેક એપ દિવસમાં લાખો વાર આ કરતા servers પર આધાર રાખે છે.
AI સાથે બનાવતી વખતે servers શા માટે મહત્વના છે
જ્યારે AI બિલ્ડર તમારી એપ બનાવે છે, ત્યારે કોડનો એક ભાગ મુલાકાતીના બ્રાઉઝરમાં ચાલે છે અને બીજો ભાગ સામાન્ય રીતે સર્વર પર ચાલે છે. સર્વર ભાગ એ કામો કરે છે જે બ્રાઉઝર પર વિશ્વાસ ન કરી શકાય અથવા એકલું કરી ન શકે:
- ડેટા સાચવવો અને લોડ કરવો database માંથી.
- Secrets રાખવા, જેમ કે payment અથવા AI પ્રદાતાની API keys, જે ક્યારેય બ્રાઉઝર સુધી ન પહોંચવી જોઈએ.
- પરવાનગીઓ તપાસવી — ખાતરી કરવી કે વપરાશકર્તા ફક્ત પોતાના રેકોર્ડ જોઈ અને બદલી શકે.
- બીજી સેવાઓ સાથે વાત કરવી: કાર્ડ ચાર્જ કરવું, ઈમેલ મોકલવો, AI મોડેલને કૉલ કરવો.
સર્વર શું કરે છે તે જાણવાથી તમે સમજી શકો છો કે તમારી એપના નિયમો ખરેખર ક્યાં રહે છે, કેટલાક ફેરફારો માટે ફરી publish કેમ જરૂરી છે, અને એપ hosting કરતી વખતે તમે શેના માટે ચૂકવો છો. બે ભાગો વચ્ચેના વિભાજન માટે, frontend વિરુદ્ધ backend જુઓ.
રોજિંદો ઉદાહરણ
Server એ પોસ્ટ ઓફિસના કાઉન્ટર સ્ટાફ જેવો છે. તેઓ ગ્રાહકોને શોધવા જતા નથી; તેઓ રાહ જુએ છે. એક ગ્રાહક (client) વિનંતી સાથે આવે છે — "આ પાર્સલ મોકલો," "મારો કોઈ પત્ર છે?" — અને કારકુન તેને સંભાળે છે અને પરિણામ પાછું આપે છે. એક કારકુન એક પછી એક ઘણા ગ્રાહકોને સેવા આપી શકે છે, અને વ્યસ્ત પોસ્ટ ઓફિસ વધુ કાઉન્ટર ખોલે છે.
પોસ્ટ ઓફિસના નિયમો પણ છે જે ગ્રાહક બદલી ન શકે: પાર્સલ લેવા માટે ID બતાવવી પડે છે. એપમાં પણ સર્વરનું કામ એ જ છે — બ્રાઉઝર ગમે તે માંગી શકે, પણ સર્વર નક્કી કરે કે તેને શું મળશે.
વિનંતી સર્વર સુધી કેવી રીતે પહોંચે છે
જ્યારે કોઈ https://bookings.example.com/schedule ની મુલાકાત લે:
- DNS lookup. બ્રાઉઝર domain name system ને પૂછે છે કે
bookings.example.comકયા IP સરનામા તરફ ઈશારો કરે છે. domains અને DNS કેવી રીતે કામ કરે છે જુઓ. - Connection. બ્રાઉઝર તે સરનામા સાથે, HTTPS માટે port 443 પર, જોડાય છે અને એક એન્ક્રિપ્ટેડ કનેક્શન સેટ કરે છે. HTTPS શું છે જુઓ.
- Request. તે HTTP વિનંતી મોકલે છે:
GET /schedule. - Work. સર્વર
/scheduleને સંભાળતો કોડ ચલાવે છે — કદાચ database માંથી આજના બુકિંગ શોધીને. - Response. તે status code (
200 OK) અને સામગ્રી પાછી મોકલે છે — HTML પેજ, અથવા પેજ બતાવવા માટેનો JSON ડેટા.
આ બધું સામાન્ય રીતે સેકન્ડના એક અંશમાં થાય છે.
તમે સાંભળશો તેવા સર્વરના પ્રકારો
| શબ્દ | તેનો અર્થ |
|---|---|
| Web server | HTTP વિનંતીઓનો જવાબ આપતું સૉફ્ટવેર — ફાઇલો મોકલે અથવા વિનંતીઓ તમારી એપના કોડ સુધી પહોંચાડે. |
| Application server / backend | તમારો પોતાનો કોડ સર્વર પર ચાલે છે: બુકિંગ, લૉગ ઇન અને પેમેન્ટ સંભાળતો API. |
| Database server | જેનું કામ ડેટા સાચવવાનું અને query કરવાનું છે — જેમ કે તમારી એપ જે Postgres database સાથે વાત કરે છે. |
| File / static server | તૈયાર ફાઇલો (HTML, images, scripts) મોકલે, દરેક વિનંતી માટે કસ્ટમ કોડ ચલાવ્યા વગર. |
| Physical server | ડેટા સેન્ટરના રેકમાં એક વાસ્તવિક મશીન. |
| Virtual machine (VM) / VPS | ભૌતિક મશીનનો એક ભાગ જે પોતાના કમ્પ્યુટર જેવો વર્તે છે. |
| Container | એપ અને તેને જોઈતી બધી વસ્તુનું હળવું પૅકેજ, વહેંચાયેલા મશીન પર ચાલતું. ઘણા platforms આ રીતે એપ deploy કરે છે. |
| Serverless | તમે કોડ અપલોડ કરો છો અને પ્રદાતા માંગ પર ચલાવે છે — એવા સર્વર પર જે તમે ક્યારેય સંચાલિત કરતા નથી. serverless નો અર્થ શું છે જુઓ. |
ધ્યાન આપો કે "server" એ મશીન અને પ્રોગ્રામ બંનેનો અર્થ આપે છે. "Server ક્રેશ થયું" નો અર્થ બેમાંથી કોઈપણ હોઈ શકે.
એક કામ કરેલું ઉદાહરણ: સેલૂન બુકિંગ એપ
નાની સેલૂન બુકિંગ એપમાં સર્વર શું કરે છે તે અહીં છે:
- મુલાકાતી સાઇટ ખોલે છે. સર્વર (અથવા તેની આગળનું CDN) પેજ ફાઇલો મોકલે છે.
- પેજ સર્વરને
GET /api/slots?date=2026-10-03પૂછે છે. સર્વર database ને ખાલી સ્લોટ માટે query કરે છે અને તેમને JSON તરીકે પાછા આપે છે. - મુલાકાતી 14:00 બુક કરે છે. પેજ
POST /api/bookingsમોકલે છે. સર્વર તપાસે છે કે સ્લોટ હજી ખાલી છે — તે બ્રાઉઝરના શબ્દ પર વિશ્વાસ કરતું નથી — બુકિંગ સાચવે છે અને201 Createdપાછું આપે છે. - સર્વર પુષ્ટિ ઈમેલ મોકલવા માટે ઈમેલ સેવાને secret key વડે કૉલ કરે છે, જે સર્વર પર સંગ્રહાયેલી છે.
જો તમે સર્વર બંધ કરી દો, તો પેજ કદાચ CDN માંથી લોડ થાય, પણ તે સ્લોટ બતાવી કે બુકિંગ સાચવી શકે નહીં.
સર્વર સારી રીતે ચલાવવા માટે શું જોઈએ
- મેમરી (RAM) અને CPU. પૂરતી મેમરી ન હોય તો લોડ હેઠળ એપ ક્રેશ થાય; પૂરતું CPU ન હોય તો તે ધીમી પડે.
- ચાલુ હોવું. બંધ સર્વર જવાબ આપી શકતું નથી. કેટલાક platforms નિષ્ક્રિય એપને સૂવડાવી દે છે અને આગલી મુલાકાતે જગાડે છે, જે પૈસા બચાવે છે પણ પહેલી વિનંતીને ધીમી બનાવી શકે છે.
- ગોઠવણી અને secrets, environment variables તરીકે પૂરા પાડેલા.
- Logs — સર્વરનો રેકોર્ડ કે શું થયું, જ્યાં કંઈક તૂટે ત્યારે તમે પહેલા જુઓ છો.
- અપડેટ્સ અને સુરક્ષા પેચ, જે managed hosting તમારા માટે સંભાળે છે.
સામાન્ય ગેરસમજણો
- "Cloud એટલે કોઈ server નહીં." Cloud એ બીજી કંપનીઓના servers છે, જે કલાક પ્રમાણે કે વપરાશ પ્રમાણે ભાડે લેવાય છે.
- "Server એ મોટું ખાસ કમ્પ્યુટર છે." કોઈપણ કમ્પ્યુટર server તરીકે કામ કરી શકે છે. વિકાસ દરમિયાન
localhostખોલો ત્યારે તમારું laptop એક ચલાવે છે. - "જો બટન છુપાયેલું હોય, તો વપરાશકર્તાઓ તે કરી શકતા નથી." કોઈ પણ સીધી વિનંતીઓ તમારા સર્વર પર મોકલી શકે. પરવાનગી તપાસ સર્વર પર થવી જોઈએ, ફક્ત પેજમાં નહીં.
- "વધુ servers ધીમાપણું ઠીક કરે." ઘણીવાર સાચું કારણ ધીમી database query અથવા બહારની API હોય છે. પહેલા અવરોધ શોધો.
- "એપ રાખવા માટે મારે server સંચાલિત કરવું પડે." Managed platforms તમારા માટે servers ચલાવે છે; તમે કોડ deploy કરો છો અને તેઓ મશીનો સંભાળે છે.
તમારા AI બિલ્ડરને શું પૂછવું
- "આ એપનો કયો ભાગ સર્વર પર ચાલે છે, અને કયો બ્રાઉઝરમાં?"
- "બધી API keys સર્વર પર રાખો અને environment variables માંથી વાંચો."
- "ડેટા વાંચતી કે બદલતી દરેક વિનંતી માટે સર્વર પર પરવાનગીઓ તપાસો."
- "સર્વર logs ક્યાં મળે છે, અને આ ભૂલ વિશે તેઓ શું કહે છે?"
- "શું આ એપને ખરેખર સર્વરની જરૂર છે, કે તે static સાઇટ હોઈ શકે?"
- "એપ નિષ્ક્રિય રહ્યા પછી પહેલી વિનંતીનું શું થાય?"
Mythex પર servers
Mythex પર તમે servers સેટ કે સંચાલિત કરતા નથી. બિલ્ડ કરતી વખતે, તમારી એપ લાઇવ preview માટે ખાનગી cloud sandbox માં ચાલે છે. જ્યારે તમે publish કરો છો, ત્યારે Mythex તેને deploy કરે છે — static front ends static sites તરીકે, અને backends (Node, Python, C#, Java અને બીજા) Dockerfile માંથી બનેલા containers તરીકે — તમારે જાતે hosting ગોઠવવાની જરૂર નથી. Deploy સમયે Mythex મશીનનું કદ પસંદ કરે છે: ડિફૉલ્ટ રીતે 1 CPU અને 512 MB મેમરી, વિનંતી પર વધુ ઉપલબ્ધ (Free પર 1 GB સુધી, અને Pro પર 2 CPUs, 4 GB અને 3 machines સુધી). પ્રકાશિત એપ નિષ્ક્રિય હોય ત્યારે સૂઈ જાય છે અને આગલી મુલાકાતે જાગે છે, અને સૂતેલી એપ કમ્પ્યુટ પર કંઈ ખર્ચતી નથી. વિગતો API backends અને hosting limits દસ્તાવેજોમાં છે, અને વ્યાપક ચિત્ર માટે વેબ hosting પરની અમારી માર્ગદર્શિકા જુઓ.
પ્રશ્નો
સાદી ભાષામાં server એટલે શું?
Server એ કમ્પ્યુટર, અથવા તેના પર ચાલતો પ્રોગ્રામ, છે જે બીજા ઉપકરણોની વિનંતીઓની રાહ જુએ છે અને તેનો જવાબ આપે છે. જ્યારે તમે વેબસાઇટ ખોલો છો, ત્યારે તમારો બ્રાઉઝર server ને પેજ માંગે છે, અને server તેને પાછું મોકલે છે.
Server ભૌતિક મશીન છે કે સૉફ્ટવેર?
બંને અર્થ વપરાય છે. "Server" એટલે ભૌતિક અથવા વર્ચ્યુઅલ કમ્પ્યુટર, અથવા તેના પરનો પ્રોગ્રામ જે વિનંતીઓ સંભાળે, જેમ કે web server. આજે મોટાભાગની એપ તમારી માલિકીના હાર્ડવેર પર નહીં, પણ cloud પ્રદાતાના data centre માં virtual machines અથવા containers પર ચાલે છે.
શું દરેક વેબસાઇટને server જોઈએ?
હા, કંઈક હંમેશાં મુલાકાતીને ફાઇલો મોકલવી પડે. Static વેબસાઇટને ફક્ત સાદો file server અથવા CDN જોઈએ. જે એપ ડેટા સાચવે, લૉગ ઇનને સંભાળે અથવા secret API keys રાખે, તેને તમારો પોતાનો કોડ ચલાવતો backend server પણ જોઈએ.
Localhost નો અર્થ શું છે?
Localhost નો અર્થ છે "આ જ કમ્પ્યુટર." પોતાના મશીન પર એપ ચલાવતો developer તેને http://localhost:3000 જેવા સરનામે ખોલે છે. ફક્ત તે કમ્પ્યુટર તેને પહોંચી શકે છે; જાહેર server પર deploy ન થાય ત્યાં સુધી કોઈ બીજું તેને જોઈ શકતું નથી.