एक निष्क्रिय ऑपरेशन क्या है?


जवाबों:


964

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

गणित में, एक निष्क्रिय ऑपरेशन वह होता है जहाँ f (f (x)) = f (x) होता है । उदाहरण के लिए, abs()फ़ंक्शन सर्वव्यापी है क्योंकि abs(abs(x)) = abs(x)सभी के लिए x

गणितीय परिभाषा में उस x को किसी वस्तु की स्थिति का प्रतिनिधित्व करने पर विचार करके इन थोड़ी भिन्न परिभाषाओं को समेटा जा सकता है , और f एक ऑपरेशन है जो उस वस्तु को उत्परिवर्तित कर सकता है। उदाहरण के लिए, पायथनset और इसकी discardविधि पर विचार करें । discardविधि एक सेट से एक तत्व निकाल देता है, और अगर तत्व मौजूद नहीं है कुछ नहीं करता है। इसलिए:

my_set.discard(x)

दो बार एक ही ऑपरेशन करने के समान प्रभाव है:

my_set.discard(x)
my_set.discard(x)

बेरोजगार संचालन अक्सर नेटवर्क प्रोटोकॉल के डिजाइन में उपयोग किया जाता है, जहां ऑपरेशन करने का अनुरोध कम से कम एक बार होने की गारंटी है, लेकिन एक से अधिक बार भी हो सकता है। यदि ऑपरेशन बेकार है, तो ऑपरेशन को दो या अधिक बार करने में कोई बुराई नहीं है।

पर विकिपीडिया लेख देखें idempotence अधिक जानकारी के लिए।


उपरोक्त उत्तर में पहले कुछ गलत और भ्रामक उदाहरण थे। अप्रैल 2014 से पहले लिखी गई टिप्पणियाँ एक पुराने संशोधन का उल्लेख करती हैं।


6
उदाहरण: ऊपर दिए गए उत्तर में कहा गया है कि Idempotent operations are often used in the design of network protocolsयहां संबंधित उदाहरण ** GET को सर्वर पर कुछ भी बदलने के लिए नहीं माना गया है, इसलिए GET, बेकार है। HTTP / सर्वलेट के संदर्भ में, इसका मतलब है कि एक ही अनुरोध दो बार बिना किसी नकारात्मक परिणाम के किया जा सकता है। ** POST बेकार नहीं है।
KNU

1
क्या "स्टेटमैट" का पर्यायवाची "स्टेटलेस" है?
माइकल ओसोफस्की 17

2
@MichaelOsofsky: नहीं, setजवाब में पायथन उदाहरण में, सेट ऑब्जेक्ट में स्पष्ट रूप से राज्य है और कुछ सुखद संचालन जैसे कि प्रदान करता है discard
ग्रेग हेविगिल

1
@MichaelOsofsky, discardरिटर्न वैल्यू में राज्य को शामिल करके एक स्टेटलेस तरीके से लागू किया जा सकता है discard([my_set, x]) = [my_new_set, x]:। तो आप कर सकते हैं discard(discard([my_set, x]))। ध्यान दें कि [my_new_set, x]है सिर्फ एक तर्क और उसके प्रकार 2-टपल है।
पेसियर

2
@Green जब नपुंसकता के संदर्भ में समान प्रभाव शब्द का उपयोग करते हैं , तो इसका मतलब है कि परिणाम समान है, क्रिया नहीं । कॉलिंग discard(x)सेट नहीं रह में शामिल होंगे: दूसरी बार यह बुला पहली बार के रूप में ही प्रभाव पड़ेगा xकम्प्यूटिंग इम्पोटेंस एक सिस्टम की मजबूती के बारे में है। चूंकि चीजें विफल हो सकती हैं (उदाहरण के लिए नेटवर्क आउटेज), जब विफलता का पता चलता है, तो आप कैसे ठीक होते हैं? सबसे आसान रिकवरी सिर्फ इसे फिर से करना है, लेकिन यह केवल तभी काम करता है जब इसे फिर से किया जाए। उदाहरण के discard(x)लिए उदासीन है, लेकिन pop()नहीं है। यह त्रुटि पुनर्प्राप्ति के बारे में है।
एंड्रियास

138

