2011-01-27 28 views
27

मैंने हाल ही में वेब एप्लिकेशन बैकएंड डेवलपर के रूप में अपना काम शुरू कर दिया है। मैं एक एचटीपी अनुरोध के जीवन चक्र को समझने में थोड़ा फंस गया हूं।एचटीपी अनुरोध जीवन चक्र

मैं क्या समझ में आ

  • हर HTTP अनुरोध पहला संपर्क एक DNS सर्वर जो एक आईपी पते को अनुरोध URL डोमेन का समाधान करता है।
  • वेबसर्वर आईपी एड्रेस अनुरोध लाने के बाद इसे अग्रेषित किया जाता है (PUT अनुरोध के माध्यम से)। अपाचे जैसे वेबसर्वर इस अनुरोध को संभालते हैं और इसे इस एप्लिकेशन को आगे बढ़ाते हैं जिसे इसे संभालना होता है।

इस के बाद मैं

  • साथ खो गया हूँ कैसे प्रतिक्रिया उपयोगकर्ता के लिए जो यह अनुरोध किया है और इस में शामिल Apcache जाएगा करने के लिए आवेदन द्वारा भेजा जाता है?
  • क्या मैं अपने ब्राउज़र में कुछ डीबगिंग टूल के साथ पूरा प्रवाह देख सकता हूं?
  • क्या कोई इसे गहराई से समझने के लिए कुछ लिंक देख सकता है?
+0

