टाइमआउट क्लाइंट की अपनी समय सीमा होती है। इसके बिना, सर्वर से किया गया अनुरोध जिसका कभी जवाब नहीं मिलता, कनेक्शन, थ्रेड और उपयोगकर्ता के धैर्य को अनिश्चित काल तक रोके रख सकता है। टाइमआउट आमतौर पर कई भागों में होता है: कनेक्ट होने के लिए कितना समय इंतजार करना है, पहले बाइट के लिए कितना समय इंतजार करना है, और पूरी प्रक्रिया में कितना समय लग सकता है।
समय सीमा समाप्त होने पर, क्लाइंट प्रक्रिया रद्द कर देता है और एक त्रुटि की सूचना देता है - ब्राउज़र में AbortController के माध्यम से, और अधिकांश लाइब्रेरी में टाइमआउट अपवाद के रूप में। प्रत्येक चरण का अपना टाइमआउट होता है: ब्राउज़र, CDN, लोड बैलेंसर, गेटवे और एप्लिकेशन। जब आंतरिक टाइमआउट बाहरी टाइमआउट से अधिक होता है, तो बाहरी परत पहले काम करना बंद कर देती है और अंदर का काम बिना किसी प्रतीक्षा के चलता रहता है।
इसका मतलब यह नहीं है कि अनुरोध समय-समाप्त हो गया। हो सकता है कि सर्वर ने क्लाइंट के सुनना बंद करने के बाद अनुरोध प्राप्त किया हो और उसे पूरा किया हो; हो सकता है कि समय-समाप्त POST अनुरोध ने ही ऑर्डर बनाया हो। समय-समाप्त को "unknown outcome" मानें और एक आइडमपोटेंसी कुंजी का उपयोग करके लेखन को पुनः प्रयास करने के लिए सुरक्षित बनाएं।
GET /protocol/v1/gateway-timeout लगभग तीन सेकंड तक प्रतीक्षा करने के बाद 504 का उत्तर देता है, और GET /pizza/v1/oven/preheat लगभग तीन सेकंड में सफल होता है - दो सेकंड का क्लाइंट टाइमआउट सेट करें और देखें कि प्रत्येक क्या करता है।
सभी शब्द · परीक्षण तकनीकें · सभी 39 मॉक REST API
आखरी अपडेट