एक मनमाने ढंग से किए जाने वाले ऑपरेशन को कई बार दोहराया जा सकता है और इसका परिणाम वही होगा जैसा कि एक बार किया गया था। अंकगणित में, शून्य को एक संख्या में जोड़ना बेमानी है।

"रेस्टफुल" वेब सेवाओं के संदर्भ में इम्पोटोटेंस की बहुत चर्चा की जाती है। REST कार्यक्रमों को वेब सामग्री तक पहुँच देने के लिए HTTP का अधिकतम लाभ उठाने का प्रयास करता है, और आमतौर पर SOAP- आधारित वेब सेवाओं के विपरीत सेट किया जाता है, जो HTTP अनुरोधों और प्रतिक्रियाओं के अंदर टनल रिमोट प्रक्रिया कॉल शैली सेवाओं को कहते हैं।

REST एक वेब एप्लिकेशन को "संसाधनों" (जैसे ट्विटर उपयोगकर्ता, या फ़्लिकर छवि) में व्यवस्थित करता है और फिर उन संसाधनों को बनाने, अपडेट करने, पढ़ने और हटाने के लिए POST, PUT, GET और DELETE की HTTP क्रियाओं का उपयोग करता है।

REST में Idempotence एक महत्वपूर्ण भूमिका निभाता है। यदि आप REST संसाधन का प्रतिनिधित्व करते हैं (जैसे, फ़्लिकर से एक JPEG छवि), और ऑपरेशन विफल रहता है, तो आप बस GET को फिर से और फिर से दोहरा सकते हैं जब तक कि ऑपरेशन सफल नहीं हो जाता। वेब सेवा के लिए, इससे कोई फर्क नहीं पड़ता कि छवि कितनी बार प्राप्त हुई है। इसी तरह, यदि आप अपने ट्विटर खाते की जानकारी को अपडेट करने के लिए एक RESTful वेब सेवा का उपयोग करते हैं, तो आप वेब सेवा से पुष्टिकरण प्राप्त करने के लिए नई जानकारी को जितनी बार चाहें ले सकते हैं। PUT-ing इसे एक हजार बार PUT-ing के रूप में एक ही बार है। इसी तरह एक हजार बार DELETE-ing एक बार इसे हटाने के समान है। इस प्रकार, बेरोजगारी एक वेब सेवा का निर्माण करना आसान बनाती है जो संचार त्रुटियों के लिए लचीला है।

आगे पढ़े: रिचर्डसन और रूबी द्वारा रिस्टफुल वेब सर्विसेज (पेज 103-104 पर चर्चा की गई है), और रेस्ट पर रॉय फील्डिंग की पीएचडी शोध प्रबंध । फ़ील्डिंग HTTP 1.1, RFC-2616 के लेखकों में से एक था, जो कि 9.1.2 सेक्शन में आलस्य के बारे में बात करता है ।


स्पष्ट और सीधा। फिर भी यह लेकिन केवल एक व्याख्या है।
पेसरियर

10
"आइडम्पोटेंस" एक भारी अतिभारित शब्द है क्योंकि यह भव्य लगता है और इसमें सेसेक्शुअल चेक को पास करने के लिए पर्याप्त वर्ण हैं। यदि बेंजामिन पीयरस ने एक सरल लगने वाला शब्द चुना था, तो आज भी हमारे पास यह सवाल नहीं होगा।
पचेरियर

2
इसे कैसे समझें: इसी तरह एक हजार बार DELETE-ing एक बार इसे हटाने के समान है ? यदि आप पहले से ही हटा दिया गया है तो आप संसाधन को फिर से हटा नहीं सकते।
ग्रीन

1
@Green लेकिन आप इसे पहली बार नहीं हटाते हैं। आप एक डिलीट रिक्वेस्ट भेजें । महत्वपूर्ण बिंदु यह है कि आप जितने चाहें उतने अनुरोध भेज सकते हैं।
केलथ

1
@JimFerrans मैं देख रहा हूं। मैंने सोचा कि कुछ कार्यक्षमता से संबंधित कारण (HTTP में ही निर्मित) हो सकता है कि क्यों PUT चिंता के बिना नाराज हो सकता है जबकि POST नहीं कर सकता। अब यह प्रतीत होता है कि हमें बस HTTP मानकों के अनुरूप होना चाहिए और व्यवहार पूरी तरह से इस बात पर आधारित है कि सर्वर कैसे लागू किया जाता है
mangusta

109

