आइरिस बॉडी लिमिट मिडलवेयर आपके आइरिस वेब अनुप्रयोगों में आने वाले अनुरोध निकायों के आकार को नियंत्रित करने के लिए एक शक्तिशाली उपकरण है। अनुरोध निकायों के आकार पर एक सीमा निर्धारित करके, आप ग्राहकों को अत्यधिक बड़े पेलोड भेजने से रोक सकते हैं जो संभावित रूप से आपके सर्वर को प्रभावित कर सकते हैं या सेवा से इनकार (DoS) हमलों का कारण बन सकते हैं। यह मिडलवेयर उन अनुप्रयोगों के लिए विशेष रूप से उपयोगी है जो फ़ाइल अपलोड, JSON पेलोड, या किसी अन्य प्रकार के डेटा को संभालते हैं जो आकार में काफी भिन्न हो सकते हैं।
बॉडी लिमिट मिडलवेयर का उपयोग करने का एक प्राथमिक कारण आपके एप्लिकेशन की सुरक्षा को बढ़ाना है। आने वाले अनुरोध निकायों के आकार को सीमित करके, आप DoS हमलों के जोखिम को कम कर सकते हैं, जहां एक हमलावर सर्वर संसाधनों को समाप्त करने के लिए बड़े पेलोड भेजता है।
अनुरोध निकायों के आकार को सीमित करने से आपके एप्लिकेशन के प्रदर्शन में भी सुधार हो सकता है। बड़े पेलोड महत्वपूर्ण मात्रा में मेमोरी और प्रोसेसिंग पावर की खपत कर सकते हैं, जिससे आपका सर्वर धीमा हो सकता है और उपयोगकर्ता अनुभव प्रभावित हो सकता है। एक उचित सीमा निर्धारित करके, आप यह सुनिश्चित कर सकते हैं कि आपका सर्वर उत्तरदायी और कुशल बना रहे।
फ़ाइल अपलोड या बड़े JSON पेलोड को संभालने वाले अनुप्रयोगों में, संसाधनों को प्रभावी ढंग से प्रबंधित करना आवश्यक है। बॉडी सीमा निर्धारित करके, आप क्लाइंट को अत्यधिक बड़ी फ़ाइलें अपलोड करने या विशाल JSON ऑब्जेक्ट भेजने से रोक सकते हैं जो आपके सर्वर के संसाधनों पर दबाव डाल सकते हैं।
बॉडीलिमिट मिडलवेयर का उपयोग करने के लिए, आपको इसे अपने आईरिस एप्लिकेशन में आयात करना होगा:
import "github.com/kataras/iris/v12/middleware/bodylimit"
बॉडी लिमिट मिडलवेयर का उपयोग करने के लिए, आपको एक आईरिस एप्लिकेशन बनाना होगा और मिडलवेयर को पंजीकृत करना होगा। 2 एमबी की सीमा के साथ मिडलवेयर कैसे सेट करें इसका एक उदाहरण नीचे दिया गया है:
package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/bodylimit" ) func main() { app := iris.New() app.Use(bodylimit.New(2 * iris.MB)) // set the limit to 2 MB. handler := func(ctx iris.Context) { body, err := ctx.Body() if err != nil { ctx.StopWithPlainError(iris.StatusInternalServerError, err) return } ctx.Write(body) // write the request body back to the client. } app.Post("/", handler) app.Listen(":8080") }
बॉडीलिमिट मिडलवेयर का उपयोग करने वाले हैंडलर का परीक्षण करने के लिए, आप आईरिस द्वारा प्रदान किए गए httptest पैकेज का उपयोग कर सकते हैं। हैंडलर का परीक्षण कैसे करें इसका एक उदाहरण यहां दिया गया है:
package main_test import ( "testing" "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/httptest" "github.com/kataras/iris/v12/middleware/bodylimit" ) func TestBodyLimit(t *testing.T) { limit := int64(10) // set the limit to 10 bytes for the shake of the test. handler := func(ctx iris.Context) { body, err := ctx.Body() if err != nil { ctx.StopWithPlainError(iris.StatusInternalServerError, err) return } ctx.Write(body) } app := iris.New() app.Use(bodylimit.New(limit)) app.Post("/", handler) e := httptest.New(t, app) // Test with a body that is smaller than the limit. e.POST("/").WithText("123456789").Expect().Status(iris.StatusOK).Body().IsEqual("123456789") // Test with a body that is equal to the limit. e.POST("/").WithText("1234567890").Expect().Status(iris.StatusOK).Body().IsEqual("1234567890") // Test with a body that is bigger than the limit. e.POST("/").WithText("12345678910").Expect().Status(iris.StatusRequestEntityTooLarge) }
आईरिस बॉडी लिमिट मिडलवेयर आपके आईरिस वेब अनुप्रयोगों में आने वाले अनुरोध निकायों के आकार को नियंत्रित करने का एक सरल लेकिन प्रभावी तरीका प्रदान करता है। अनुरोध निकायों के आकार पर एक सीमा निर्धारित करके, आप अपने एप्लिकेशन की सुरक्षा, प्रदर्शन और संसाधन प्रबंधन को बढ़ा सकते हैं। आसान एकीकरण और उन्नत सुविधाओं के साथ, यह मिडलवेयर किसी भी आईरिस डेवलपर के लिए एक मूल्यवान उपकरण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3