स्वीकार * HTTP हेडर में q = 0.5 क्या है?


190
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

इन 'q =% f' का क्या अर्थ है?

जवाबों:


246

इसे सापेक्ष गुणवत्ता कारक कहा जाता है । यह निर्दिष्ट करता है कि उपयोगकर्ता किस भाषा को पसंद करेगा, 0 से 1 के पैमाने पर, जैसा कि HTTP / 1.1 विशिष्टता से देखा जा सकता है , ification14.4 :

प्रत्येक भाषा-सीमा MAY को एक संबद्ध गुणवत्ता मान दिया जाता है जो उस श्रेणी द्वारा निर्दिष्ट भाषाओं के लिए उपयोगकर्ता की वरीयता का अनुमान दर्शाता है। गुणवत्ता मान "q = 1" के लिए डिफॉल्ट करता है। उदाहरण के लिए,

  Accept-Language: da, en-gb;q=0.8, en;q=0.7

का अर्थ होगा: "मैं डेनिश पसंद करता हूं, लेकिन ब्रिटिश अंग्रेजी और अन्य प्रकार की अंग्रेजी स्वीकार करूंगा।"


26
बहुत अच्छा धन्यवाद! लेकिन सिर्फ वरीयता के क्रम में उन्हें सूचीबद्ध क्यों नहीं किया गया?
कोलाप्टो

9
तो वास्तव में 80% योग्य एन-जीबी को स्वीकार करने का क्या मतलब है?
पचेरियर

3
@Pacerier: इसका अर्थ है कि, आपकी वेबसाइट बहुभाषी होने की स्थिति में, उपयोगकर्ता अमेरिकी अंग्रेजी के बजाय ब्रिटिश अंग्रेजी में दी जाने वाली सामग्री को पसंद करेंगे।
टिम कूपर

5
@TimCooper केवल भाषाओं को क्रम या वरीयता में क्यों नहीं है? यह मान मायने नहीं रखता है, इसके अलावा यह दूसरों की तुलना में बड़ा है।
रोब

6
@kolypto, पैरामीटर सूचियों में, चाहे URL में हो या किसी हेडर में अंतर्निहित आदेश नहीं है।
जेपी सिल्वाशी

37

इसे विनिर्देशन में सापेक्ष गुणवत्ता कारक कहा जाता है :

प्रत्येक मीडिया-रेंज MAY को एक या अधिक एक्सेप्ट-परमेस द्वारा पालन किया जाना चाहिए, जो कि एक रिश्तेदार गुणवत्ता कारक को इंगित करने के लिए "q" पैरामीटर से शुरू होता है। पहला "q" पैरामीटर (यदि कोई हो) मीडिया-रेंज पैरामीटर (ओं) को स्वीकार-पैरामस से अलग करता है। गुणवत्ता कारक उपयोगकर्ता या उपयोगकर्ता एजेंट को 0 से 1 तक क्यूवल्यू स्केल (सेक्शन 3.9) का उपयोग करते हुए, उस मीडिया-रेंज के लिए वरीयता की सापेक्ष डिग्री को इंगित करने की अनुमति देते हैं। डिफ़ॉल्ट मान q = 1 है।

...

उदाहरण