आप चाहे जितनी बार भी ऑपरेशन कहें, परिणाम वही होगा।


8
मैंने सुस्पष्ट रूप से या तो नीचे या दोनों के रूप में परिभाषित सुना है: 1) इनपुट के दिए गए सेट के लिए यह हमेशा एक ही आउटपुट लौटाएगा। 2) किसी भी दुष्प्रभाव का उत्पादन नहीं करता है। मेरा प्रश्न है, यदि कोई फ़ंक्शन # 1 के अनुरूप है, लेकिन # 2 नहीं है, क्योंकि इसका परिणाम अभिकलन से असंबंधित है (उदाहरण के लिए, डेटा स्टोर में अनुरोध लॉग करता है), तो क्या इसे अभी भी बेवकूफ़ माना जाता है?
कीथ बेनेट

12
किसी ऑपरेशन को कॉल करने के परिणाम में सिस्टम की स्थिति शामिल होनी चाहिए, इसलिए यदि ऑपरेशन का कुछ संचयी साइड इफेक्ट है, तो यह बेकार नहीं है; हालांकि, यदि साइड इफेक्ट सिस्टम को उसी स्थिति में छोड़ देता है, चाहे कितनी बार ऑपरेशन कहा जाता है, तो यह एक प्रकार का रोग हो सकता है।
रॉबर्ट

4
छोटा और मीठा, मुझे उस तरह का जवाब पसंद है। मुझे यकीन नहीं है कि मुझे इस शब्द को लगातार देखना होगा, यह एक ऐसा है जो सिर्फ मेरे साथ नहीं रहता है।
प्राणपर्व

1
@ कीथबनेट, दूसरी परिभाषा गलत है। "कोई साइड इफ़ेक्ट" का मतलब बेमतलब नहीं है। बेरोजगार कार्यों के दुष्प्रभाव हो सकते हैं। जैसे MySQL truncateऔर delete
पचेरियर

परिणाम एक ही होगा (वह है, सिस्टम स्थिति), लेकिन प्रतिक्रिया भिन्न हो सकती है (यानी, REST सेवा पर HTTP स्थिति कोड)।
जी। स्टीगर्ट

50

Idempotence का मतलब है कि एक ऑपरेशन को एक बार लागू करना या इसे कई बार लागू करना एक ही प्रभाव है।

उदाहरण:

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

के लिए शुद्ध कार्यों (कोई साइड इफेक्ट के साथ काम करता है) तो idempotency कि f (x) = f (f (x)) = च (च (f (x))) = च (च (च (f (x))) का अर्थ है ) = ...... x के सभी मूल्यों के लिए

साइड इफेक्ट्स वाले कार्यों के लिए , बेरोजगारी का अर्थ है कि पहले आवेदन के बाद कोई अतिरिक्त दुष्प्रभाव नहीं होगा। यदि आप चाहें, तो आप फ़ंक्शन के लिए अतिरिक्त "छिपी" पैरामीटर के लिए दुनिया की स्थिति पर विचार कर सकते हैं।

ध्यान दें कि जिस दुनिया में आपके पास समवर्ती क्रियाएं चल रही हैं, आप पा सकते हैं कि जिन ऑपरेशनों के बारे में आपने सोचा था, वे ऐसा करने के लिए बेकार थे, उदाहरण के लिए, एक और धागा ऊपर के उदाहरण में बूलियन ध्वज के मूल्य को परेशान कर सकता है)। मूल रूप से जब भी आपके पास समवर्ती और परिवर्तनशील स्थिति होती है, तो आपको बहुत अधिक सावधानी से सोचने की आवश्यकता होती है।

मजबूत व्यवस्थाओं के निर्माण में प्रायः बेरोजगारी एक उपयोगी संपत्ति है। उदाहरण के लिए, यदि कोई जोखिम है कि आप किसी तीसरे पक्ष से एक डुप्लिकेट संदेश प्राप्त कर सकते हैं, तो संदेश हैंडलर को एक निष्क्रिय ऑपरेशन के रूप में कार्य करने में मदद मिलती है ताकि संदेश प्रभाव केवल एक बार ही हो।


1
यदि शुद्ध कार्यों के लिए f(x) = f(f(x)), तो क्या आपका मतलब f(x){return x+1;}शुद्ध कार्य नहीं है? क्योंकि f(x) != f(f(x)): f(1)2 देता है जबकि f(2)3 देता है
22

