𝗦𝗲𝗿𝘃𝗲𝗿 𝗖𝗼𝗻𝗳𝗶𝗴𝘂𝗿𝗮𝘁𝗶𝗼𝗻

स्टैटिक फाइलों को सर्व करना वेब डेवलपमेंट का एक मुख्य हिस्सा है। आपको अपने उपयोगकर्ताओं तक HTML, CSS, JS और इमेज पहुँचाने की आवश्यकता होती है।

Hyperlane फ्रेमवर्क में, आप इसे middleware का उपयोग करके करते हैं। middleware अनुरोधों (requests) को इंटरसेप्ट करता है और आपकी डिस्क से फाइलें पढ़ता है।

इस प्रक्रिया में चार चरण शामिल हैं:

  • पाथ रेज़ोल्यूशन (Path resolution): URLs को अपने फ़ाइल सिस्टम से मैप करें।
  • कंटेंट टाइप डिटेक्शन (Content type detection): सही MIME टाइप खोजें।
  • फ़ाइल रीडिंग (File reading): डिस्क से डेटा प्राप्त करें।
  • रिस्पॉन्स डिलीवरी (Response delivery): क्लाइंट को फ़ाइल भेजें।

Hyperlane FileExtension यूटिलिटी के साथ इसे आसान बनाता है। यह स्वचालित रूप से इस तरह के प्रकारों का पता लगाता है: • .html को text/html में • .css को text/css में • .js को application/javascript में • .png को image/png में

स्टैटिक फ़ाइल सर्व करने के लिए सर्वोत्तम अभ्यास (Best practices):

  1. एसिंक्रोनस I/O का उपयोग करें फ़ाइलें पढ़ने के लिए हमेशा tokio::fs का उपयोग करें। यह आपके सर्वर को ब्लॉक होने से रोकता है।

  2. डायरेक्टरी अनुरोधों (directory requests) को संभालें यदि किसी पाथ के अंत में स्लैश (/) है, तो index.html फ़ाइल खोजें। यह वेबसाइटों को सही ढंग से सर्व करने में मदद करता है।

  3. सही हेडर सेट करें सुनिश्चित करें कि आप सही Content-Type भेज रहे हैं। यदि आप अन्य डोमेन को फ़ाइलें सर्व करते हैं, तो CORS हेडर जोड़ें।

  4. सुरक्षा और त्रुटियाँ (Security and errors)

  • 404 त्रुटियाँ लौटाने के लिए फ़ाइल की मौजूदगी की जाँच करें।
  • डायरेक्टरी ट्रैवर्सल हमलों (directory traversal attacks) को रोकने के लिए पाथ को सैनिटाइज़ (sanitize) करें।
  • यदि आपकी एसेट्स (assets) निजी हैं, तो ऑथेंटिकेशन middleware का उपयोग करें।

Hyperlane आपको कुशल और सुरक्षित फ़ाइल सर्वर बनाने के लिए उपकरण प्रदान करता है। आप यह नियंत्रित करने के लिए कि आपकी फ़ाइलें कौन देख सकता है, इन उपकरणों को रूट फ़िल्टर (route filters) के साथ जोड़ सकते हैं।

Project Code: https://github.com/hyperlane-dev/hyperlane

Source: https://dev.to/tengxgfyrz67s/server-configuration-8i7