Accept: audio/*; q=0.2, audio/basic

SHOULD की व्याख्या "मुझे ऑडियो / बुनियादी पसंद है, लेकिन किसी भी ऑडियो प्रकार को भेजें अगर यह 80% गुणवत्ता में मार्क-डाउन के बाद सबसे अच्छा उपलब्ध है।"

यह सभी देखें:


2
मैं वास्तव में पार्टी के लिए देर से आया हूं - लेकिन "गुणवत्ता में 80% मार्क-डाउन" के बाद आपका क्या मतलब है? यह वरीयता की डिग्री है, ऑडियो फ़ाइल की गुणवत्ता नहीं? या मैं इसे गलत बता रहा हूं?
मेव

10
@ मेव: ठीक है, व्यवहार में यह संभवतः वरीयता के उपाय के रूप में उपयोग किया जाता है। हालाँकि, इसके मूल सूत्रीकरण में, मेरा मानना ​​है कि यह एन्कोडिंग की गुणवत्ता पर आधारित है। उदाहरण के लिए, FLAC बनाम MP3 पर विचार करें। आप कुछ इस तरह कह सकते हैं: "मुझे एमपी 3 संस्करण भेजें अगर यह सबसे खराब संस्करण की गुणवत्ता का 50% सबसे खराब है। यदि ऐसा नहीं है, तो मुझे FLAC संस्करण भेजें।" इस तरह की गुणवत्ता को कैसे निर्धारित किया जाए, और क्या यह व्यवहार में उपयोग किया जाता है, मुझे नहीं पता, लेकिन मुझे विश्वास है कि मूल इरादा होना चाहिए।
सेबस्टियन पास्के टोर्होम

1
@ SebastianPaaskeTørholm मैं यहाँ इस बारे में अधिक जानकारी की तलाश में आया था। RFC 7231 में केवल दो स्थान हैं जो इस माध्यमिक अर्थ पर संकेत देते हैं, लेकिन यह मेरे लिए बहुत स्पष्ट नहीं है कि यह कैसे काम करना था, क्योंकि दो अर्थ एक दूसरे के साथ संघर्ष कर सकते हैं - उदाहरण के लिए ऐसा लगता है कि यह असंभव होगा। यदि कम मात्रा में इस तरह से ओवरलोड किया जाता है, तो एक कम हानिरहित प्रकार पर एक हानिरहित प्रकार के लिए वरीयता व्यक्त करने के लिए।
अर्धविराम

हेडर में सबसे पसंदीदा भाषा हमेशा पहला पैरामीटर है?
ओल्डबॉय

@BugWhisperer लिंक किए गए मानक का अधिक विस्तृत उदाहरण है, जहां यह पहले नहीं है। कृपया सलाह लें। :)
सेबेस्टियन पास्से तोरहोम

6

स्वीकार-भाषा गुणवत्ता पैरामीटर को इस तरह समझा जा सकता है:

Accept-Language: pl_PL;q=0.8, en_US;q=0.2,हेडर संलग्न करके अनुरोध करने के लिए हम संदेश के बाद सर्वर से संवाद करते हैं

सर्वर, कृपया मुझे इस वेबसाइट का पोलिश अनुवाद प्रदान करें, लेकिन कृपया केवल तभी करें जब इसकी गुणवत्ता >= %80%संबंधित गुणवत्ता-कारक की हो। मामले में गुणवत्ता है <80%- मुझे अंग्रेजी संस्करण प्राप्त करने में कोई आपत्ति नहीं है, क्योंकि मेरे लिए यह अप्रासंगिक है क्योंकि मैं वैसे भी अंग्रेजी बोलता हूं।

उदाहरण के लिए, एक वेब पेज कंटेंट प्रोवाइडर के रूप में, हम Accept-Languageहेडर पार्सिंग को इस तरह से पेश कर सकते हैं , कि हमारी वेबसाइट उन विदेशियों के लिए उपयुक्त है, जो बिना किसी अंग्रेजी को बोलते हैं (तब भी अनुवादित नेविगेशन मददगार होगा (पेज केवल नेविगेशन का अनुवाद करने वाले पेज हैं,) , q=0.1), जहां पूरी तरह से अनुवादित सामग्री है q=0.9और पूरी तरह से अनुवादित सामग्री है और मूल वक्ताओं द्वारा सत्यापित है जो मूल भाषा और अनुवादित भाषा सामग्री दोनों बोल रही है q=0.99- क्योंकि यह एकमात्र संभव स्थिति है जब सामग्री का अर्थ पूरी तरह से ट्रांसड्यूस किया जाता है)


हेडर में सबसे पसंदीदा भाषा हमेशा पहला पैरामीटर है?
ओल्डबॉय

@BugWhisperer हाँ, लेकिन अगर आप मानक के लिए वास्तव में सख्त होना चाहते हैं और यदि आपका अनुवाद बहुत सरल या कमजोर है - तो आप पहले मूल्य को छोड़ना चाहते हैं
test30

दूसरे मूल्य का उपयोग करना अधिक सख्त क्यों होगा?
ओल्डबॉय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.