1
@Pacerier नहीं, @mikera कह रही है शुद्ध और सुखद अर्थ f(x) = f(f(x))। लेकिन जैसा कि @GregHewgill ने उल्लेख किया है, इस परिभाषा के अर्थ में, आपको xएक वस्तु के fरूप में और एक ऑपरेशन के रूप में विचार करना होगा जो वस्तु की स्थिति को उत्परिवर्तित करता है (यानी: आउटपुट fएक उत्परिवर्तित होता है x)।
जस्टिन जे स्टार्क

24

एक निष्क्रिय ऑपरेशन उसी राज्य में परिणाम उत्पन्न करता है, भले ही आप इसे एक से अधिक बार कॉल करें, बशर्ते आप एक ही पैरामीटर में पास हों।


1
बिल्कुल तार्किक नहीं लगता। stackoverflow.com/questions/1077412/…
ग्रीन

2
मैं तुम्हें भ्रमित किया जा सकता है लगता है idempotent और नियतात्मक
सनकैट २२

16

बस एक वास्तविक उपयोग के मामले को बाहर फेंकना चाहता था जो कि बेरोजगारी को प्रदर्शित करता है। जावास्क्रिप्ट में, आप मॉडल कक्षाओं के एक समूह (एमवीसी मॉडल के रूप में) को परिभाषित कर रहे हैं। जिस तरह से इसे अक्सर लागू किया जाता है वह कार्यात्मक रूप से कुछ इस तरह से (मूल उदाहरण) के बराबर है:

function model(name) {
  function Model() {
    this.name = name;
  }

  return Model;
}

फिर आप इस तरह नई कक्षाओं को परिभाषित कर सकते हैं:

var User = model('user');
var Article = model('article');

लेकिन यदि आप कोड में कहीं और से Userकक्षा को प्राप्त करने का प्रयास करते हैं model('user'), तो यह विफल हो जाएगा:

var User = model('user');
// ... then somewhere else in the code (in a different scope)
var User = model('user');

वे दो Userकंस्ट्रक्टर अलग होंगे। अर्थात्,

model('user') !== model('user');

इसे निष्प्रभावी बनाने के लिए , आप बस किसी प्रकार का कैशिंग तंत्र जोड़ेंगे, जैसे:

var collection = {};

function model(name) {
  if (collection[name])
    return collection[name];

  function Model() {
    this.name = name;
  }

  collection[name] = Model;
  return Model;
}

कैशिंग को जोड़कर, हर बार जब आप model('user')करते हैं, तो यह एक ही वस्तु होगी, और इसलिए यह बेकार है। इसलिए:

model('user') === model('user');

10

एक इम्पोटेंट ऑपरेशन एक ऑपरेशन, एक्शन, या रिक्वेस्ट है, जिसे रिजल्ट में बदलाव किए बिना कई बार लागू किया जा सकता है, यानी सिस्टम की स्थिति, प्रारंभिक एप्लिकेशन से परे।

परीक्षा (वेब ​​एप्लिकेशन संपर्क):

IDEMPOTENT: कई समान अनुरोध करना एकल अनुरोध करने के समान प्रभाव डालता है। एक ईमेल संदेश प्रणाली में एक संदेश खोला और डेटाबेस में "खोला" के रूप में चिह्नित किया गया है। संदेश को कई बार खोल सकते हैं लेकिन यह दोहराया कार्रवाई केवल उस संदेश को "खोले" स्थिति में होगी। यह एक इम्पोटेंट ऑपरेशन है। पहली बार एक संसाधन का अद्यतन करने के लिए एक संसाधन का अद्यतन करता है जो संसाधन (सिस्टम की स्थिति) से मेल नहीं खाता है, सिस्टम के अपडेट होने पर सिस्टम की स्थिति बदल जाएगी। यदि कोई बार-बार किसी संसाधन के लिए एक ही अपडेट करता है, तो अपडेट में जानकारी हर PUT पर सिस्टम में पहले से मौजूद जानकारी से मेल खाएगी, और सिस्टम की स्थिति में कोई परिवर्तन नहीं होगा। एक ही जानकारी के साथ बार-बार PUTs का होना लाजिमी है:

