2011-06-06 10 views
13

मेरी टीम के पास एक विश्वसनीय एपीआई वाली वेबसाइट है। हम लोड परीक्षण पर काम कर रहे हैं, इसलिए हमने इसे अनुरोध के साथ हथियाने के लिए एक छोटा कंसोल ऐप बनाया है। यह कंसोल ऐप उपयोगकर्ता एजेंट स्ट्रिंग सेट नहीं करता है, और यह हमारे एपीआई में त्रुटि उत्पन्न कर रहा है क्योंकि यह हमारे डेटाबेस में एक आवश्यक फ़ील्ड है।RESTful API: उपयोगकर्ता एजेंट स्ट्रिंग की आवश्यकता है?

तो, क्या मुझे एपीआई अतिरिक्त मजबूत बनाना चाहिए और यदि उपयोगकर्ता एजेंट अनुरोध में शामिल नहीं है तो बस एक डिफ़ॉल्ट स्ट्रिंग (यानी "अज्ञात") का उपयोग करना चाहिए? या, क्या मुझे इस स्थिति में 400 खराब अनुरोध प्रतिक्रिया वापस करनी चाहिए? मुझे पता है कि यह संभव है, लेकिन मैं इसे करने के लिए मानक तरीका ढूंढ रहा हूं।

उत्तर

15

के बाद से User-Agent हेडर बिल्कुल HTTP अनुरोध (spec says हैडर SHOULD हो, बल्कि MUST से) के भीतर उपस्थित रहने की आवश्यकता नहीं है, अपने एपीआई अगर यह संभाल सकता यह मौजूद नहीं किया जा रहा है और अधिक मजबूत होगा।

यह कहा गया है कि यह संभवतः आपके परीक्षण ऐप के लिए User-Agent "टेस्ट ऐप" या कुछ के पहचानकर्ता को पास करने के लिए अच्छा होगा, बस आप इसे अपने डेटाबेस में ट्रैक कर सकते हैं, या अपने परीक्षण ट्रैफिक को थ्रॉटल या प्रोफाइल कर सकते हैं।

मैं आपको सावधानी बरतता हूं कि क्लाइंट एप्लिकेशन के एक निश्चित पहचानकर्ता के रूप में User-Agent का उपयोग न करें, क्योंकि यह इतनी आसानी से खराब हो गया है। ऐसा लगता है कि आप ऐसा नहीं कर रहे हैं लेकिन मैंने सोचा कि मैं इसका उल्लेख करूंगा।

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