Theory
તમે જેમાં રહો છો એ પડ
OSI નાં સાતેય પડમાંથી application layer જ એવું છે જેની સાથે તમે ખરેખર વર્તો છો. Frames કે packets વિશે તમે કદી વિચારતા નથી, પણ email અને web તો તમે રોજ વાપરો છો. Application layer આ સેવાઓ, એટલે કે email, web ની અવરજવર અને files ની ફેરબદલી, સીધી તમારા programs ને પૂરી પાડે છે.
આ પાઠ application layer ની બે પાયાની વાતો આવરી લે છે: email કઈ રીતે કામ કરે છે (એની પાછળનાં ખાતાં, mailboxes અને protocols), અને URL એટલે શું, જેમાં absolute તથા relative URLs વચ્ચેનો ફેર પણ આવે છે. આ બંને પછી આવનારા છેડેથી છેડા સુધીના case studies ની ભૂમિકા બાંધે છે.
Theory
Email કઈ રીતે કામ કરે છે
Email ના દરેક વપરાશકાર પાસે સરનામાવાળું ખાતું હોય છે (જેમ કે riya@example.com) અને mail server પર સચવાયેલું mailbox હોય છે. મોકલવા અને મેળવવા માટે જુદા protocols વપરાય છે.
મોકલવા માટે તમારો mail નો program SMTP (Simple Mail Transfer Protocol) વાપરે છે, જે સંદેશાને બહાર ધકેલે છે અને mail servers વચ્ચે આગળ પહોંચાડતો રહે છે, જ્યાં સુધી એ મેળવનારના server સુધી ન પહોંચે અને એના mailbox માં ન મુકાય.
આવેલો mail વાંચવા માટે તમારો program એને તમારા mailbox માંથી POP3 (Post Office Protocol) કે IMAP (Internet Message Access Protocol) વાપરીને ખેંચી લે છે. એટલે આમ વિચારો: SMTP મોકલે છે, POP3/IMAP લાવે છે. આ ત્રણેય application layer ના protocols છે.
Theory
URLs: absolute સામે relative
URL (Uniform Resource Locator) એટલે web પરના કોઈ સાધનનું સરનામું. એ બે સ્વરૂપે આવે છે.
Absolute URL પૂરું સરનામું આપે છે: એટલે કે scheme, domain અને આખો રસ્તો, દાખલા તરીકે https://example.com/images/logo.png. એ ગમે ત્યાંથી કામ કરે છે, કારણ કે એ બધું જ સ્પષ્ટ લખી દે છે.
Relative URL ફક્ત અધૂરો રસ્તો આપે છે, દાખલા તરીકે images/logo.png, અને બાકીનું browser અત્યારના page ના સ્થાન પરથી ભરી લે છે. એટલે https://example.com/ પરના કોઈ page પર relative images/logo.png એ જ absolute સરનામામાં ઉકેલાય છે. Relative URLs ટૂંકાં હોય છે અને સંદર્ભમાં ઉકેલાય છે.
At a glance
| બાબત | Absolute URL | Relative URL |
|---|---|---|
| શું ધરાવે છે | પૂરું સરનામું (scheme + domain + રસ્તો) | ફક્ત અધૂરો રસ્તો |
| દાખલો | https://example.com/images/logo.png | images/logo.png |
| ક્યાંથી ચાલે છે | ગમે ત્યાંથી, કારણ કે એ પૂરું છે | અત્યારના page ના સ્થાનના સંદર્ભમાં ઉકેલાય છે |
| શેના માટે શ્રેષ્ઠ | બીજી sites સાથે જોડાણ કરવા | એ જ site ની અંદર જોડાણ કરવા |
Quiz
Email ની પદ્ધતિમાં સંદેશો **મોકલવા** (અને એને mail servers વચ્ચે આગળ પહોંચાડવા) કયો protocol વપરાય છે?
- POP3, કારણ કે એ mail ને ટપાલમાં નાખે છે
- SMTP (Simple Mail Transfer Protocol), જે mail મોકલે છે અને servers વચ્ચે આગળ પહોંચાડે છે
- IMAP, કારણ કે એ સંદેશા તરત મોકલી દે છે
- HTTP, કારણ કે email પણ internet પર જ છે
Show the answer
SMTP (Simple Mail Transfer Protocol), જે mail મોકલે છે અને servers વચ્ચે આગળ પહોંચાડે છે
SMTP (Simple Mail Transfer Protocol) એ email મોકલવાનો અને એને mail servers વચ્ચે આગળ પહોંચાડવાનો protocol છે, જ્યાં સુધી એ મેળવનારના mailbox સુધી ન પહોંચે. વિકલ્પ A એના 'Post Office' વાળા નામ છતાં ખોટો છે: POP3 તમારા mailbox માંથી mail ઉતારવા માટે વપરાય છે, મોકલવા માટે નહીં. વિકલ્પ C ખોટો છે: POP3 ની જેમ IMAP પણ server પર આવેલા mail ને ઉતારવા તથા સંભાળવા માટે છે, મોકલવા માટે નહીં. વિકલ્પ D સેવાઓ ગૂંચવે છે: HTTP એ web નાં pages ની ફેરબદલી કરે છે; email ના પોતાના protocols છે. વહેંચણી યાદ રાખો: SMTP મોકલે છે (બહાર ધકેલે અને આગળ પહોંચાડે), જ્યારે POP3 અને IMAP લાવે છે (તમારા mail ના program માં ખેંચે).
Think first
હંમેશા પૂરું સરનામું લખવાને બદલે relative URLs કેમ વાપરવાં?
Absolute URLs તો હંમેશા ચાલે જ છે. તો web ના developers site ની અંદર ઘણી વાર relative URLs કેમ વાપરે છે? વિચારીને પછી tap કરો.
Show the answer
કારણ કે relative URLs site ને ખસેડી શકાય એવી અને સાચવવામાં સહેલી બનાવે છે, કારણ કે એમાં domain પાકું જડી દેવાયું હોતું નથી. કલ્પના કરો કે એક site માં સેંકડો અંદરનાં જોડાણ અને છબીઓ છે. જો એમાંનું દરેક https://example.com/images/logo.png જેવું absolute URL વાપરતું હોય, તો site ને નવા domain પર ખસેડવી, કે શરૂ કરતાં પહેલાં એને પોતાના યંત્ર પર ચકાસવી, દરેક જોડાણ તોડી નાખત, જ્યાં સુધી તમે એ બધાંને નવા સરનામામાં ન બદલો. images/logo.png જેવાં relative URLs સાથે દરેક જોડાણ અત્યારના page નું સ્થાન જે હોય એના સંદર્ભમાં ઉકેલાય છે, એટલે એ જ pages ચાલુ domain પર, ચકાસણીના server પર, કે વિકાસ દરમિયાન તમારા laptop પર, બદલ્યા વગર જ કામ કરે છે, અને site અત્યારે જ્યાં હોય ત્યાં જ જોડાણ ચીંધે છે. એથી site ને ખસેડવી, એનું નામ બદલવું અને એને સાચવવી ઘણું સહેલું બને છે, અને લખાણ પણ ટૂંકું તથા સ્વચ્છ રહે છે. સામે પક્ષે એ પણ ખરું કે relative URLs નો અર્થ ફક્ત એ જ site ની અંદરનાં જોડાણ માટે જ સરે છે (જ્યાં 'અહીંના સંદર્ભમાં' કહેવાનો અર્થ હોય); જુદી website સાથે જોડાણ કરવું હોય તો absolute URL વાપરવું જ પડે, કારણ કે ત્યાં કોઈ સહિયારો સંદર્ભ હોતો નથી. એટલે વ્યવહારુ નિયમ આવો છે: અંદરનાં જોડાણ માટે relative (ખસેડી શકાય એવું, સુઘડ), અને બહારનાં માટે absolute (પૂરું, અસ્પષ્ટતા વગરનું). Relative URLs site ને પોતાનું સરનામું શું છે એની પરવા કર્યા વગર ચાલવા દે છે, અને એટલા માટે જ એને ખસેડવી સહેલી પડે છે.
Summary
Key takeaways
- Application layer (OSI 7) સીધી વપરાશકારના programs ને network ની સેવાઓ આપે છે: email, web, files ની ફેરબદલી.
- Email ના વપરાશકાર પાસે સરનામાવાળું ખાતું અને mail server પર mailbox હોય છે.
- SMTP (Simple Mail Transfer Protocol) mail મોકલે છે અને servers વચ્ચે આગળ પહોંચાડે છે; POP3 અને IMAP એને mailbox માંથી લાવે છે.
- યાદ રાખો: SMTP મોકલે છે, POP3/IMAP લાવે છે, અને એ ત્રણેય application layer ના protocols છે.
- URL એટલે web નું સરનામું; absolute URL પૂરું સરનામું આપે છે (scheme + domain + રસ્તો).
- Relative URL ફક્ત અધૂરો રસ્તો આપે છે, જે અત્યારના page ના સ્થાનના સંદર્ભમાં ઉકેલાય છે; એ site ની અંદરનાં જોડાણ માટે શ્રેષ્ઠ છે.
- યાદ રાખવાની કડી: SMTP બહાર, POP3/IMAP અંદર; absolute એટલે પૂરું સરનામું, relative એટલે સંદર્ભમાં ઉકેલાતું.