NON-IDEMPOTENT: यदि कोई ऑपरेशन हमेशा स्थिति में बदलाव का कारण बनता है, जैसे एक उपयोगकर्ता को एक ही संदेश को बार-बार पोस्ट करना, जिसके परिणामस्वरूप डेटाबेस में हर बार एक नया संदेश भेजा और संग्रहीत किया जाता है, तो हम कहते हैं कि ऑपरेशन NON-IDEMPOTENT है।

NULLIPOTENT: यदि किसी ऑपरेशन का कोई साइड इफेक्ट नहीं है, जैसे किसी डेटाबेस में किसी भी बदलाव के बिना वेब पेज पर पूरी तरह से जानकारी प्रदर्शित करना (दूसरे शब्दों में आप केवल डेटाबेस पढ़ रहे हैं), तो हम कहते हैं कि ऑपरेशन NULLIPOTENT है। सभी GETs अशक्त होना चाहिए।

जब सिस्टम की स्थिति के बारे में बात कर रहे हैं, तो हम स्पष्ट रूप से लॉगिंग और डायग्नोस्टिक्स जैसे उम्मीद से हानिरहित और अपरिहार्य प्रभावों की अनदेखी कर रहे हैं।


9

निष्पादक संचालन: कई बार निष्पादित किए जाने वाले कार्यों का कोई दुष्प्रभाव नहीं होता है।
उदाहरण : एक ऑपरेशन जो डेटा संसाधन से मान प्राप्त करता है और कहता है, यह

गैर-निष्पादक संचालन को प्रिंट करता है : संचालन जो कई बार निष्पादित होने पर कुछ नुकसान पहुंचाएगा। (जैसा कि वे कुछ मूल्यों या राज्यों को बदलते हैं)
उदाहरण: एक ऑपरेशन जो बैंक खाते से वापस लेता है


3
वास्तव में एक गलत जवाब! Idempotent ऑपरेशन के लिए यह कहना कि "कोई साइड-इफेक्ट नहीं है" सही नहीं है। नॉन-इम्पोटेंट ऑपरेशंस के लिए "कुछ नुकसान पहुंचाएं" एक भ्रामक उत्तर है।
सईद मोहतमम

9

एक विस्तृत और तकनीकी जवाब। बस एक साधारण परिभाषा जोड़ रहा हूँ।

उदासीन = पुनः चलने योग्य

उदाहरण के लिए, Createयदि एक से अधिक बार क्रियान्वित किया जाता है , तो ऑपरेशन को बिना त्रुटि के चलाने की गारंटी नहीं है। लेकिन अगर कोई ऑपरेशन होता है, CreateOrUpdateतो यह फिर से चलाने की क्षमता (Idempotency) बताता है।


3
यह एक भ्रामक परिभाषा है। पुन: प्रयोज्यता के लिए बेकार होने की गारंटी नहीं है। एक ऑपरेशन फिर से चलाने योग्य हो सकता है और प्रत्येक रन में यह परिणाम पर अतिरिक्त प्रभाव जोड़ सकता है, इसलिए यह बेकार नहीं होगा।
सईद मोहताशम

7

एक सेट पर एक बेमिसाल ऑपरेशन एक या अधिक बार लागू होने पर अपने सदस्यों को अपरिवर्तित छोड़ देता है।

यह निरपेक्ष (एक्स) की तरह एक अपरिपक्व ऑपरेशन हो सकता है जहां x सकारात्मक पूर्णांकों के समूह से संबंधित है। यहाँ निरपेक्ष (निरपेक्ष (x)) = x

यह एक बाइनरी ऑपरेशन हो सकता है जैसे किसी सेट का यूनियन खुद के साथ हमेशा एक ही सेट लौटाएगा।

चियर्स


एक निष्क्रिय ऑपरेशन वह है जिसमें f (f (x)) = f (x) होता है। "अपने सदस्यों को अपरिवर्तित छोड़ देता है" एक सही जवाब नहीं है।
सईद मोहताशम

7

यह कोई भी ऑपरेशन है जो प्रत्येक एनटीटी परिणाम के परिणामस्वरूप 1 परिणाम के मूल्य से मेल खाता है। उदाहरण के लिए -1 का निरपेक्ष मान है। -1 के निरपेक्ष मान का निरपेक्ष मान है। 1. -1 के निरपेक्ष मान का निरपेक्ष मान 1. है। और इसी तरह।