एक लिंक जोड़ना: [2.2 वर्ल्ड वाइड वेब: HTTP] (http://jpkc.ncwu.edu.cn/jsjwl/net/kurose/apps/http.htm) –

+0

ऊपर की तरह अब मर चुका है, नया जोड़ रहा है एक मैंने पाया [वेब प्रोटोकॉल] (https://www3.ntu.edu.sg/home/ehchua/programming/#webapp) –

उत्तर

67

मुझे लगता है कि आप इसकी समझ पर थोड़ा गलत हैं।

क्या आप www.google.com पर (किसी भी रूपों का उपयोग कर नहीं, बस साइट चाहने) जाते हैं, तो ऐसा होता है:

  1. पहले ब्राउज़र एक आईपी के लिए www.google.com का अनुवाद करने की जरूरत है पता अगर यह पहले से ही यह नहीं जानता है। अगर यह जानता है, इस बिंदु पर कुछ भी नहीं होता है। अगर यह नहीं जानता है, तो यह नाम को हल करने के लिए एक DNS सर्वर से संपर्क करता है।
  2. फिर ब्राउज़र www.google.com के आईपी पते पर एक टीसीपी कनेक्शन खुल जाएगा और HTTP GET अनुरोध भेज देगा। इस उदाहरण में यह
    GET/HTTP/1.1
    Host: www.google.com
  3. सर्वर सॉफ़्टवेयर को यह HTTP अनुरोध प्राप्त होगा। यह किसी भी तरह से एक HTTP प्रतिक्रिया उत्पन्न करेगा और वापस टीसीपी कनेक्शन को वापस भेज देगा। सर्वर सर्वर सर्वर पर निर्भर करता है। उदाहरण के लिए आप अपाचे में एप्लिकेशन कोड प्लग कर सकते हैं, या बस अपाचे को फाइल सिस्टम से फाइल वापस कर सकते हैं। PHP एक सॉफ्टवेयर है जिसे कुछ सॉफ़्टवेयर कहते हैं, जो तब ब्राउज़र को भेजी गई प्रतिक्रिया उत्पन्न करता है। जब प्रतिक्रिया भेजी जाती है, HTTP संस्करण 1.0 में कनेक्शन बंद हो जाता है। HTTP 1.1 हालांकि लगातार कनेक्शन हो सकता है।
  4. जब ब्राउज़र प्रतिक्रिया प्राप्त करता है, तो यह आमतौर पर स्क्रीन पर प्रस्तुत करता है। HTTP अनुरोध अब किया गया है। "खोज" पर एक क्लिक सर्वर पर एक नया अनुरोध भेज देगा।

प्राप्त करें, पुट, पोस्ट, हटाएं और अन्य HTTP request methods हैं। उनके पास विशेष अर्थ है जिसे आप आरएफसी में देख सकते हैं।

Cookies आमतौर पर सत्रों नामक एकाधिक HTTP अनुरोधों में एक ही उपयोगकर्ता की पहचान करने के लिए उपयोग किया जाता है। इसलिए इन कुकीज़ को सत्र कुकीज़

कहा जाता है आप नेटवर्क स्नफ़फर टूल का उपयोग कर संचार को डीबग कर सकते हैं, उदाहरण के लिए Wireshark। फ़ायरफ़ॉक्स में एक तृतीय पक्ष प्लगइन है जिसे Tamper Data कहा जाता है जो सर्वर पर भेजे जाने से पहले अनुरोध को बदल सकता है।

HTTP RFC यह सब अच्छा काम करता है इसका एक अच्छा स्रोत है।

उम्मीद है कि यह मदद करता है।

+0

क्लाइंट साइड प्रतिक्रिया पर सही विंडो/टैब/एप्लिकेशन पर सही तरीके से भेजा गया है अनुरोध – Poorna

+1

उठाया क्लाइंट पक्ष के पास कुछ टीसीपी कनेक्शन के लिए एक हैंडल है। केवल ग्राहक ही इसे पढ़ेगा, इसलिए ग्राहक को पता होना चाहिए कि टीसीपी कनेक्शन से सामग्री कहां जाना है। असल में, यह इस बात पर निर्भर करता है कि एप्लिकेशन को कोड किया गया है। – foens

+0

टीसीपी कनेक्शन कब बंद होगा? – MrROY

1

जबकि सर्वर ब्राउज़र से अनुरोध प्राप्त करता है, ब्राउज़र को होस्ट पर कुछ बंदरगाह से जोड़ा जाएगा, ब्राउज़र का आईपी पता और पोर्ट नंबर सर्वर से भेजे गए अनुरोध से जुड़ा होगा। सर्वर आईपी पते और पोर्ट नंबर

+1

जब आप किसी की मदद करते हैं तो स्वयं को सारांशित न करें। – Hamad

2

पर responce भेजता है यह विभिन्न उत्पाद आधारित कंपनियों में पूछे जाने वाले लोकप्रिय साक्षात्कार प्रश्नों में से एक है।

HTTP एक अनुरोध-प्रतिक्रिया प्रोटोकॉल है। उदाहरण के लिए, उपयोगकर्ता एजेंट किसी सर्वर पर अनुरोध शुरू करता है, आमतौर पर मेजबान पर किसी विशेष पोर्ट पर एक टीसीपी/आईपी कनेक्शन खोलकर (डिफ़ॉल्ट रूप से पोर्ट 80)। अनुरोध ही शामिल हैं:

एक अनुरोध लाइन,

अनुरोध हेडर का एक सेट है, और एक इकाई।

उस पोर्ट पर एक HTTP सर्वर सुनकर क्लाइंट के लिए अनुरोध संदेश भेजने की प्रतीक्षा करता है। अनुरोध प्राप्त करने पर, सर्वर एक प्रतिक्रिया भेजता है जिसमें शामिल हैं:

एक स्थिति रेखा, प्रतिक्रिया शीर्षकों का एक सेट, और एक इकाई। अनुरोध या प्रतिक्रिया में इकाई को बस पेलोड के रूप में सोचा जा सकता है, जो बाइनरी डेटा हो सकता है। अन्य आइटम पठनीय ASCII वर्ण हैं। जब प्रतिक्रिया पूरी हो जाती है, तो ब्राउज़र या सर्वर टीसीपी/आईपी कनेक्शन को समाप्त कर सकता है, या ब्राउज़र एक और अनुरोध भेज सकता है।

संबंधित मुद्दे