वेबहुक क्या है?
वेबहुक वह HTTP रिक्वेस्ट है जो कोई सर्विस आपके रजिस्टर किए URL पर किसी घटना पर भेजती है — भुगतान सेटल हुआ, मैसेज डिलीवर हुआ, बिल्ड पूरा हुआ — ताकि आपका सिस्टम पोलिंग के बजाय घटनाओं पर प्रतिक्रिया दे। इसे टेस्ट करने का मतलब है जो वास्तव में भेजा गया उसे कैप्चर करना (मेथड, हेडर, बॉडी), रिट्राई और क्रम जाँचना, और उस सिग्नेचर को सत्यापित करना जो साबित करता है कि कॉल भेजने वाले से ही आई है।
सुरक्षा नोट: वेबहुक एंडपॉइंट एक सार्वजनिक URL है जिस पर कोई भी पोस्ट कर सकता है। भेजने वाले के सिग्नेचर (आमतौर पर कच्ची बॉडी पर HMAC) को कॉन्स्टेंट-टाइम तुलना से सत्यापित करें, पुराने टाइमस्टैम्प अस्वीकार करें, और पेलोड को अविश्वसनीय इनपुट मानें।
गाइड पढ़ें: API टेस्टिंग क्या है? REST API कैसे टेस्ट करें
रिक्वेस्ट बॉडी इंस्पेक्टर कैसे इस्तेमाल करें
- एक capture URL बनाएँ।
- अपने ऐप्लिकेशन से या cURL से रिक्वेस्ट भेजें।
- उसे चुनें — Body टैब पार्स की गई और कच्ची बॉडी साथ-साथ दिखाता है।
रिक्वेस्ट बॉडी इंस्पेक्टर की खूबियाँ
- POST/PUT/PATCH बॉडी ठीक वैसे कैप्चर करता है जैसे भेजी गईं: कच्चे बाइट, साइज़ और Content-Type
- JSON pretty-print और tree के रूप में; form-urlencoded फ़ील्ड में डिकोड; XML टेक्स्ट के रूप में
- Body टैब डिफ़ॉल्ट रूप से खुलता है; बॉडी कटी हो तो चिह्नित किया जाता है
- JSON बॉडी से अहम फ़ील्ड और timestamp निकाले जाते हैं
- payload या cURL प्रतिकृति कॉपी करें
रिक्वेस्ट बॉडी इंस्पेक्टर का उदाहरण
फ़ॉर्म सबमिशन
इनपुट:
POST … Content-Type: application/x-www-form-urlencoded
name=Layla&plan=pro&agree=onआउटपुट:
Form fields
{
"name": "Layla",
"plan": "pro",
"agree": "on"
}
32 B · application/x-www-form-urlencodedरिक्वेस्ट बॉडी इंस्पेक्टर के बारे में अक्सर पूछे जाने वाले सवाल
कौन-से बॉडी टाइप डिकोड होते हैं?
JSON pretty-print होकर tree के रूप में दिखती है, application/x-www-form-urlencoded फ़ील्ड में डिकोड होती है, XML टेक्स्ट के रूप में दिखती है; सब कुछ कच्चे रूप में भी उपलब्ध रहता है।
बॉडी कितनी बड़ी हो सकती है?
कैप्चर हर बॉडी के पहले 256 KB रखता है और उससे लंबी बॉडी को कटी हुई के रूप में चिह्नित करता है। 4 MB से बड़ी बॉडी वाली रिक्वेस्ट 413 Content Too Large के साथ अस्वीकार हो जाती हैं और कैप्चर नहीं होतीं।
क्या मैं जाँच सकता हूँ कि मेरा ऐप असल में क्या भेजता है?
हाँ — यही इसका मक़सद है: कच्चे बाइट, Content-Type और साइज़ की तुलना उससे करें जो आपका कोड भेजना चाहता था।
संदर्भ
- RFC 9421: HTTP Message SignaturesHTTP मैसेज पर हस्ताक्षर करने का मानक तरीका ताकि रिसीवर उनके स्रोत और अखंडता की जाँच कर सके — आधुनिक वेबहुक सिग्नेचर का आधार।
- RFC 2104: HMAC: Keyed-Hashing for Message AuthenticationHMAC संरचना: एक सीक्रेट की और हैश फ़ंक्शन मिलकर मैसेज ऑथेंटिकेशन कोड कैसे बनाते हैं।
- OWASP Cheat Sheet Series: REST SecurityREST API के सुरक्षा नियम: HTTPS, हर रिक्वेस्ट पर ऑथेंटिकेशन, इनपुट वैलिडेशन, सुरक्षित एरर रिस्पॉन्स, रेट लिमिटिंग।