यह भी देखें: पुनरावृत्ति का उपयोग करने के लिए वास्तव में मूर्खतापूर्ण समय कब होगा?


1
यह 10 वर्षों के बाद भी तीखा जवाब है। +1
एसएनआर

2

एक सुस्पष्ट संचालन को समझने का एक अच्छा उदाहरण रिमोट कुंजी के साथ एक कार को लॉक करना हो सकता है।

log(Car.state) // unlocked

Remote.lock();
log(Car.state) // locked

Remote.lock();
Remote.lock();
Remote.lock();
log(Car.state) // locked

lockएक आदर्श ऑपरेशन है। यहां तक ​​कि अगर आपके चलने पर हर बार कुछ साइड इफेक्ट होते हैं lock, जैसे कि पलक झपकते ही, कार अभी भी उसी लॉक अवस्था में है, चाहे आप कितनी भी बार लॉक ऑपरेशन चला लें।


1

मेरा 5 सी: एकीकरण और नेटवर्किंग में बेरोजगारी बहुत महत्वपूर्ण है। वास्तविक जीवन से कई उदाहरण: कल्पना कीजिए, हम लक्ष्य प्रणाली के लिए डेटा वितरित करते हैं। संदेशों के अनुक्रम द्वारा दिया गया डेटा। 1. यदि चैनल में अनुक्रम मिलाया जाता है तो क्या होगा? (जैसा कि नेटवर्क पैकेज हमेशा करते हैं :))। यदि लक्ष्य प्रणाली बेकार है, तो परिणाम अलग नहीं होगा। यदि लक्ष्य प्रणाली अनुक्रम में सही क्रम पर निर्भर करती है, तो हमें लक्ष्य साइट पर रेज़पेंसेर को लागू करना होगा, जो सही क्रम को बहाल करेगा। 2. यदि संदेश डुप्लिकेट हैं तो क्या होगा? यदि लक्ष्य प्रणाली का चैनल समय पर स्वीकार नहीं करता है, तो स्रोत प्रणाली (या चैनल खुद) आमतौर पर संदेश की एक और प्रतिलिपि भेजता है। परिणामस्वरूप हम लक्ष्य प्रणाली की ओर डुप्लिकेट संदेश दे सकते हैं। यदि लक्ष्य प्रणाली उदासीन है, यह ध्यान रखता है और परिणाम अलग नहीं होगा। यदि टारगेट सिस्टम बेकार नहीं है, तो हमें चैनल के टारगेट सिस्टम साइड पर डुप्लीकेटर लागू करना होगा।


किसी भी अन्य अनुरोध (या सिस्टम की स्थिति को बदलने वाले कुछ भी) से अलगाव में भेजे गए एकल अनुरोधों की आय, अनुरोधों को पुन: व्यवस्थित करने के समान नहीं है। एक HTTP PUT अनुरोध और एक HTTP DELETE अनुरोध दोनों को व्यक्तिगत रूप से उदासीन होना चाहिए - लेकिन इसका मतलब यह नहीं है कि PUT और DELETE को एक ही URL पर कॉल करने का क्रम मायने नहीं रखता, क्योंकि PUT अनुरोध के दुष्प्रभाव हो सकते हैं!
रॉबिन ग्रीन

1

संक्षेप में , Idempotent ऑपरेशंस का अर्थ है कि ऑपरेशन अलग-अलग परिणामों में परिणाम नहीं देगा चाहे आप कितनी बार idempotent संचालन करें।

उदाहरण के लिए, HTTP की कल्पना की परिभाषा के अनुसार, GET, HEAD, PUT, and DELETEबेरोजगार संचालन हैं; हालाँकि POST and PATCHनहीं हैं। इसलिए कभी-कभी POSTइसकी जगह ले ली जाती है PUT


-4

पुन: प्रयास करें-सुरक्षित।

आमतौर पर कंप्यूटर विज्ञान में इसके अर्थ को समझने का सबसे आसान तरीका है।


1
रिट्री का तात्पर्य कुछ ऐसा है जो पहली या पिछली बार विफल रहा। समान नहीं है।
लास वी। कार्लसन

मेरे प्रश्न को किसने संपादित किया और मुझे एक डाउन वोट मिला? यह वह पाठ नहीं है जिसे मैंने पोस्ट किया है ??
टेकनोपुल

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