How the Web Browser Request goes to Server?

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

How the Web Browser Request goes to Server: जब Web Browser किसी URL के लिए कोई Request करता है, तो Request के रूप में एक Plain Text, HTTP Request Message Create होता है, जिसे Web Server पर Send किया जाता है। इस Request Message में उस Resource की Information होती है, जिसे Web Server से प्राप्त करके Current  Web Browser में Load किया जाना होता है।

उदाहरण के लिए यदि हम Web Browser के Address Bar में http://wwww.google.com Type करके Enter Key Press करते हैं, तो Web Browser निम्नानुसार HTTP Request Message Create करता है:

GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;
Accept-Language: en-gb,en;
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;
Keep-Alive: 300
Connection: keep-alive
Cookie: PREF=ID=980395a10a8f6655:U=c31bdc3844339937:…

इस Request में हर Line का Code एक प्रकार का Header Message है और हर Line Web Server को Request किए गए Resource से संबंधित विभिन्न प्रकार की जरूरी जानकारियां देता है। चलिए, इस Request Message को थोडा समझने की कोशिश करते हैं।

इस Header या Request Message में सबसे पहले वह Action या Method Define होता है, जिसका प्रयोग करते हुए Request Message को Web Server पर Send किया जाना है।

HTTP में हम मूल रूप से 8 प्रकार के Actions या Methods को उपयोग में लेते हुए Web Server से किसी Resource की Request कर सकते हैं। लेकिन सामान्‍यत: जब हम Web Browser द्वारा किसी Resource की Request करते हैं, तब वह Request GET या POST Method द्वारा की जाती है। फिर भी विभिन्न प्रकार के Request Methods की Details निम्नानुसार हैं:

GET Method

किसी भी Webpage के हमेंशा दो हिस्से होते हैं, जिन्हें Head PartBody Part के नाम से जाना जाता है। Head Part में हमेंशा Meta Information होते हैं, जो कि Basically Search Engines व Web Browser के Chrome से संबंधित होते हैं, जबकि Body Part में Web Page के Actual Contents होते हैं।

इस Method को Use करने पर Specified URL पर स्थित Page के Content का HTML Format Body Return होता है।

POST Method

इस Method का प्रयोग सामान्‍यत: HTML Form में किया जाता है, जिसमें किसी Data को फिर से Process होने के लिए Web Server पर भेजना होता है।

HEAD Method

ये Method GET Method के समान ही काम करता है। दोनों में मूल अन्तर केवल इतना है कि GET Method Use करने पर Requested HTML Page की Body भी Return होती है, जबकि HEAD Method Use करने पर Requested HTML Page का केवल Head Part ही Return होता है, जिसमें Web Browser से संबंधित Metadata Information होती है।

इस Method का प्रयोग हम तब करते हैं, जब हमें केवल Response के साथ आने वाले Metadata को ही प्राप्त करना होता है अथवा इस बात का पता लगाना होता है कि Specified URL Actually Exist है या नहीं।

PUT Method

इस Method को Use करके हम किसी Web Server पर स्थित किसी Resource को Update कर सकते हैं। ये सामान्‍यत: POST Method के समान काम करता है] लेकिन ये केवल उसी स्थिति में Server के किसी Resource को Modify कर सकता है, जबकि Server इस बात की Permission देता हो।

DELETE Method

इस Method को Use करके हम किसी Web Server पर स्थित किसी Resource को Delete कर सकते हैं, लेकिन ये केवल उसी स्थिति में Server के किसी Resource को Delete कर सकता है, जबकि Server इस बात की Permission देता हो।

TRACE Method

ये Method, Web Server पर Sender द्वारा आने वाली Request को फिर से उसी Sender को भेज देता है। इस Method का प्रयोग करके हम इस बात का पता लगा सकते हैं कि Request के दौरान कौन-कौन से Servers, Services आदि Client व Server के बीच बनने वाले Connection के Chain में Involve हो रहे हैं।

OPTIONS Method

इस Method को Use करके हम किसी Particular URL पर Available विभिन्न Actions या Methods का पता लगा सकते हैं] जिसे वह URL Support करता है। यदि हम URL को एक Wildcard Character (*) की तरह Specify करते हैं, तो Web Server हमें उस Resource पर Perform हो सकने वाले सभी Actions (Methods) की List Response के रूप में Return करता है।

अब यदि हम हमारे उपरोक्त उदाहरण के Request Message की पहली Line को देखें, जो कि निम्नानुसार है:

GET / HTTP/1.1

तो हम समझ सकते हैं कि ये Line Web Server को इस बात की Information देगा कि Web Browser को Request किए जाने वाले Page का HTML Markup यानी Body Part चाहिए। जबकि Line में दिखाई देने वाला “/” Character इस बात को Specify कर रहा है कि Web Browser को Specified Domain के Root Page या Home Page की जरूरत है और इस जरूरत को HTTP/1.1 यानी HTTP Protocol के 1.1 Version के Rules को Use करते हुए पूरा करना है।

Host: www.google.com

Request Message की ये Line Web Server को बताता है कि Web Browser जिस Host से Resource या Home Page की Request कर रहा है, वह Host www.google.com है।

User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0

Request Message की ये Line उस Web Browser की Information दे रहा है, जिससे Request Perform की गई है। सामान्‍यत: User-Agent Header में Current Web Browser की Information होती है।

ये Header Line इस बात को Specify कर रहा है कि Perform होने वाली Request Mozilla/5.0 Web Browser से Perform की गई है, जो कि Windows NT 6.2 Operating System यानी Windows-8 पर Installed है, जबकि WOW64 इस बात को Specify कर रहा है कि Installed Windows Operating System 64bit का है।

Web Browser के Operating System की Information के बाद Gecko/20100101 इस बात को Specify कर रहा है कि Current Web Browser Gecko Based Web Browser है, जिसका नाम Firefox है और Version 19.0 है।

Accept: text/html,application/xhtml+xml,application/xml;

Request Message की ये Header Line इस बात को Specify कर रहा है कि Current Web Browser किस-किस प्रकार के Document को Support करता है। यानी Current Web Browser किन File Types या MIME Types (Multipurpose Internet Mail Extensions) को हमारे समझने योग्य Format में Convert करके Render कर सकता है।

उपरोक्त Header इस बात को Specify कर रहा है कि Current Web Browser HTML, XHTML व XML Types के Documents को इस तरह से Render करने में सक्षम है, जिस तरह से वह हमें यानी Human Beings को समझ में आता है।

Accept-Language: en-gb,en;

ये Header Line, Web Server को इस बात की जानकारी देता है कि Current Web Browser किस LocaleLanguages के लिए Currently Configured है। ये Line इस बात को Specify कर रहा है कि Current Web Browser English Language व UK Locale के लिए Configured है क्योंकि “gb” UK Locale को Represent करता है। जबकि Backup के लिए केवल “en” Specified है, जो कि इस बात की Information है कि बिना किसी Geographical Locale की स्थिति में Default रूप से ये Web Browser English Language को Support करता है। Web Server इस Information को उस स्थिति में Ignore कर देता है, जब Web Browser द्वारा Requested Page केवल एक ही Language Version में Available हो।

Accept-Encoding: gzip,deflate

ये Header Web Server को इस बात की जानकारी दे रहा है कि Current Web Browser किस प्रकार के Encoding के Content को Accept कर रहा है। यदि Web Browser द्वारा Specified Encoding Type को Web Server Support न करता हो, तो Web Server स्वयं Standard Encoding Use कर लेता है। लेकिन यदि Web Server, Web Browser Accepted Encoding को समझता है, तो वह Response Content को उसी Format में Compress करके Send करता है, ताकि Response Content की Size कम हो जाए व Content ज्यादा तेजी से Web Server तक पहुंच सके।

उपरोक्त Header में gzipdeflate Compression Format को Current Web Browser Support करता है। जिसका मतलब ये है कि यदि Web Server इन Compression Formats को Support करता है] तो वह Requested Resource यानी HTML, CSS, JavaScript आदि Files को इनमें से किसी Format में Compress करके Web Browser को Send कर सकता है, जिससे Documents के Web Browser में Download होने की Speed काफी तेज हो जाती है।

Accept-Charset: ISO-8859-1,utf-8;

ये Header Message Web Server को इस बात की जानकारी देता है कि Current Web Browser ISO-8859-1 व utf-8 Character Sets की Encoding को Accept करता है, जिनमें लगभग दुनियां कि किसी भी भाषा के अक्षरों व Symbols के लिए Specific Code समाहित हैं। यानी Web Browser दुनियां की किसी भी भाषा के अक्षरों व Symbols को Web Browser में Render करने में सक्षम है।

Keep-Alive: 300

ये Header Message Web Server को इस बात की जानकारी देता है कि Web Browser व Web Server के बीच Data Transfer के लिए जो Connection बनेगा, वह Connection 300 Seconds यानी 5 Minutes तक Available रहेगा। परिणामस्वरूप यदि 300 Seconds की अवधि में Current Web Browser से फिर से उसी Web Server पर कोई Request Send की जाती है, तो Web Server पर फिर से नया Connection Open करने की जरूरत नहीं रहेगी। लेकिन यदि Request 300 Seconds के बाद की जाती है, तो Client व Server के बीच का Connection Lost हो जाएगा और Web Browser व Server के बीच फिर से एक नया Connection Open होगा।

Connection: keep-alive

ये Connection Header Information इस बात को Specify करता है कि Client व Server के बीच किस प्रकार का Connection बनेगा। सामान्‍यत: HTTP/1.1 Protocol के साथ keep-alive सबसे Common रूप से Use होने वाला Connection Type होता है।

Cookie: PREF=ID=980395a10a8f6655:U=c31bdc3844339937:…

HTTP Cookie Client Computer पर Locally Store होने वाले Text Based Data होते हैं, जिनका प्रयोग सामान्‍यत: Web Server द्वारा किसी Client Computer को Uniquely Identify करने अथवा Session Create करने के लिए किया जाता है। Cookies को सामान्‍यत: उस Web Site द्वारा Client Computer पर Place किया जाता है] जिसकी Request Web Browser करता है, ताकि Web Site अपने हर Viewer को Personalized Information दे सके।

चूंकि HTTP एक Connectionless Protocol है, यानी Client द्वारा एक बार Request करने और Server द्वारा उस Request को पूरा कर दिए जाने के बाद Client व Server दोनों एक दूसरे से पूरी तरह से अनजान हो जाते हैं, इसलिए उस स्थिति में Cookies का प्रयोग करके इस बात की जानकारी को Maintain किया जाता है कि किस Client ने Web Server पर किस Resource की Request की है। यानी एक बार एक Request पूरी हो जाने के बाद Cookies ही Client व Server के बीच एक दूसरे को फिर से Identify करने का माध्‍यम होते हैं।

JavaScript CSS Engines for Code Parsing & Rendering
How Web Server returns response as HTTP Response Object?

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

Advavnce JavaScript in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Advance JavaScript in Hindi | Page: 669 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।